Essay Icey


Here's a NES game I wrote. I guess it's more accurate to call it a "playable demo", as it's not really much of a game - more of a series of inside jokes involving my coworkers where I used to work (and will be working again, soon, actually). Still, you control the guy, walk around, have a goal, and there's music so I'll call it a game.

I used FCE Ultra to test it, so I'd recommend using that if you want to play it. After testing it on a real NES, it turns out there's some slowdown when playing. If you use a cycle-accurate emulator, such as Nestopia you can see this. It looks to be due to the naive way I wrote the graphics engine. Real NES games seem to mostly do their graphics updates in the VBLANK routine. Oh well, I guess I'll do better next time, if there is a next time.

The graphics were done with Nestile, the music was done manually, and the code was assembled with P65 (the Python version). As an aside, the author of P65, Michael C. Martin, wrote a tutorial on NES programming, NES 101 (at the bottom of the page), that was what I used to get started. It's just about the only worthwhile NES programming tutorial on the web, that I've found. It won't teach you everything, but it gives you enough that you can figure the rest out for yourself. The initialization code in this came from there.

The ROM is available for download below, along with the source code. While I made the code available, I would recommend against using this code for anything. I was learning as I went with this, so the code ended up very ugly and inefficient. It "works", though, and I'm too lazy to go back and fix it up.

Download Essay Icey ROM
Download Essay Icey source code

Screenshots:

Title screen Main game