Unearthing an Old Programming Document

Posted in Engineering, Games, Learning

The internet never forgets. If nothing else, the Wayback Machine does a dutiful job of saving mostly coherent snippets of the web across an impressive breadth of time.

I was reminded again a couple weeks ago, when someone sought me out and pointed me to a guide I authored well over a decade ago. Back then, as either a freshmen or sophomore at Cal, I was just getting started with my undergraduate studies in computer science with an eye towards games development[1]. That interest led me to a part-experiment, part-fun research program created by a CS professor in the Netherlands called Game Maker.

Back in the early 2000s, gaming was starting to hit its stride. While most gamers were happy to just play the increasingly high-production-value games produced by an exploding industry, some wanted to take it further and build their own games. The young web, however, lacked the resources for self-taught coders; those who understood the need to learn the basics of software development still had trouble getting started. Even the slightly ambitious came to the realization that building out the complex systems or rendering the graphics found in their favorite commercial games required years of experience and a team of professionals.

There were a few games that tried to capture that desire to virtually build a game while adhering to familiar gaming conventions. Fighter Maker and RPG Maker were early attempts to fill that need; from the perspective of modern games, these feel like more primitive create-a-character or level editing features, with the actual game being a bland, generic take on their respective genres. There was no programming or custom art necessary, as long as the game fit within the predefined (and limited) editors and small library of cookie-cutter assets.

Game Maker was one of the few attempts at opening up game creation while still keeping the process approachable. GM featured a simple drag-and-drop interface, but also exposed a full scripting language whose power was perpetually underutilized by its audience; the community didn’t have enough programming experience to take things much further than basic tutorials. Using GM through its generic and sometimes abstract interface was still educational[2], though its potential was severely limited.

I acted as one of the people in the community whose main value came from staying a few classes ahead of everyone and tried to teach back the concepts and ideas. As CS teachers can probably attest, programming is one of those subjects where – despite the amount of time and money and energy thrown into coding bootcamps – isn’t for everybody. When the player-creator’s motivation is primarily about bringing some idea to life, having to work through the logic of computing is a high barrier to entry.

Looking back at the actual material I produced, not much has changed in the basic building blocks of software development. Modern constructs like object-oriented programming and event-driven development were around 13 years ago (and long prior), and are still relevant and a part of class curriculums and programming interview trivia. Game making has only become even more complicated, but gamers with that itch seem less interested in software that allows generic game creation, and more in game-creation games like LittleBigPlanet and extensive level editors the likes of Halo.

And, of course, the Lego of our time: Minecraft.

Footnotes    (↑ returns to text)

  1. Which, if I’m honest, is likely the same teenage life plans that most other kids who are into games my age aspired to fulfill.
  2. As was the intent of the CS professor who created Game Maker in the first place.