I promised I would talk a bit about Terrarium, so here goes...
Well, I'm back to hammering away at the Terrarium code base. I have to say, it is probably a better gaming code-base than I would care to admit, and it appears we actually did a good job in most places at making it extensible and customizable. That isn't really the big push right now though. The big push is to get the source code into the hands of the community (that would be you and I), so that there might possibly be some derivative works.
Right now I'm working through most of the small issues that are left in the Terrarium. Actual code issues that need to be cleaned and not gameplay functionality. So the source release won't have much over on the previous public release. So what kinds of things are happening?
Well, the largest issue we've tackled is the DeserializeAnimal with a null array. While this wasn't really an engine issue, like most people thought, it was causing some grief in the community. I guess you could say the gameplay around this member has been improved to avoid developer confusion. I'll talk more about this little guy in a separate blog. I have to get some small related code-bits approved before I can give you any real meat.
There was another issue with a floating point truncation issue when converting to int that was plaguing some players (but not others because it isn't consistent). Some users were finding they had to put one extra point into a stat to get the benefit since numbers were being represented in floating point as (3.999999...), and then cast down to 3. Adding an extra point (and getting a warning from the introduction system) would put you over the top with something like 4.2499999, and you'd actually get that extra umph you were looking for. This was an unfortunate issue, and only some users ran into the problem. I have 3 machines right now that I can't repro the issue on, and another that I actually can, so it is very frustrating.
Maybe not such a big issue, but a real big push, has been the ability to run under lessened OS privs when running the Terrarium. We want people to be able to run without having Admin/Power User privs and instead just run as a normal user on the machine. This was probably one of the most daunting issues in the Terrarium codebase to fix because games generally own their directories and we don't get to. All of our IO has to happen under the AppData section of the disk. We had lots of code that broke this rule, some in the graphics engine, some as part of the updater features, some logging functionality, etc... This should all be sorted out now, and after installation, you should be able to launch and effectively run the Terrarium under normal privs. Enjoy!
Jeez, all the stuff I get to do sounds so boring already. The man with the real plans is Mitch Walker. Check out his blog, since he is the guy responsible for the cool new graphics displayed at the PDC, and he'll be responsible for adding/approving any cool tweaks we do to the engine before the source release hits the web.
I still have a few tricks up my sleeve though with cool additions to the Terrarium code base after it is released. Hopefully, we can get a good amount of community excitement and build an external support structure for new code additions, new graphics, and a public array of game servers for users to connect to. As I get some free time, I'll start talking a bit more about what I have planned and how it might suck away your free time in the months after the codebase is released.