Dear Princess Celestia,
Today I learned an important lesson on the value of good coding design. If you’re writing a piece of software that you intend to be modular, it’s always a good idea to plan out the design to actually function this way before you start writing any code. Otherwise, a sudden realization of a fundamental design flaw might require you to rewrite the whole content storage system in your application. And that wouldn’t be so good.
Your faithful student,
Gabu
OK, so I know that I said in my last blog entry that the next thing I’d be working on was character encounters, but as you probably gleaned from the above, I suddenly realized shortly after writing that that there was a fundamental design flaw in the way in which content was stored in my application that made it impossible to load content (images, audio, etc.) from an external source. This was a Very Bad Thing, because that obviously meant that the entire idea I had behind cases being modular and separate from the executable was not going to work. So unfortunately I had to spent the last two days effectively tearing down and rewriting the content storage system in the game to properly accommodate the loading of external content.
However, I’m pleased to report that that speed bump is now behind us, and the game is now looking better than ever. I’ve now broken off the case source compiler from the executable itself, and have gotten it to successfully compile all the case data plus all required images into a single binary file that can then be loaded into the executable. In other words, I’ve already got a very, very rudimentary version of a case editor up and running. <fluttershy>yay!</fluttershy>
As such, now I can finally begin work on character encounters. Sorry to anyone who was expecting that work sooner. I promise that when that’s done, I’ll finally actually have some more gameplay footage for you to look at, rather than just this technical mumbo jumbo. 🙂
More details for those interested after the break.
Continue reading →