Currently we are making a big push to get the new renderer integrated into the editor application and remove the current temporary renderer. Naturally this is requiring some rework of the internals of the editor, as well as some new debug draw features in the renderer side, all of which is in progress now. Additionally, more work is going in to the drawer UI, and related tasks so that it actually becomes viable for use in the editor. We’ve also made some strides in reducing the complexity of our source control setup (no more git submodules, yay!), and made our premake scripts a little smarter. The end result is that it’s a bit easier to get started with Helium, so what are you waiting for? Give it a try.
We are now definitely hitting our stride with the unification process. The pieces are starting to click into place and we are making good progress. It looks like we are on track to begin unifying our object model (the data that backs each in-game object) between the tools and engine next week. A lot of the design work for this has already been done because the line is somewhat blurred between these low level systems that we have been integrating together. Hopefully that makes for continued progress at this pace.
Getting back into the groove after the break. One of the last things we did before we left was design a system for keeping reflection information for our data in memory, even at runtime, which gives us a large boost to flexibility… the difficult part about this being that the runtime portion of the system must adhere to stricter performance requirements. It must be decently fast, and it can’t chew up a lot of memory. Implementation based on that design is now underway. Besides that we are also in the middle of getting the short term task list back in order after our vacation, re-working the “canvas strip” UI to more efficiently use the horizontal tool property space and Andy and I are also preparing for a quick trip to China.
This was somewhat of a short cycle… we lost about a week of time to the holidays and what not, but that being said, we did get a few things squared away. Some progress was made on the unification stuff, we have an actual design in mind of the system that was blocking us previously and we are currently chipping away at that. We also had a chat and laid out the differences in our use of enumerations across the code base, the unification of which is something we will have to tackle soon.
The code merge of the core systems in Lunar and Helium is complete, it all lives under the same roof now. Along the way we removed some duplicate functionality in the cases where sharing would be trivial. Any system that led us into a sticky situation we saved for later discussion, the first of these being our serialization system. Mostly this cycle we learned that our serialization systems are too diverse to simply merge into one, so we decided to merge the parts of it that are similar, and move on for now, at the very least letting us continue to work towards environment construction even if the serialization solution is not perfect.