Did your open source career begin with video games?

Many people first became fascinated by computers as gaming devices, and later turned this fascination into a technical career path. Were you one of them?
284 readers like this.
Characters from a video game

Opensource.com

Certainly you don't need to be a gamer as a child to grow up and become a developer, nor does being a gamer automatically set you up for a career in technology.

But there's definitely a good bit of overlap between the two.

After listening to the first episode of Command Line Heroes, and reading Ross Turk's story of how MUDs led him to a career in coding, I've thought a bit about how gaming has influenced my own journey into technology, and how it lead to a career in open source.

For me, that first important game was WarCraft II. Sure, I played games before it, and after it. But shortly after my family replaced our faithful Apple IIc with a blazing fast (by comparison) 486 PC with amazing features like color, and a sound card, and even a 2400 baud modem (that would take about three months to download the equivalent of an hour of Netflix today).

WarCraft II was the first game I ever truly fell in love with. It was a real-time strategy game, in which you controlled armies of orcs or humans who do battle against one another in an attempt to gain control of Azeroth, the same lore from which the MMORPG World of WarCraft would spawn years later.

Make no mistake, there was nothing open source about WarCraft II itself. It was a proprietary boxed game in an era when every game was a proprietary boxed game. Its engine, graphics, sounds, formats, and everything else about it were closed as closed can be, and it only ran on proprietary Microsoft (and later, Apple) platforms. (Linux in those days was not known for its graphics capabilities for casual users.)

But without this proprietary game, I probably would have never taken those first steps to explore the technical underpinnings of my computer and the world beyond.

In the summer of 1998, a couple of years after the game was first release, I joined a gaming guild, and took my first swing at community management as I climbed the ranks and managed squads of fellow WarCraft II players around the globe, eventually climbing my way to the leadership of a small organization of dozens of dedicated players.

I taught myself HTML so I could design the guild's homepage. And I did so with all of the horrors that were animated GIFs and <blink> tags and auto-playing MIDI background music and JavaScript popups that served no real purpose except to welcome you to the page. Through a lot of trial and error, and copious amount of borrowing and modifying other people's code snippets, I managed to put something together. In fact, it would be easy to argue I couldn't have built it without being able to see and borrow from the code of others.

Eventually, this led to wanting to add guestbooks and visit counters and even eventually an online forum. Somewhere along the way, this required that I figure out a thing or two about Perl and shells scripts and what a cgi-bin directory in Apache web server was for and what the heck these "file permissions" were on this Linux machine hosting my website. (And what the heck were Linux and Apache, anyway?) And while I don't remember the exact first time I explicitly saw one of these scripts under an open source license, I do know that were it not for having source access and a community behind them, I never would have figured out how these things worked, how to configure them, and how to modify them to meet my needs.

And I wasn't satisfied with the game itself, either. Sure, it shipped with a level editor, but I wanted more. Eventually, I found myself joining a community of people who used hex editors to decode, document, and share the game's file formats, allowing people like me to edit nearly every aspect of the game from design to how it worked. Documenting the formats made me realize how important it is to have access to the innards software, to understand how it works and be able to share your changes.

Later, I even found myself helping out a bit with testing and documenting an open source rewrite of the game engine called FreeCraft (later renamed Stratagus).

And all of these experiences led to my teenage self's aspiration to become a game developer, learning everything I could about writing games on my own, first in QBasic and later in Pascal and C. While I ended up following other passions in college and the game developer career path never panned out, the skills I learned on the way stuck with me. So did my appreciation for sharing and community, two of the fundamental foundations of the open source movement.

Equally important, perhaps, was how it stoked a curiosity about the way things work, and a desire to take them apart and tinker with them and hopefully improve them. It's hard to imagine how to truly learn about technology in a world where you can't poke around under the case.

On one hand, it feels weird to thank a proprietary game for being a stepping stone in my life in open source, but on the other, almost all of us had a proprietary software story that came before our open source awakening, and why wouldn't it have been a game?

And so now I'm curious. What role did games play in your open source journey? Why not share in the comments below?

User profile image.
Jason was an Opensource.com staff member and Red Hatter from 2013 to 2022. This profile contains his work-related articles from that time. Other contributions can be found on his personal account.

3 Comments

My dad and I used to buy these books full of code for our C-64. We'd type them in and save them on the cassette drive in our free time. Some of them were games, like the infamous Everest which took months to debug all the typos. Others just made designs on the screen in "sprites" as they were called.

If it were not for computer games, I would hardly ever want to become a developer. I probably would not even know what that is.

I was thinking of creating own video games business

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.