A project done to learn more about assembly.

I programmed a GBC game directly in GBC assembly, making use of state machines to handle game states and sprite animatons, and simple AABB collision between game objects. The game itself had a title screen, an opening sequence and a scrolling 2D level that played as a simple platformer.

The game was written by manually manipulating memory for the map tiles and game sprites and debugged using an assembly level debugger, which ran with the game’s executable.

In a separate project, I’ve briefly experimented with vectorization using intrinsics and SIMD instructions to batch matrix and vector calculations first in C++, then in inline assembly.