I hate it when I go through these long periods where I can’t even compile the game because too much is in flux. I am at this point completely overhauling the particle system, expanding it to support multiple different types of drawing and increasing its efficiency. I think at this point it’s slowly coming together, but it will probably be a couple more days before I get it all fixed up, and then several more figuring out how saving/loading of effects will work and retrofitting those changes back into my test levels so that I can actually see the system in action. Maybe I’ll figure out a better system for testing out the changes, but it will be a substantial amount of work at any rate.
The other major thing that I’ve been thinking about in relation to the project is the general idea of reverting levels. For instance, right now I can quickly go into a level to test it from my editor, since the editor just runs in-game: However, any changes made to the entities in testing will be carried over to the level I’m editing, since it’s all just the one level, which isn’t really desirable behavior. It’s kind of sad that it took me this long to realize this would be a problem – though it may have occurred to me in the past, I’ve put it off and forgotten about it rather than actually sit down and address the issue. So, I’ve been thinking about how I want to change my code to make this easy to do…
This also, though, has implications for the game design itself: The enemies in the game, in the story, are creatures animated by ‘sparks’ of essence, and each is unique, and when an enemy is defeated you claim their spark – it doesn’t make any sense for enemies to respawn after that, but making it so they never do may leave the door open for lots of ‘gamey’ behaviors like sneaking into a room, eliminating one enemy, and then leaving to reset them, over and over again, until the room is cleared. I haven’t completely decided how to handle that problem (if it even is a problem), but it’s something I’ve been thinking a lot about.
Anyway, hopefully by next week all of the stuff I’m working on will be up and running, and I can start working on a proper editor for it.