We're going to be starting a new regular blog post sequence to keep you updated on our status and changes that are going within the project. During times of rapid activity, this should run every week; other times will be every few weeks. This post will be a long one, with developments from the past two weeks.
- Git Repo split: The Git repo split that we've been planning has been finished. We now have two separate repositories -- one for our engine, which is our current development focus, and one for our game, which will come later. This makes it easier on us and on packagers to separate the engine from the game in releases. This also makes it easier for any users of the engine -- they don't have to download, build, and install the entire Humm and Strumm game to develop a game using our engine. We're really excited about our plans, which set us apart from the other FOSS engines. We hope game developers will be, too.
- C++11 requirement: This one has been a major decision for us. C++11 is still very new, and compiler implementation of it is lacking in many areas. However, it gives us amazing new functionality that is hard to get otherwise (specifically, standard <regex>, shared_ptr<T>, and most importantly, multithreaded awareness and standard thread classes). This has been causing us some minor headaches with cross-platform support, as libstdc++ doesn't support some features we use, MSVC's support is depressing, at best, and we need to find alternatives in some cases. It also limits our users to using new compilers, which we aren't terribly happy with. We hope the situation will improve speedily. For reference, Scott Meyers has a set of references for C++11 support.
- MSVC11 support: Tim has been paying special attention to improving the experience on Microsoft's newest Visual C++ compiler, committing lots of fixes and enhancements (like an SSE fix and better organization of source files and header files in the IDE).
- Code Cleanup and Code Robustness: We've eliminated a little deadweight in the build system and replaced it with a nicer interface, which should make it easier on developers and users alike. I (Patrick) have a branch in my public repo which, when we finish testing it, will fix support for Clang C++11, make for a more stable parser of ISO 8601 dates, and simplify several aspects of the build system.
Those are the big changes from the past few weeks. Over the next few days, we will be designing our window system code from the ground up, to make it more stable. There have been reports of it not working on some systems, so we will aim to make it simple and modular.
If you have any suggestions, questions, or want to help out, join us on IRC (we're #hummstrumm on FreeNode) or send an email to our hummstrumm-user mailing list.