My major accomplishment this week was getting game entities set up so they can be exported to and imported from xml files. This is the culmination of what I’ve been trying to achieve by breaking each entity down into a set of discrete behaviors and parameters – it is now possible to drop any entity or set of entities, crafted from any arbitrary set of behaviors, into the game, while it’s running, and have them function as intended. This lays the foundation for creating an Entity Editor, one which allows real-time modification of entity parameters and which allows those created and placed in this way to be saved alongside a level. It’s a big step.
I have also been experimenting with entity interactions. These are relatively simple and straightforward in structure, but the specifics can be tricky: For instance, in trying to solve the issue of how to make attacks effect enemies, it’s now easy to make it so that when the player attacks an specially constructed attack ‘process’ tests itself against all entities: However, I still have no method of testing whether or not an attack hits, nor any infrastructure for making such a test. This is something I’ll have to work on over the next couple of weeks, since I haven’t quite decided how I want to approach it yet.
After I stalled out on the coding work, I started getting into the additional animations I’ve decided I need. First up, for simplicity’s sake, is the animation for sliding down slopes – in this instance, I use the term ‘animation’ loosely, since each of these are really just one frame.
I have these all implemented now, and they seem to work fine, but they also expose some minor glitches in the collision system, making the player flicker on and off the surface of the slope as she slides down, which I will need to address at some point here.
This actually raises a new question: If the player attacks while sliding down a hill, what attack animation plays? Does that change based on whether she’s facing into the hill or out of it?
Regardless, for the coming week I will be pursuing these tasks: A) Creating a neutral jumping attack animation, B) Creating a harvesting animation, C) Improving collision detection, D) Creating a system of melee attack interaction, E) Creating moving platform/destructable wall entities that interface with the collision detection system, F) Creating the framework for an entity editor. Obviously this is a lot of stuff, and I don’t intend to finish all of these, or even start all of these, over the coming week, but it’s useful to have a short list of things to work on next. I’ll pick these up and work on them in the order they take my fancy.