home // text // multi-media // misc // info

[ video-games game-design ]

Spare Parts – An Evolving Prototype

I enjoy making videogames.

I also enjoy the concept of procedural content generation.

With a modest amount of intellectual calisthenics, you—the reader at home—can therefore deduce that I enjoy designing, and sometimes even making, videogames featuring procedural content generation (PCG). Now, I’ll be the first to admit that my track record thus far is somewhat underwhelming, but there really is only one way to address that: victory bonds.

Props to my ganda

Actually, no!

Oh, we do have fun, don’t we? In any case, it became apparent to me recently that the only way to improve in this sort of field is through brute-force experience. The best games don’t necessarily come from the most technically savvy coders, or from the most ludologically-literate alumni of Mrs. Hubbard’s Royal School of Game Design. Not to belittle either of course, but by and large, it seems to me that the best way to get ahead is to simply hunker down and hammer out games.

Instead of switching directly to my rather larger-scale backburner project1, I figured I’d aim somewhat lower, and try to put together something a) more manageable, and b) more instructional.

By “instructional,” I mean there were a few facets of game programming which I’d let atrophy (or had never actually exercised previously), and which I hoped to address with this new project. In particular:

  • Shaders — Obviously, the most interesting visual effects are generally implemented through shaders, and, sadly, I’d never tinkered with them before. Now, a game like The American Dream clearly doesn’t really need that treatment, but future projects likely will.
  • LUA — Scripting is great: it’s quick, intuitive, and ensures that oh-so-important separation of game engine and game logic. My previous projects suffered from being far too hard-coded, which made experimenting with and extending them difficult. Therefore, I wanted this new project to rely as much on scripting as possible.
  • PCG algorithms — My thesis work was a little bit heavy-handed in the way it sought to enforce a certain PCG pipeline—landscape before cities before buildings, &c. In the interest of flexibility, I have since decided it would instead be best to simply create a PCG library that implements a few basic techniques and algorithms. This API could then be used by developers to simplify their work, in somewhat the same way that one uses SDL for graphics and input. Of course, that requires that I actually implement some algorithms, and so I wanted this potential project to make use of PCG techniques.

All I needed was a theme. Perhaps because Monaco had recently been generating increasing amounts of buzz, perhaps because of a growing fascination with roguelikes, or perhaps because of the 20-stone industrial vats of mescaline I’d been ingesting, the first idea to pop into my head was grave robbing. More particularly: a stealthy 2D top-down grave robbing game, wherein the objective is to scour a randomly-generated graveyard for body parts, all while avoiding patrolling English bobbies and wandering phantasms/zombies.

Thus was born Spare Parts, an evolving and only vaguely-defined prototype. As I say, it is primarily an exercise designed for me to level up my own skillset, and I don’t have much to show for it at the moment—nor should anyone expect much more than a barely-playable toy in the end. But one thing you can expect is to hear more about it in the coming weeks.

Let us—in the words of the great poets—do this thing.

  1. Hint: Stars, Moon, Mars, &c.