Raylib

Shipping CaveRace 1.5

There is something strangely satisfying about opening source code that is almost three decades old.

Not because it is beautiful. It isn’t. Not because you remember how everything works. You definitely don’t. But because every line tells a story about a younger version of yourself who somehow thought “future me will understand this.” Spoiler: future me did not.

https://caverace.com/assets/images/caverace-key-art.jpg

Back in 1997 I wrote CaveRace, a small DOS arcade game about collecting treasure, avoiding monsters, blowing up rocks, and trying not to blow yourself up in the process. Nothing revolutionary, just a fun little game made with the tools we had at the time. Over the years it lived on different computers, went through a DirectX rewrite, eventually made its way to Windows Phone, and then quietly disappeared. I never really forgot about it, though, and this year I sat down to answer a simple question: could I rebuild CaveRace today as if starting from scratch, while keeping the original gameplay completely intact? The answer became CaveRace 1.5.

Fixing Odin and Raylib on macOS: The Git LFS Problem

I recently started rewriting CaveRace, a game I originally built in C in 1997. The old version was written for MS-DOS using Borland C, VGA Mode 13h graphics, and a little x86 assembly. Rewriting it is a good excuse to revisit the game and experiment with a modern systems programming language.

For this version, I chose Odin together with Raylib. Odin feels familiar when coming from C, and its official vendor collection already includes Raylib bindings and native libraries. In theory, getting a window on the screen should be as simple as importing Raylib:

CaveRace: From a 1997 DOS Game to a Modern Rewrite

CaveRace began in 1997 as a maze-based action game I created with a group of fellow students. We were inspired by Dyna Blaster (Bomberman), a game I loved playing on my Commodore Amiga.

Almost thirty years later, I returned to Eldora and rebuilt CaveRace for modern computers. CaveRace 1.5.1 keeps the original levels, pixel art, bombs, treasure, and aliens, but now runs natively on Windows and macOS with music, sound effects, controller support, and a new story presentation.