Discussion Is re-inventing the wheel worth it?

>you'll make the rounds for it
>you'll get a round of applause for it
>your resume will be more well rounded
>people won't call you a square anymore
>a lot of famous people invent or discover circles, like how Stephen Hawking discovered the black circle o algo
>spherical lyrical miracle individual


More pros than cons
 
I think what you want is learn data oriented design rather than ECS (cancer). I don't think Zig or Rust are good languages right now because they have no libraries, unstable, llvm mess, and long compile times with huge binaries output.

I would say Go is bad because it is garbage collected you'd take performance hits each time it cleans up. You can remedy it by avoiding allocations at run time. For example only allocate/deallocate every time you load/unload a level.

>Is it possible to have a programming language that doesn't suck, easy to read, easy to write, but extremely performative and cross platform?
yes and it's called C [wholesome] , but seriously I'm trying to write a 2d game with C and it's not so bad merely a different approach to C++. Instead of writing `Object.update(world)` I write `update(world, object)`. Regarding reinventing the wheel in C with data structures, I just allocate a 16000 array and I don't need more.
Yeah but C has headers and I find them annoying to deal with. Go looks easier to write and is garbage collected but you still have to deal with like memory pointers and shit. It is a lot easier than c++ albeit, but is fucking picky as shit, requires semi colons after every line and has a go at you if you don't. Also, you are making a 2D game in C, been done before so many times.
 
I've tried reading up about pointers and stuff, can anyone explain to me their purpose?


Why would you use a pointer and not just use the age variable? I don't really get it, other than maybe something like global variables?
According to stack overflow, apparently if you do something like var number = 2; for example if you use the number variable in a function or anywhere else, the variable is copied instead of directly used and thus pointers simply point to where the variable is stored so we can get the variable without copying it. So why not just use pointers for everything? Marge.
 
Last edited:
I've tried reading up about pointers and stuff, can anyone explain to me their purpose?
primitive types like integers, floats you should pass by value. But larger objects like a class are huge to copy, and you usually want to modify them, so you use a pointer.
So why not just use pointers for everything?
retardGOD
So why not just use pointers for everything?
because it's not necessary and just makes code less readable and more brittle (more chance of null deref and IDF blowing up your computer)
 
primitive types like integers, floats you should pass by value. But larger objects like a class are huge to copy, and you usually want to modify them, so you use a pointer.

retardGOD

because it's not necessary and just makes code less readable and more brittle (more chance of null deref and IDF blowing up your computer)
So just always use pointers for classes and structs then? And also variables with a really high size, like a file loaded as string or something like that?
 
What do you think makes ECS cancer? I mean it seems like cancer to me but I'm a stubborn retard so I'm an unreliable judge
I feel that they add a lot of overhead, to get them working you need to setup groundwork. I prefer to write things as they are. I'd would just have structs/classes with repetitive information then make everything a component.
 
No, trying to change something that already works (even if just barely) almost always ends up backfiring, as we see in the original post.
 
I think what you want is learn data oriented design rather than ECS (cancer). I don't think Zig or Rust are good languages right now because they have no libraries, unstable, llvm mess, and long compile times with huge binaries output.

I would say Go is bad because it is garbage collected you'd take performance hits each time it cleans up. You can remedy it by avoiding allocations at run time. For example only allocate/deallocate every time you load/unload a level.

>Is it possible to have a programming language that doesn't suck, easy to read, easy to write, but extremely performative and cross platform?
yes and it's called C [wholesome] , but seriously I'm trying to write a 2d game with C and it's not so bad merely a different approach to C++. Instead of writing `Object.update(world)` I write `update(world, object)`. Regarding reinventing the wheel in C with data structures, I just allocate a 16000 array and I don't need more.
Built for Big Soulja Boy Cock
 
As some of you might know, a while ago I was making a roblox clone using Godot and it was going smoothly but a part of me can't help but think about performance concerns. While BlenderChud says a lot of dumb things, ultimately, using an engine like Godot might be a bit resource intensive for what I want to make, it uses a lot of ram and has to rely on shader parameters to get textures functioning properly, using too many materials causes the game to lag a lot and loading places takes a fair bit of time, althoughbeit in normal Roblox it takes some time to load too. My project functions and that is good enough, but ultimately I am wondering if developing purely for performance is the best thing that I can do and while Godot comes with a toolset of things that are great, some other things are not so great. It's built in physics engine might not be up to par.

Roblox places can have a lot of parts in them aswell, thousands, maybe even 10 thousand. Most of them even are designed to explode or perform physics calculations and on actual old Roblox clients this causes significant lag, but with a modern updated engine, this lag could be removed entirely. I also want to write a lua interpreter so that scripts can be read by the engine, but doing so using GDScript is probably a bad idea because of how slow GDScript is compared to other languages. It is also possible to implement lua support via an addon and perhaps use that, but I'm wondering if maybe it is better to use alternatives.

For example, I've been looking into other languages like Go, Zig, Rust, etc, languages that are not interpreted like Python or Java. And I've been wondering if it's a better idea to use another language like Go to re-develop my Roblox clone but with a focus on performance. Doing so is simple, all I need is an XMLParser, a Multiplayer System, A physics engine, a 3D engine, something that handles textures and it should be as easy as loading a place = load the xml file, parse that to spawning 3D cubes with textures with enableable physics for each one, controls, controller support, and then you'd have your Roblox clone. Oh and also audio.

