DragonSpine Game Engine - Dev #1
Hey all,
This is the first development log of the DragonSpine Game Engine. Eventually it will be used to run some of the games that will be coming from the group.
The last few weeks have been quite a bit of research and testing with smaller parts of the engine, including rendering and physics. There were quite a few iterations of the engine, including designs of Object Oriented Programming and Data Oriented Programming. From a developer point of view, the Data Oriented Programming is the way to go to make things generic and to keep away from the OOP’s inheritance structure that makes everything become a class.
Some big takeaways that DOP will have advantages over OOP is the ability to do scripting on anything, not just an Object that defines it. DOP also allows all the data to be considered data all the time, and all objects are data, allowing many objects to be created without their corresponding Object class that is needed.
Data Oriented Programming uses things we call Systems to do calculations on what are called Components - when using the style called Entity-Component. The Entity can be made up of one or more Components, and then the Entity is fed through a pipeline of Systems. The Systems then take the Components and do any updating on them. This usually happens on a System by System basis, so all Components of the same type are updated in succession.
This development blog will help me understand some of the finer tuned components of DOP, which I am still fairly new to myself, as well as give some insight into what is going on currently with the game engine and game development.
Data Oriented Programming for game engine’s is not something new, nor is it an easy task. I guess we’ll figure a lot of this stuff out together, as today is the day that I move from the “testing” phase to the “implementation” phase.
We’ll see how it goes.
- Mitch














