DIRTNAP
An underground tank arena in 4,400 lines of vanilla JavaScript.
As far as personal projects go, Dirtnap’s origin story is on the more unique side. Just a few days after Fable 5 was released publicly, my dad asked me to show him what the new models could do. So, step by step, we rebuilt one of his childhood games (name unknown), where tanks tunnel through the ground in a strategic battle.
The game turned out surprisingly well, and over the next few days/weeks, I reworked the balancing, controls, and client-server split to allow for smooth multiplayer gameplay. Then, on my 19th birthday party (hosted with my twin sister Olivia!), we held a special event called “Birthday Battle”, where all guests could scan a QR code to join my or Olivia’s team on their phones. Then, with the full map and live kill count scoreboard streamed on our TV, we held a crazy 11v11 battle in our basement. I remember having to go upstairs for a little bit to run some errands, and even from there, the cheers after a comeback were audible.
Although a fairly simple project, to me, Dirtnap is an embodiment of the way that technology can connect people. It’s a great reminder of the things I love building.
- JavaScript
- Canvas 2D
- Web Audio
- WebSockets
- Node

