Welcome!

Hello and welcome to the internet presence of Randall Knapp (that's me!). I am a Game Developer/Instructor from the Seattle, WA area currently living in Singapore! I graduated from DigiPen Institute of Technology, and now I teach classes at the Singapore branch.

If you'd like to get to know me a little better professionally, go ahead and click Resume up there. To see what I've done, take a look at my projects. If you want to see what I can do, check out the code samples. I used to be a web developer too, so if you would like to see some of the sites I made for some pretty great people, please browse my web work.

So send me an email just to say hi or visit the rest of my site and let me know what you think!

Resume: Adobe PDF (recommended)

An Adobe PDF version of my resume. If you can't read this file, you can get the free Adobe Reader here.

Run! (Featured!)

Platform: PC
Genre: 3D Action Platformer
Team: Interdisciplinary team of 5 programmers, 6 artists and 1 producer
Languages: C++, Lua, XML

3D action escape platformer game based on parkour set in a Victorian-esque steampunk city. Large, team-based junior project.

Function Delegate (C++)

In this code sample, the problem I solved (that sounds sort of pretentious, how about "attempted to solve") is that C++ has no function objects like C#, Lua or ActionScript. So I created the Delegate class, which can hold on to either member methods or global functions. It's typeless, so the end-user doesn't need to know the class or method that will be called, but type safe, so the end-user will get a run-time error if they pass in incorrectly typed parameters.

I became quite familiar with C++ Template Metaprogramming through this exercise, and it was a really cool thing to learn. I use it heavily throughout the project.