It’s remarkable how much time one can spend on developing a game without getting into any goddamn content. I worry that maybe I’m doing this wrong, but I also kind of don’t think it matters. I’ll get better as I go, even if I end up losing lots of time to working on the wrong stuff. Patience… For now.
So, this week I tidied up the particle effect class to the point where I think it’s more or less done, but as yet remains untested. Before I can test it I need to rip out a bunch of old code for creating and displaying level details, which is a substantial undertaking in its own right, and before I tackle that I’m writing some utility functions to save and load Flash Vector Graphics drawing data to and from XML. As I work, I keep noticing other things in the code base that I should probably fix before beginning real content production…
As well as the state-reversion issue which I noted last week, and which is still outstanding as a task that needs addressing, I’ve realized that my method of saving and loading things like entity and animation data are rather backwards, in that it saves a separate copy for each entity or animation instead of reading them all from a common source. This is a bit inefficient in terms of storage space, but I don’t care about that — the real problem is that this means that if I later decide to update the animation, it will have to be updated for all the instances in which it is used. This is really shitty! This is another problem which I believe had occurred to me before, but I put it off and forgot about it until now, and is a fairly severe one.
Once I finish up the particle stuff and test it out, along with all of the supporting functions I’ve been developing, I’m going to have to go through my code base and revamp the whole thing to handle both the level-reversion issue and the shared-resource issue, now that I’ve identified them. I don’t think either of these are huge problems, in terms of the amount of work that it will take to fix them, but it will be a finicky process that could introduce errors elsewhere, so I definitely want to make sure everything else works before I get into it. Once all that is done, then I can get back into the particle/detail editor, the final outstanding major component to be developed in the game engine.