There isn't much to see here yet, though there's more than there was before.

Videoventure Engine

Videoventure is an exercise in using modern techniques to achieve old-school gaming satisfaction. The application framework is built around component database system that encourages a flexible, data-driven approach to game entities. It uses quite a few support libraries:

A surprisingly modest number of components yield a disproportionate amount of time-wasting, pixel-smashing, arcade-style fun. Of course, the more components the merrier...

Videoventure is set in a world of video games long past. Your character is not a guy piloting a spaceship. Your character is not even a spaceship. Your character is a video-game sprite of a spaceship.

Github project

Rapid Prototyping Sessions

Between May 2008 and October 2009, I participated in many of the Rapid Prototyping Sessions at Shmup-Dev.

My competition entries have their own page.


Activision's 1998 Battlezone PC game was the first game I worked on professionally. I moved on to Battlezone 2 and other work projects, but Battlezone was always special. In 2009, I got reports that hardware rendering crashed on Windows 7. I did some investigation and started working on a narrowly-focused "Experimental D3D9 Build" that replaced the old DirectX 3 rendering system with a simple DirectX 9 renderer. That soon turned into an Unofficial 1.5 Patch, which over the next five years turned into an extensive overhaul of the game.

Battlezone and the Unofficial 1.5 Patch have their own page.

The unofficial patch later served as the basis for the updated rerelease, Battlezone 98 Redux.

Windows Console

In mid-2011, I learned about using the Windows Console API to make applications with DOS-style character-mode displays.

These applications now have their own page.

Mini Virtual Analog Synth

I spent a few months in late 2013 and early 2014 putting together a small synthesizer program. It started out as the very simple synthesizer example program that came with the BASS sound library but has changed almost completely since then.

The synthesizer has its own page.


In mid-2014, I discovered Processing while reading the book 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 (yes, that's the title) and made a bunch of sketches. After learning Javascript through Khan Academy, I ported some of the sketches to p5.js and eventually pure Javascript. The Videoventure page banner up top is an example of the latter.

The sketches have their own page.


Nathan Mates's Homepage

Ultraken's Irrelevant Rambles - my infrequently-updated LiveJournal