this post was submitted on 03 Jul 2023
1 points (100.0% liked)
GameDev
3818 readers
1 users here now
A community about game development.
Rules:
- Adhere to the general lemmy.blahaj.zone rules (#1 being no homophobia, transphobia, racism or other exclusionary content)
- Self-promotion is fine as long as it's not spammy - share your progress, insights, techniques and mishaps! If you recently posted, update the previous post instead of filling the frontpage with your project
- Hide NSFW/NSFL content behind a clear warning, for example: [NSFW Nudity]
More rules might follow if they become necessary; general rule is don't be a pain in the butt. Have fun! ♥
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
If you want a semi modern looking game, you really should just use godot. There is a minimum amount of complexity which is annoying, but you can use chatGPT to walk through it. This minimum amount of complexity is kind of just necessary. Once you spend a day or so messing around with it, installing some other tools to do things like create textures and export them. You start to understand it and then you appreciate how simple and easy it is to use.
Things like the scene tree might seem annoying at first, but it's the neatest way to really handle memory in a sane way. This is the same reason object oriented programming is how it is. It just makes managing memory easy without the need for garbage collectors and other junk.
In a scene tree, every node has a parent, and perhaps some children. This means when you decide to unload your level, you just remove the parent node and all the nodes that are descended from it get marked to be cleared from memory.
Other complexity like the material system is just needed to have a game that doesn't look like it was made in 2001. The various textures you need for one object are used by the deferred renderer to generate all of its buffers. Compiling these just in time is too slow. They need to be prepared ahead of time.
Using godot just makes everything easier once you learn how to use it. It also makes many of your things reusable. Once you have a good character controller you can just use it in all your projects which are similar. Once you figure out how you want to structure your data, you can just write an API on top of godots built in file IO functions to standardize your data in a way that you prefer. Godot if using the scene tree and node system will manage data for you easily. No memory leaks, no manually allocating pools of memory. No backtracking to make sure you are removing everything. It has built in physics, lighting, post processing, built in support for shaders and effects. It has particle systems, rigid and soft bodies, animations. It has a built in 2d and 3d gridmap system which will automatically batch your stuff into single draw call and greedy mesh them. The gdscript is very simple. It's very loose. You can easily make a game with just gdscript and the built in tools. Even a voxel game.
Other 3D engines can work, but you are going to be very limited compared to what you can do in godot. You will likely have to program at a very low level which is difficult if you aren't using something like a node graph.