This is a kind of boring week to talk about. Don’t get me wrong, I got a lot done, but the stuff I’ve been working on is all architectural foundational stuff leading up to developing a robust and flexible entity system. I started the work, some time back, of breaking down the player character into a series of discrete behaviors, and I’ve been continuing in that vein and have completely separated each behavior into its own module. I’ve set up a system where modules can have prerequisites which they verify, and where they can pass all necessary information back and forth between a shared object.
I’ve also begun implementing a new animation system. This system will make it easy to arbitrarily assign animations to play based on flags the behaviors set on the status object, such as whether the character is facing right or is on the ground. In this way, I’ll be able to use the same behavior on different entities and just assign different animations as appropriate.
In the meanwhile, though, the short-term goal of all of these modifications is to get it running exactly the same way it ran before – part of the reason this is kind of a dull update. If I can upgrade it to the new system without breaking anything, that is a victory. Eventually the systems I’m implementing here will allow me to make improvements, but in the short term it’s just building infrastructure.
For this week I would like to: A) finish the new animation system and port all of the existing animations over to it. B) Improve collision detection and animation queuing so that the character appears to move smoothly at all times (there are still some hiccups), C) Create a simple entity manager, D) Test out the manager with a sample entity, and E) Try to create a short video of the gameplay as it is now that I can put up on youtube for the next devblog update.
It’s a pretty full platter, but I think it’s feasible. I guess we’ll find out!