This is a bit light on detail so here's the story of how they managed to get it under the 96k target at the absolute last minute before the competition deadline.
A few years before this game, they launched .fr-08 [1] which was a 64k demo which lasts 11:01 minutes and renders full 3d scenes, with music, animations, models, text, etc. It ranked 1st at the 2000 Assembly (The Party).
As far as I know, they used the technology from .fr-08 for .kkrieger.
They did :) A lot of their tools can be found on their github profile. Its insane to think this was 24 years ago. I still remember seeing fr-08 at had my mind blown. Seeing the credits across the screen after 5 minutes saying "oh hey we still have 7 kb left so heres a bunch of text" :D And that text went on for another 5 minutes until it finally looped.
If you haven't had the chance, watch this keynote by Farbrausch (creators of kkrieger). It goes in detail about how the enginer, textures, and animations were made.
The use of inverse kinematics to force animations is so brilliant.
In addition to the procedural generation of all the data, removing all the code paths that led to error handling was another thing that brought down the size of the game.
https://fgiesen.wordpress.com/2012/04/08/metaprogramming-for...
It shouldn't surprise anyone that the author now works on compression middleware for a living.