1401.001 Video Game Progress Report: Stubs!

It’s been two weeks since I declared six new project goals that I’ve been stuck on for years, even decades! The trigger was my 10 year blogging anniversary, in which I noted the desire to change the energy of this blog toward project work. I talked about this for the last half of the last podcast I did with my friend Sid at length.

Time for a progress report!

Current Progress

The main project I’ve been putting my time into has been Project 1401, the “Make a Video Game” goal. I’ve had this goal since I was maybe 11 years old, and even though I’ve worked in the video game industry professionally, I’ve never really made my own game.

In a bit of synchronicity, it happens that I’ve been working on an NSF-funded project called Science through Technology Enhanced Play (STEP) with my friends at Inquirium LLC, a learning science consultancy that has hired me to help architect the system. We are creating a web browser-based client capable of supporting a number of real-time graphic presentations in a classroom environment under the direction of the project’s primary investigators at UCLA and Indiana University. It is pretty astonishing how power HTML5 + Javascript is now; just check out the ThreeJS 3D graphics page to see what astonishing stuff is possible in a modern HTML5-compliant browser. It’s also pretty daunting stuff, too, as I look at my nascent codebase I see just how much polish can be done. But I remind myself to be as a child in approaching this endeavor; The worst thing I can do is allow my critical adult self to squash my childhood desire to make. I did this a lot to myself when I was younger, thinking I was never good enough or smart enough. I still feel it, but I know now that it just takes perseverance and a LOT of mistakes to make something worthwhile. It is just the way it works!

I’ve actually been quite busy with work, but have been carving out some time to port some of the basic runtime guts from STEP to the Project 1401 repo. The bulk of the time has been cleaning up the code and documenting it.

Current Progress It doesn’t look like much, but this is a significant milestone in that the framework and game loop logic is in place, so it qualifies as a nice stub release: it’s got the placeholders in place!

There is also very ugly, very rudimentary graphics code in place. I want to review it again to make sure the coordinate systems make sense, and I have to think about the way I want to represent “pieces” in the context of either a 2D or 3D world, as the way I’m doing it currently in the STEP project is not feeling conceptually clean. I’ve also started to seriously document the way the system works so people can pick it apart, and that’s a good feeling.

Next up: Clean up the piece, visual, and renderer hierarchy so they are conceptually clear and distinct.