The issue is that I can't find a 3D game engine with physics for Go, and if you're looking for a 3D Game engine with physics for C++ then you might aswell just use Godot. I will probably have to rely on using a lot of libraries or implementing things entirely by myself which will take an extremely long time. Not to mention, a lot of the libraries I need are made solely in chinese or something, or don't even exist yet. And what about cross platform shit? I don't have Windows and I don't even want to think about attempting to install it just to test if it will work cross platform. And do I really have to deal with manual memory management and pointers and stuff?

It just seems like too much hassle. I get told this a lot "just make your own engine o algo" but it's really not that simple, it's extremely counter intuitive, the only option we have at this point is Godot. There might be another way, like using GDNative extensions to make code faster or something like that, but I am wondering if there truly is an easier way that will be good for performance that doesn't require me to spend fucking hours debugging a shitty rendering or physics issue or something like that. If I actually re-invent the wheel, I will quite literally just be recreating Roblox from the ground up. Even then, Roblox doesn't matter, it's making any kind of game with any different programming language at all, it just doesn't seem worth it. Godot is the only way, other engines just suck or aren't even as feature complete or as user friendly as Godot.

So I feel like the answer is no, but what do you think? Is it possible to have a programming language that doesn't suck, easy to read, easy to write, but extremely performative and cross platform? Java is cross platform and has garbage collection but is interpreted which means you have to download Java to even use it which sucks for user's sake unless you bundle in a version of Java with your game or something like that. Python is interpreted, easy to read and write but takes forever to load and performance wise, sucks ass. Go seems like C but easier, can be compiled, but might not be cross platform worthy. Zig also looks like C but better. It might also be possible to make an entire 3D game using lua OpenGL shit but... I wouldn't dare to be honest. And Rust just seems retarded in my opinion.

So if Godot isn't an option, do I really have another choice or do I have to spend years developing a """game""" and all I have to show for it is a basic 3D renderer geg.
SHUT THE FUCK UP!!!
 
Nu-Wheel
1744991568001.png
 
As some of you might know, a while ago I was making a roblox clone using Godot and it was going smoothly but a part of me can't help but think about performance concerns. While BlenderChud says a lot of dumb things, ultimately, using an engine like Godot might be a bit resource intensive for what I want to make, it uses a lot of ram and has to rely on shader parameters to get textures functioning properly, using too many materials causes the game to lag a lot and loading places takes a fair bit of time, althoughbeit in normal Roblox it takes some time to load too. My project functions and that is good enough, but ultimately I am wondering if developing purely for performance is the best thing that I can do and while Godot comes with a toolset of things that are great, some other things are not so great. It's built in physics engine might not be up to par.

Roblox places can have a lot of parts in them aswell, thousands, maybe even 10 thousand. Most of them even are designed to explode or perform physics calculations and on actual old Roblox clients this causes significant lag, but with a modern updated engine, this lag could be removed entirely. I also want to write a lua interpreter so that scripts can be read by the engine, but doing so using GDScript is probably a bad idea because of how slow GDScript is compared to other languages. It is also possible to implement lua support via an addon and perhaps use that, but I'm wondering if maybe it is better to use alternatives.

For example, I've been looking into other languages like Go, Zig, Rust, etc, languages that are not interpreted like Python or Java. And I've been wondering if it's a better idea to use another language like Go to re-develop my Roblox clone but with a focus on performance. Doing so is simple, all I need is an XMLParser, a Multiplayer System, A physics engine, a 3D engine, something that handles textures and it should be as easy as loading a place = load the xml file, parse that to spawning 3D cubes with textures with enableable physics for each one, controls, controller support, and then you'd have your Roblox clone. Oh and also audio.

The issue is that I can't find a 3D game engine with physics for Go, and if you're looking for a 3D Game engine with physics for C++ then you might aswell just use Godot. I will probably have to rely on using a lot of libraries or implementing things entirely by myself which will take an extremely long time. Not to mention, a lot of the libraries I need are made solely in chinese or something, or don't even exist yet. And what about cross platform shit? I don't have Windows and I don't even want to think about attempting to install it just to test if it will work cross platform. And do I really have to deal with manual memory management and pointers and stuff?

It just seems like too much hassle. I get told this a lot "just make your own engine o algo" but it's really not that simple, it's extremely counter intuitive, the only option we have at this point is Godot. There might be another way, like using GDNative extensions to make code faster or something like that, but I am wondering if there truly is an easier way that will be good for performance that doesn't require me to spend fucking hours debugging a shitty rendering or physics issue or something like that. If I actually re-invent the wheel, I will quite literally just be recreating Roblox from the ground up. Even then, Roblox doesn't matter, it's making any kind of game with any different programming language at all, it just doesn't seem worth it. Godot is the only way, other engines just suck or aren't even as feature complete or as user friendly as Godot.

So I feel like the answer is no, but what do you think? Is it possible to have a programming language that doesn't suck, easy to read, easy to write, but extremely performative and cross platform? Java is cross platform and has garbage collection but is interpreted which means you have to download Java to even use it which sucks for user's sake unless you bundle in a version of Java with your game or something like that. Python is interpreted, easy to read and write but takes forever to load and performance wise, sucks ass. Go seems like C but easier, can be compiled, but might not be cross platform worthy. Zig also looks like C but better. It might also be possible to make an entire 3D game using lua OpenGL shit but... I wouldn't dare to be honest. And Rust just seems retarded in my opinion.

So if Godot isn't an option, do I really have another choice or do I have to spend years developing a """game""" and all I have to show for it is a basic 3D renderer geg.
what is clittygoy yappin bout
 
Back
Top