As an interlude while working towards the last of three design diaries, here’s a short progress update on the general development situation. I am currently focusing on two areas: save game functionality and expanded dungeon mechanics (incidentally the subject of the upcoming design diary). Why two things at once, as a single developer, working in his spare time? Isn’t that counterproductive. In general, yes. But some parts of development are just plain boring, and it’s healthy for motivation to break the monotony with work on more interesting parts of the game.
(TL;DR at the end – rambling has begun)
Save game functionality, as regular readers may remember, is one of the areas I find pretty boring. It was present and functional at one point, quite some time ago, but I wasn’t happy with the technical design as it was brittle and heavy to maintain. One thing I’ve often been asked as a programmer (or heard asked of colleagues) is “Why don’t you just do it right the first time?”.
It’s an interesting question and there are many valid answers, all of which can help understand the rather arcane nature software development. One of them is that as programmers, when working on new software, we’re in many ways closer to the realms of biology and chemistry than to the realms of mechanical engineers and physicists. We have some materials, a very good understanding of what they do, a world of examples and prior work, but still we are dealing with complex and unpredictable system, the viability of which are not really known until quite late in the process.
Making the save game system is like creating a medicine for an artifically engineered life form. I’ve made medications before. I’ve engineered life forms. So I know what definitely doesn’t work, and I have a host of different approaches, that I know can be made useful. Unfortunately Wizards and Warlords isn’t a completely finished being yet. The DNA is in place and so is the basic physiology. But the details are still being worked out, and that requires constant modifications to the save game “medicine”.
It turned out the basic design was not optimal and was requiring a lot of extra work to maintain, so I decided to shelve it and return to it later. This saved me the maintenance work, and also let me rework some of the parts of the engine which were troublesome in relation to save games.
Later is now, as the lack of save game functionality is impeding testing and also making the game difficult to enjoy as a real game. But the good part is that I’ve become very familiar with the biology of the game, and can use the lessons learned from my early save game code to make a much better system, with less overhead and more robustness. I am probably close to halfway done, which since I am a programmer, and thus chronically optimistic about my own progress, means I have done about a quarter of the needed work.
That was an awful lot of rambling and perhaps not as good an analogy as I initially thought it would be. So here is the TL;DR I referred to above:
- Working on Save Game functionality, which is one of my goalposts for reaching Beta
- Working on expanded dungeon mechanics
- After Save Game drudgery is done: Custom wizards, more tool tips, focus on early game mechanics and balance, SUPER SECRET BATTLE SYSTEM VERSION 1, improved follower skill system.