Progress report #3: Animations, skinning, refactoring, new website

Since the last progress report, I have been working on many miscellaneous things.

I mainly worked on creating animations for the player character and also animation importing to the game engine. I use blender for my modelling needs. In addition to blender, I also leveraged mixamo to get base animations and skeleton generated for the character.

I have tried to tweak the running animation to be more "stable" and predictable so that it would not affect the gameplay too much. For example, in the basic mixamo running animation the character head bobs a quite significant amount.

For model handling I use glTF 2.0 specification and cgltf library for importing. After importing, I save the models to internal binary format for fast reading and processing.

I also got rid of entities! When I first build the game engine basics I had a world manager and list of entities with different types (not ECS style, but fat entities). I decided to remove the entities and use just plain objects instead. It simplified logic and removed code quite a bit (~700 lines). Of course, I also might lose some flexibility, but Hardmatch's scope is quite limited now and I do not see a reason for the entity system currently.

I also changed name of the project. The game is called Hardmatch now! I think it's very good name. Also for the name change, I designed a new minimal website from scratch using basic CSS and changed the backend from Wordpress to static site generated using Zola. I find Zola to be very nice! I tried hugo many years ago and found it bit cumbersome in someparts. And for other generators, I tend to avoid npm. Single executable is the best.

Next, I will mostly continue work on animations, especially animation blending and playback.