Alright, it’s has been a while since I posted anything here. But here it goes.
For the past couple of weeks, I have been thinking of changing the engine architecture. Instead of creating a class for each object in the game, (for example, to add a player in the game you would create a player class and call it inside the scene) now you would add a node to a scene. A node can be anything from a Camera, Sprite, Mesh or a Light node, etc… Each node will be automatically initialized, loaded, updated and drawn in the scene without you the programmer having to go and call each function for each class.
Each node can have n number of nodes as child nodes.
So basically it will kind of follow the same architecture as Godot, Unity, Oger3D engines. Eventually, when I add script support, you will also be able to add a script node.
I haven’t fully settled on this architecture but to me, it seems the best way to go if this is going to be an editor based engine. I’m not sure yet.
My main goal for this engine is speed. Unity takes a billion years to open or create a new project. It also takes a billion years to compile anything. Editing code, while the game is running, is also not great at all. I don’t want to wait around for 20 seconds for a project to compile and run. I want it to run instantly. Unity takes forever to even load a new scene, and I’m running a 16 core 1950X. Godot surprised me with how fast it builds and runs a project. If I can make my engine anywhere near as fast Godot, I will be very happy. Honestly, I would contribute to the Godot team, but I don’t think I’m good enough. I don’t think I’m at the point where I can contribute to something that big.
Anyways, those are my thoughts.