I found myself with some free time during the last week and started working on a new version for Crimild. The changes I’m introducing came both from past experiences and from other developers demand.
The first group of changes has to do with some code refactoring over existing features. I’m redesigning the Simulation Framework (once again) in order to make it more flexible so I can finally write the Scene Editor I’ve been thinking about during the past year. In addition, one of the things that didn’t work out well was the way behavior are executed. Having a single BehaviorManager object lead to lot of confusion and annoying issues whenever we needed to execute only a single set of behaviors for any given type (i.e. there’s no way right now for me to execute Update behaviors for a single branch in the scene graph). And last but not least, I’m going to implement a component-based design for Nodes in the scene graph, replacing the way Effects, Render States and Behaviors are attached to Nodes.
Among the newest things I have in mind are an improved Rendering system (completely based on shaders this time) and a messaging system to the Simulation Framework, that it may be moved to the Core libraries depending how it works out.
As a side note, I’ve been doing some research about the Boost libraries. I’m planning on using some of them to improve the development process, but I’m still not sure if I’m going to use them in the final build.
Finally, I’m working on the engine’s documentation, reviewing the existing docs (yes, there is some documentation right now) in order to make it public at some point in time. I’ve already written the first two basic-level tutorials and I’m working on an iPhone-oriented tutorial series. It’s a good way to put my insomnia to some use.
There’s not ETA for Crimild 0.8 yet, but I’m guessing it’s not going to happen until late September or so. There’s a lot of work ahead.
Well, that’s it for the moment. I’ll keep you posted.