It has been some time since my last post, but I have been far from idle. There have been no new (Alpha) releases lately, either. Despite seasonal distractions, all of my efforts have been focused on a renovation of the core content system. The software design is significantly better; but what does that mean to you, the player? Absolutely nothing! The next release should play exactly the same as the last one, albeit with a sleek new content model.

From a software project standpoint, I had to weigh the consequences of the new design versus maintaining the existing (mostly working) design. Anticipating major ripple effect throughout the code, I decided to take the plunge (pun intended).

From a software design standpoint, I planned out the enhancement to avoid breaking existing systems until the last minute, by implementing the new code separately. I moved old classes to legacy packages for easy identification, for later removal. After the new content implementation was working on its own (granted, only with minor developer testing), it was time to integrate the rest of the game systems. To my body of code, it was like breaking every one of its bones, just to reset them to heal in a better position.

Since dis-integrating the old system, it has taken me about five days of furious coding to re-integrate with the new classes. The code is remarkably simpler, and is even more capable than the previous model. For example, I can more easily manipulate content without fear of destroying the entire database! When the old system is expunged entirely, I expect another steep drop in lines of code.

From a software management standpoint, I should have isolated my changes in a branch, to be merged back to trunk after complete. That would have allowed me to support existing releases while the branch remained broken. Also, that would have allowed me to easily abandon my changes if this whole upgrade when terribly wrong…

… which it might still do. At this point, I can compile my 1659 source files, but I’ve not yet run the game with the changes. In fact, I know of several gaps that will cause the system to crash spectacularly, until corrected. Once I have a working game again, I’ll post an update for Alpha Playtesters to enjoy. With any luck, you won’t notice a single difference.

Share and Enjoy:
  • StumbleUpon
  • Facebook
  • Twitter
  • Digg
  • del.icio.us
  • Reddit
  • Technorati
  • Google Bookmarks
  • Slashdot
  • N4G