At this point, I’m more or less comfortable calling the animation system done. It’s way better, now, than what I had before, and should make implementing animations I devise for any other entities super quick and easy.
Among the biggest improvements I made this week was a system where each animation is tagged with a number of attributes based on its file name. Thus, an animation file titled “Crouching.Turn.Left.xml” is tagged in the animation system with “Crouching”, “Turn”, and “Left”: This means that I can, for instance, tell the turning animation to play whenever the game’s movement system thinks the player is facing right but the current animation is tagged with “Left”. This was kind of the last piece in the puzzle for creating a really robust animation command system. Some sort of boolean logic gating for animations would, of course, be even more flexible, but I really don’t imagine that I will ever find the system I have now to be insufficient.
After making these improvements to the animation system, I set about reorganizing all of my animation data to fit into it. The most time consuming part of this was finding, among the mass of frames I had exported from my animation files, those which were actually being used, renaming them, centralizing them, and updating the xml files to match the new data. I finished doing that particular pain in the ass during a 13 hour train ride yesterday, and have uncovered something which… worries me slightly.
As they are now, the total frame count for all animations comes to 287 frames. There are still a few animations left to be added, such as taking damage, being defeated, standard air attacks, and sliding down hills, so it will probably end up being over 300 frames. 300 frames which I am supposed to hand draw.
Even at 10 a day, which is pretty optimistic, that’s an entire month of work!
If that were all, then I’d be okay with it. I’d settle in and take a month or two and get it done and be secure in the knowledge that I was going the extra mile to secure the really beautiful game I wanted to make. However, those are just the chapter 1 animations. I want the character to change in certain ways over the course of the game, and though none of the animation sets will likely be as difficult as the first and I can reuse a lot of the work, we’re still talking about probably at least 600 or 700 drawings! Just for the main character. All of the backgrounds, all of the enemies, all of the UI elements, they will ALSO need to be hand-drawn.
It is… an intimidating prospect. If I was able to work full-time on this, with no distractions, for a solid year, this might be a reasonable amount of work for a dedicated artist. As a solo game developer? It’s madness. It’s impossible.
I’m still weighing my options here. I think it will probably be something involving drawing each body part from several angles and in a few different poses and then cobbling the character’s body together from those based on the prototype animations, but I’m still not sure.
Fortunately, I have some time to think about it. Fortunately, the final animations are a task which is still a couple of months away at least. This is something, though, which I will have to figure out, and relatively soon.
I also spent some time this week working on the collision detection system. It’s hard to make definite progress in that context, because so much of it is just figuring out what feels right and trying to make it better. In many ways, it’s essentially complete. I have certainly seen games ship with worse collisions. But… it’s not a coincidence that I’m focusing on the animation and the collision systems at the same time, because these two together are what create the feel of the game. This is something an experienced player will notice the instant they pick up the controller, and it will affect how much they enjoy the experience, subtly, every single moment they play. I have well learned the dangers of perfectionism, but this part of the game is the proper place to be perfectionist. If any component of the game deserves to have time lavished upon making it as good as it can be, this is surely it.
All that being said, it’s definitely coming along. The main problem remaining is just that steep slopes don’t behave in a very satisfying way: I shall poke and prod, modify it bit by bit, until someday it feels right.
Finally, I spent some time with video editing and capturing software and put together a short gameplay video of what I’ve got so far. There’s a lot of seams at the edges, particularly since it was a bit rushed and I didn’t have a lot of high-quality software at my disposal, but it is the first footage I’ve put out there of this project and I think it looks all right. Check it out if you’d like to see the character animations in action!
For this coming week, I’m going to be working on collision detection a bit more. Since I’m traveling it will be difficult to do the additional animation work that needs to be done, so I will probably start in on the entity system, particularly during my train ride back, on Monday night / Tuesday morning. Thanks for reading!