Archive for July, 2015

ASCII Renderer

Wednesday, July 8th, 2015

I’ve been working very hard on Dead Static Drive and had a great presentation just this week at the TGF Tech Games Fest here in outer Melbourne. After a week or so of hard work, what’s the best thing to do? Play games? Spend time with my partner? No! Make more things!


Download the application and source code here!

The whole project is released under public domain, so go nuts. If you’re one of my students, remember that I can recognise my own code!

(The animation above appears glitchy – this is caused by the screen-to-gif capture software – the renderer is much smoother.)

I figured that a tiny project would be perfect, so I conceived of it and built a prototype in one day. The project: An ASCII software renderer for curses. As a bit of background, I’m working at SAE and recently have been showing first- and second-year students how to make games in a command-console environment. Getting away from the complexity of large APIs like OpenGL and DirectX let us just focus on understanding how to program entire games, like how I remembered learning to program games with mode 13h and raw memory access back in the 90s.

I planned the requirements and plotted out a basic idea in my head. In about six hours it was working well; today I cleaned it up with a few more features (.obj file loading, and some really basic lighting).

The code uses a library I made maybe a decade ago called Terminal++. Even if you don’t have much experience with a terminal and with curses, this should still be fairly easy to pick up so long as you have a bit of experience with classic <iostream> coding.