Here’s the situation: Santiago, my erstwhile artist, has a long long list of requests that will go into a LOT of new game content and playable characters. It’s going to be a ton of fun to do, so to keep myself honest, while he was doing that I started refactor some shit old code.
What I’ve gotten done, I’m quite proud of. As an outgrowth of trying to make swat work properly wrt ranged combat (if you could hit with your bow and arrow, you could also swat.. AND THERE WAS NOTHING I COULD DO ABOUT IT). Now the main soul movement logic has been laid out with much shallowed nesting, and that as well as a few other problems have been resolved.
The second thing achieved is a refactor of the core game service, which hitherto managed UI, graphics calls, game instantiation and loading, you name it. Now, the game engine itself is much more a separate entity, and the game orchestration module plugs into the other stuff, using the engine as an isolated unit to call into. This will allow me to later use the engine anywhere, and resolve games from any source (once I have random seeds tied to game instances). This will allow cool stuff like game verification and playback.
Now I want a break from refactoring. I have a list of new stuff to drop in like beetles, snails, ducks, cows, skunks, buckets, milk, balloons, masks, booze, lanterns, forks, boats, snow, new traps, new NPCs, and an eternal list! The game’s really fun, and I just cut a live version because it seems really stable right now!