Component base architecture
Decision on big changes in engine architecture aren't easy. I think that transition from class base approach which looked like that :
class CModelObject : public CGameObject
class CPuppetObject : public CModelObject
class CChcaracterObject: public CPuppetObject
to component base ( like in Unity 3D ) was one of the biggest and most problematic changes that I done in White Rabbit Engine in last years. I needed to change a lot of code, don't break the game that I have and in the same time change my approach to resolving problems.
Right now transition going nicely and I'm happy with achieved results but if somebody ask me: if I would decide to do it again. I would need to think twice before answering.
New game GUI system
Old GUI system shown in previous presentation was only some base prototype. It was hard to use, hard to extend and didn't allow on creating anything very efficient. But it worked so at that point it was enough.
But at some point the change was needed and it happened. Following ideology that GUI should be something that is easy to use and have quick iteration speed new system was created. This time with dedicated editor.
|GUI Editor : Opened L.B.A. in game menu.|
For me system itself is some kind of experiment. It's base on a little bit weird approach that when you thinking about GUI but we will see how it will end. From my experience with it (till now): I like it. But how it will end in long term I don't know. We will see.
White Rabbit Engine is gathering all my experience and ideas about how quick and efficient development of game should look. It's possible because I works on tools that I develop which is sometimes surprising/terrifying experience.
So because of that I developed one rule to deal with it. If something irritate me: it need to be changed. I follow this rule in code and tools. Sometimes this changes take one day, sometimes week but I see that in long term all of them allow me to increase speed of development. Which is good.
So a lot happened in last few months but this is only beginning. I work really hard on game and technology behind it. It's not easy. Project growing and right now contain :
- 605 header files (*.h)
- 484 source file (*.cpp)
We need to add to this all other things : plugins, scripts, models, textures, icons and few other things I don't complain that I don't have anything to do. But still I try really hard to finish public pre-alpha build on time.
So to next post.