I want to learn how to organize and manage code/logic in GDevelop for large game projects.
I want to avoid pitfalls such as:
- delays in changing between levels.
- lag from opening/closing a universal pause menu.
- long loading times, both for level to level transitions as well as during booting up the game itself.
- performance problems that subtly stem from a use of a particular function or behaviour even if everything else was done sensibly to avoid lag.
So, I have a battery of questions to the more experienced users/devs of GDevelop:
If you’ve made a large Gdevelop project before, whats the biggest mistake(s) you’ve made that you’d want to do differently in a future large project?
When constructing your game to be as smooth as possible transition-wise from screen to screen (level to level, main menu to level, level to main menu, main menu to options menu etc), did you make the entire game as a single scene or is each screen seperate scene?
Are your main menu, options menu and pause screens seperate scenes or do they all exist within the same scene(s) as your levels as addons?
Do you know of any information resources, blogs, YT channels, guides or tutorials that show how to better organize more complex/larger projects for GDevelop?
What are some subtle dev tricks you found in GDevelop that were useful in your later projects, like any little or big thing that made something to implement far easier, become more optimized or lead to better organization within your project?
Are there any neat coding structures that you have used in your projects that improved/eased your ability to expand or maintain it long-term? (stuff like Model-View-Controller, MVVM, certain programming design patterns etc.)
For performance reasons, do you use pooling when handling spawning/deleting of objects, for things like bullets, enemies, explosions etc?
(By pooling, I mean pre-spawning everything in the level that the game will use in advance and simply hiding/showing it as needed instead of actually creating/deleting each entity.)
Any answers would be much appreciated and good info would help me or others browsing this thread to complete a big project much faster with better quality.