Work continues slowly, but slowly, on my 2D pixel art game that is neither 2D nor pixel art.
I redesigned and rebuilt the player character model and started the process of rigging it for animation.
This game is going to be a strange looking thing. Like an alternate history version of a Capcom CP System game where they put in support for colored lighting, shadow casting, and 16x9 displays. A real chimera of the old and the new.
I also started on (restarted really) level and environment design. A lot of the things I didn’t think I would be able to get away with, It turns out I can, as long as I manage any moving objects with a little piece of code I wrote that keeps everything snapped to perfect screen pixels.
There are a lot of pixelation shaders out there that crunch polygons and textures down to strictly paletted pixels but there is no fooling anyone if the models still move like they are 3D objects. Spinning, moving too smoothly, antialiasing in sub pixels, or picking up specific specular highlights. They can be 3D objects, but they have to move like they have the limitations of sprites.
When I first tested the animation, I found that making some very crisp, pose to pose, animations without a lot of in-betweening looked pretty good, but it was missing something.
When I finally figured out what the problem was it seemed pretty obvious. What I needed to do was to make a set of very fixed poses and then do a small handful of tweens, but with no real timing between them. So no held frames would be baked into the animation. Instead, I used the game engine to pull the frames one at a time when they were called for the specific animation. Running for instance might be 6 or 7 frames. But rather than just play “run” as a complete animation, I found that I would call each frame based on the speed or direction of player input. Speeding up or slowing down the animation the way you normally would added some extra smoothing and mush that looked every inch a 3D model pretending to be a 2D sprite. Calling on each frame in the sequence as needed, looked very different. It looks more like 2D animation.
It shouldn’t be shocking at all, since that’s more or less the procedure you would use to animate a game character circa 1990. Sometimes the old tricks can be the new tricks, only with colored lighting, collision physics, and shadow casters.