Tiny Apocalypse

May 2021 - Jun 2021

Project Group Size: Solo

Development Time: 9 days

I joined the 4MBJam and the premise is the create a game in smallest file size possible. ( The jam was inspired by .kkrieger). The game also has to work with a stock OS. I decided to use Raylib graphics library to handle ultra low level stuff like 3D object rendering. Though the library lacked some important features I wanted to use. So in the end, I've had to modify the library and add new methods of my own. I tried using a C# bindings but it didn't worked with the limitations of the jam. So I used pure C99 to squeeze every byte possible. I didn't use any outside resource to reduce more file size so I decided to generate everything with the code. Every sprite, texture, animation and models is generated with the code. For example: game generates texture variants for each surface including zombies' bodies. This was my first time using C so I've learned a lot. It was interesting to work with a language that doesn't support OOP. But because of that I was able to add tons of zombies. At the end of the jam, I wanted to add much more content but run out of time so I had to cut them. One of those features was Flow Field pathfinding. I've also wanted to build a generative audio system. Overall, I've managed to put together a 3D FPS game in 176KB which I'm proud of. This exe file size is the compressed version which uses UPX to compress the exe. Without compression, the game is 565KB. (Fun fact: The gif below is about 12 times bigger than the whole game itself)

Highlight Of The Project

Totally generated environment, Custom Engine with C language, Coding a game without OOP, Custom particle system, Custom Fog and LOD system


My Role

  •  Everything

Tools I've Used For This Project

  •  Custom Engine with C
  •  Visual Studio