How I learned to fly
The small steps in game modding that eventually led to a career in software development.
Brett Weir, Jan 1, 2025, 5 mins
I've been working as a software engineer for my entire career up to this point. How I ended up here is its own story, but there were some early life experiences that prepared me to consider this as a career path. This is the story of one of those experiences.
In the late 90s, I was fortunate as a wee lad to have a Pentium 4 computer (wow!) and a 56k modem (fast!). If memory serves me right, it even had almost an entire gigabyte of storage (énorme!). This incredible privilege meant that I was able to explore the World Wide Web from the comfort of my own home and discover its limitless potential very early on in my life.
I often discovered websites by adding .com to the end of brand names I found
around the house, which is how I found the Ivanko Barbell Company
website. Or
the domain might be printed on a product's packaging, which is how I ended up on
id Software's
website.
There were search engines, like Tucows, AltaVista, Lycos, and Ask Jeeves, to name a few. I don't remember these being very good.
Then there was Yahoo:
Everyone knew who Yahoo! was, because everyone had seen the commercial of the people in a jacuzzi in the middle of a very snowy place, an activity that apparently Yahoo! was well-positioned to help you orchestrate:
Yahoo! never helped me do anything like that, but it did indirectly help to kick off a life-long interest in programming and game development. I don't remember what I searched for at this point—probably something like "online game"—but I stumbled across Graal Online, otherwise known as "Graal".
Graal?
Graal Online was (and still is) a top-down 2D MMORPG. It looked like this:
You'd be forgiven for not having heard of Graal. If it looks familiar, it's probably because the original graphics (and gameplay) were largely lifted from another wonderful game, and then later modified just enough to avoid lawsuits.
Graal had a lot going for it:
-
It was online, so you could talk with other people in-game.
-
It came with a level editor and scripting engine, so you could make your own game content!
-
It downloaded all in-game assets into a well-organized, not-at-all-obfuscated folder on your computer as you played.
In other words, it was a modder's paradise. So many great assets to play with, easy access to dev tools, and countless, countless examples of every aspect of the game's implementation meant the best free introduction to game development that money could buy in 1999.
My first script
My first glimpse into coding was a snippet shared to me by another player. Graal's NPC scripting engine, in hindsight, appears to be an ancient version of JavaScript, so the code would have looked something like this:
if (playerHasItem) {
if (keyPressed(up)) player.y--;
if (keyPressed(down)) player.y++;
if (keyPressed(left)) player.x--;
if (keyPressed(right)) player.x++;
}
When an object with this script was placed in your inventory, the player would suddenly be able to walk anywhere on the screen, without regard for the locations of walls and other colliding objects. In other words, this code gave you flying boots.
When I tried this script for the first time, it changed my relationship with the game forever. By changing the code, I could make the game do other things, even things I hadn't yet thought of. That was a big deal.
Gallery of things
My ventures into Graal scripting didn't end there. I made all kinds of random stuff!
I made some kind of multiplayer spinning ball capture-the-flag arena. It was a lot like air hockey, except it handled like you were half-asleep and the scoring system didn't make sense:
I made a lot of powerful bosses with unique attacks. Coincidentally, many of these attacks involved explosions, because explosions were a built-in game primitive.
Here's an underground-looking boss that exploded at you randomly:
Here's a tower-looking boss that made explosions in circles:
There's more exploding bosses, I'm sure, but you get the idea.
Also, what medieval fantasy hack 'n' slash adventure game would be complete without a multi-function combat robot with twin lightning hyper-blasters?
What does it mean?
These early experiences with Graal have informed much of my understanding of programming and computers to this day.
Computers are a force multiplier. They allow you to express yourself in ways that have not existed for most of human history. They allow you to connect with people you otherwise could have never known. They allow you to shape the rules, systems, and interfaces that govern the digital world that we are all now living in. At every point in my life, computers have enabled what I want to do and provided a pathway to do it.
Video games are not the only thing you can do with a computer, but they are one of the most visible, obvious, and engaging things you can do. For myself, making video games, or even trying to, has been a gateway to greater understanding of what computers are and what they have to offer. I would not be surprised if the careers of many software engineers began with trying to mess around and make stuff in some game they were playing.
My life would be very different today without video games, and I am thankful that I had the opportunity to play them as a child.