Level Editing

I'm always fascinated to hear about people's introduction to their profession. What makes someone think about plumbing or dentistry as something they'd like to do for the rest of their life? How exactly does that process work? I'm especially curious about creative people. At some point, Stanley Kubrick must've said to himself: "How did this thing get made? I need to find out and do it myself." Same goes for Jack Kirby or Stephen King. With films, or books, you have the benefit of a finite set of skills you can choose from. Sure, the tools get more sophisticated over time, but when it comes down to it, making movies hasn't changed much since its inception*. Game development is different. Tools and ways to create the end product rapidly change. Developers that grew up even just five years apart might have vastly different experiences learning how to make games. Thirty years ago, people were typing assembler into a prompt, hoping that there wasn't a typo along the way. Fifteen years ago, people used the tools game developers shipped with their games to mod them. Today, young people can learn how games work with Minecraft and youtube, build their first bigger prototypes (or entire games!) in GameMaker, and ship a game that looks not noticeably worse than most things from established publishers with Unity.

I discovered my interest in game making at the height of game modding. Unreal Tournament, Morrowind, Counter-Strike: They all had a level editor built-in, or easily accesible. You were given a set of tools that would allow you to enrich the gaming experience with your own personality. I'm trying to focus on good memories of my childhood, and that is one. That's why it's particularly exciting for me to write my first level editor right now. In all the games I've made so far, I've been writing out the level design (if you can call it that) manually. It's a lot of lines that look like this:

x: 200 y 150 t: 4

x: 250 y 180 t: 2

That works with two or three very short levels, but it is tedious, hard to read, and error prone. So this month I sat down and worked out how to create a visual level editor. I basically started with the same template I use for my games and worked my way from there.

It's very basic in functionality and I haven't done anything to pretty it up, because it will only ever be used by me. These games I'm doing now are not meant to be finished products, but rather the building blocks for my future projects. I make stuff to learn how to make better stuff. It's an iterative process. This level editor is a vital part of that. When I'll release my first for-profit game some time in the future, it will ship with a level editor. Not just because it will make my work easier, but because it's what got me into making games. It's what I remember most about Counter-Strike: spending hours and hours creating my school in-game.**

And it's not just about satisfying my nostalgia, either. It's about making sure that when someone in the future starts playing that hypothetical game, and feels the urge to do something similar themselves, that the door is wide open for them, and we all get to enjoy many games for years to come.

* What has changed the most is access. Twenty years ago making a movie was prohibitively expensive, now kids with second hand phones can shoot something that looks reasonably well.

** Yes, I did that. The map was never seen by anyone, because I changed schools before I was finished. I would post it now, but it doesn't exist anymore. The game was on a hard drive that I loaned someone in exchange for shelter and it's gone now. Same goes for everything from that period, obviously.