Before the terms 'open source' and 'internet' were even coined—there were gamers. They created proto-open source communities, sharing and building upon each other's work. For many programmers, gaming led them to their careers.
In this episode, we explore the creative free-for-all of early game development over ARPANET. Game development brings together a massive mix of creative and programming talent. But while creating video games started as an open process, a lot has changed. Hear how you can get involved in building our very own Command Line Heroes game—and in the spirit of games, hunt around for this episode's Easter egg.
00:01 - Saron Yitbarek
A group of friends is partway through a game of D&D. They lean in together and listen to their dungeon master.
00:09 - D20 Babes dungeon master
Okay, so you're casting the, so yeah, you grab your staff and you channel the forces of nature into it. And you can see vines coming out of it and it just bonds to you. And you, it feels differently weighted in your hands now and you feel much more powerful.
00:26 -D20 Babes dungeon master
So that's what you do, you cast a spell that surrounds...
00:27 - D20 Babes dungeon master
Alright, so you do that and you still have an action. What do you do?
00:34 - Saron Yitbarek
Okay, a confession: when I was growing up I never sat in a basement playing D&D. I did not long to be a dungeon master, whatever that is. I did not find my first boyfriend while LARPing in the woods or bond with my BFF while cruising the aisles at Comic-Con. It just wasn't me.
00:52 - Saron Yitbarek
But what I do get is that games brought people together into communities. And, for a huge number of developers out there, games were the gateway drug into programming. It was games that taught them about computers and got them in a room where they could geek out with pride for the first time.
01:12 - Saron Yitbarek
It was the love of gameplay that made them want to build a game themselves. Then go beyond gameplay to just build. And that's something I'm very much into.
01:23 - Saron Yitbarek
In our first season, we explored where open source came from, and how it's shaping every part of the developer's world. This season we're living right on the command line itself: what it means to be a developer today.
01:39 - Saron Yitbarek
And all that starts with finding your people. So let the games begin.
01:51 - Saron Yitbarek
Before the terms open source and internet were even coined, there were gamers. And those gamers wanted to connect with each other. When the world started going online, they were at the front of the pack. And they would build whatever it took to connect and share and—
02:09 - D20 Babes player 1
Oh, and it goes up. Oh nice. And it goes crazy.
02:11 - D20 Babes player 2
Yep, the weapon's damage die becomes 8.
02:16 - D20 Babes dungeon master
There you go, you were right.
02:17 - D20 Babes player 2
So stab it, yeah.
02:19 - D20 Babes player 3
Which, the druid--
02:19 - D20 Babes player 1
I did it!
02:27 - Saron Yitbarek
Yeah, and play. I'm Saron Yitbarek and this is season two of Command Line Heroes, an original podcast from Red Hat. Today's episode, Press Start, gaming and open source communities.
02:45 - Voice actor
You are standing at the end of a road before a small, brick building. Around you is a forest. A small stream flows out of the building and down a gully.
02:56 - Saron Yitbarek
Do you recognize those words? If you do, ten points for knowing your history. But, if you're like me and they did not ring a bell, those are the opening lines of Colossal Cave Adventure.
03:09 - Saron Yitbarek
What is Colossal Cave Adventure? That, my friend, is the 1976 that changed everything. That road, that brick building by the forest, that stream flowing down into a gully, nobody knew it at the time, but this text-based game—yep, no graphics at all—would be a shiny red door that led the way to new forms of community and collaboration.
03:38 - Jon-Paul Dyson
Colossal Cave Adventure was a type of game that's known as a text-based adventure. You interact with the computer by typing in commands: go west, get sword, climb mountain.
03:51 - Saron Yitbarek
That's Jon-Paul Dyson. He's a VP at the Strong National Museum of Play and the director of their Center for the History of Electronic Games. So, yeah, pretty fun job.
04:04 - Jon-Paul Dyson
Colossal Cave Adventure was a very different type of game. It was more of a free flowing, exploratory game, like Dungeons and Dragons, which comes out at just this moment in time.
04:17 - Jon-Paul Dyson
And so it opens the imagination. So it was a really revolutionary game..
04:22 - Saron Yitbarek
It's no accident that a new kind of game appeared in the mid-'70s. Right at that time, the internet's granddaddy, the ARPANET, was coming to life.
04:32 - Jon-Paul Dyson
What happened is, one of the guys working on ARPANET, a guy named Will Crowther, had this idea for developing this cave exploration game. Now he created this game based loosely on a section of Mammoth Cave in Kentucky that he had explored.
04:50 - Jon-Paul Dyson
And it was really revolutionary in the way that it gave players a chance to explore this environment. But what's interesting was because ARPANET was now around, he went on vacation and someone else, this guy, Don Woods, was able to discover the game, and then make all these adjustments.
05:09 - Jon-Paul Dyson
So almost from the very beginning, the game was a collaborative process because it had been shared on this network. And it was just a good example of how a game could be developed, and modified, improved and then distributed widely because these computers were connected.
05:28 - Saron Yitbarek
So immediately after computers become networked, we're starting to use those networks to share games. And those games are evolving along the way.
05:38 - Saron Yitbarek
Here's the thing, though: it wasn't just networks improving games, it was also games improving networks. Because the more people wanted to share those games, the more they needed usable forums for a community.
05:53 - Saron Yitbarek
So you've got game technology and the communities that love them sort of egging each other on. A positive feedback loop. Likewise, the game developers are inspired by each other, growing off each other's ideas.
06:09 - Saron Yitbarek
The ARPANET was hugely fertile ground. Here's Jon-Paul Dyson again:
06:16 - Jon-Paul Dyson
So text-based adventures like Adventure operated at this space that was occupied by pioneering technologists who also knew how to be silly, laugh, and to have fun.
06:28 - Jon-Paul Dyson
Early games really offer a pattern for how communities of developers can work together.
06:36 - Saron Yitbarek
Remember, we're not talking about Minecraft here, we're not talking about League of Legends, we're talking about lines of green text on a black screen just reading out a story-based game and inviting you to make your decisions. It's a much simpler gaming culture. But it gave us huge rewards.
06:56 - Jon-Paul Dyson
There's this communitarian belief in the benefits of sharing, that more collaboration produces better results than producing proprietary products. And so the result is that you have games developed that emerged out of communities and that are themselves open to being changed and encouraging people to make changes that might alter the game in minor ways or significant ways. But there's a feeling that if the game is made better, then that's all for the good.
07:31 - Jon-Paul Dyson
And so I think there's this early spirit in the history, especially of computer games, that really is important in pushing forth computer communities.
07:45 - Saron Yitbarek
Professor Dennis Jerz has studied the history of games and Colossal Cave Adventure in particular. For him, these proto-open-source communities were a free for all of creativity.
07:58 - Dennis Jerz
The culture at the time involved people building upon and sharing their own ideas. And it was very common to find the source code, and then the first thing you would do is add another room to the existing source code.
08:22 - Dennis Jerz
It was pretty much like the idea of fan fiction, the whole idea that you have people who are creating their own stories that fit in between various chapters of Harry Potter books or here's what happened to the minor characters in Katniss' world from the Hunger Games. This culture of adding to, and elaborating and building upon a main narrative.
08:44 - D20 Babes player 1
Okay, so I am rushing over now to Van Tyler and looking at her wounds. Oh, the weapon's damage becomes a d8, it says.
08:56 - Saron Yitbarek
Before image or video-based gaming, these imagination-based game styles paved the way for massive online communities down the road. The relationship between gaming and online communities was symbiotic and powerful.
09:11 - Saron Yitbarek
But if there's one thing the gaming crowd knows, it's that powerful players can swerve the mission in a new direction. As online gaming grew up, its community-based roots have started to erode.
09:24 - D20 Babes player 1
And this time try to bring it down on the back of his neck. Yeah!
09:33 - Saron Yitbarek
Okay, let's fast forward to today. The internet's all grown up. And with it, the online gaming community has leveled up a lot. Gaming today generates more than 100 billion in revenue each year. And that's expected to more than double in the next decade.
09:53 - Saron Yitbarek
But all that success has also changed the game. It's not a group of indie developers sharing their work on a rickety forum. Game communities that exist today are radically different from what was going on in the early days of Colossal Cave Adventure.
10:11 - Saku Panditharatne
Hi, my name is Saku, I'm the founder of a startup called Asteroid, which makes augmented reality tools for game developers.
10:19 - Saron Yitbarek
Saku Panditharatne wonders if that relationship between the open internet and game development has gotten a bit twisted lately. She's got a point, why aren't parts of code shared between game companies the same way code is sometimes shared between big tech companies?
10:37 - Saku Panditharatne
If you’re the only game company that shares your code with everyone, your competitors will just copy you, and they'll take all your secrets and they'll make a better triple-A game than you.
10:47 - Saku Panditharatne
And that was also a problem for big tech companies as well. But it was the efforts of software engineers that actually, I think, broke this equilibrium, I think. Because if no one worked for a company that kept its code source, then everyone was forced to go open source and then you get all the big tech companies sharing as much as they can, which is very good for software as a whole.
11:11 - Saku Panditharatne
But that never happened with games.
11:14 - Saron Yitbarek
Saku's theory that traditionally in gaming the developers haven't had the same control over decision making compared to other fields. And that's too bad, because it means we're all missing out.
11:26 - Saku Panditharatne
We basically know exactly how to do rendering and shading and physics to a really high standard. And that shouldn't be something that every single game studio is replicating. But, weirdly enough, it is often the case that games studios still will build engines in-house. Unfortunately, they're stuck in this kind of ...
11:46 - Saku Panditharatne
I kind of feel like games are a bit more like film than they are like software. You get games stuck in development hell. You get all these problems with producers financing them and stuff like that.
11:59 - Saku Panditharatne
And I think all these factors work against adopting the best possible software.
12:05 - Saron Yitbarek
So, that proprietary approach in game development leads to a lot of redundant work. Every studio is forced to solve the same problems. And most of them aren't optimal solutions, either.
12:18 - Saron Yitbarek
Meantime, things quickly become unaffordable for indie developers that might have something new to offer. Game developers often have to buy licenses for one of the major game engines. Or, they'll have to buy, say, a lighting script.
12:33 - Saron Yitbarek
Web developers, on the other hand, have way more affordable options.
12:37 - Saku Panditharatne
One fact I find really interesting is that it's more complex to make a movie than it is to make an airplane. That's just because you have all these different people with very different skill sets, they work on a different schedule, they're incentivized by different things.
12:51 - Saku Panditharatne
So, then, getting them to work together is like an organizational challenge. And one of the things that game engines and other game software does—it's about bridging that divide almost as much as it is about being the most efficient software for the job.
13:06 - Saron Yitbarek
Game development's problem is a lot like that movie production problem. You've got artists, storytellers, character designers, all wrestling with programmers and sysadmins. Without adopting open source attitudes, without building in ways to share and sync up, that crowd of different people with different roles can get chaotic.
13:27 - Saron Yitbarek
It all boils down to the challenge of building community. Those first games, they were being built by the developers themselves, like, during their lunch breaks.
13:38 - Saron Yitbarek
Games like World of Warcraft, on the other hand, they've got this mammoth mix of creatives and programmers. The communities get stretched to their limit. For example, I don't think there's any forum where developers make pull requests for character designers to review.
13:54 - Saron Yitbarek
But maybe there should be. Saku knows what I'm talking about.
13:57 - Saku Panditharatne
I think one big issue for games is that it's a cross-disciplinary thing. And doing anything cross disciplinary is difficult, because it's almost like the C.P. Snow Essay, "The Two Cultures," you have to bring together people who are right-brained and creative-minded and people who are left-brained and logical and get them to work together on something.
14:18 - Saron Yitbarek
Can we just take a second to ask the world to build something? If anybody on GitHub wants to figure out a way to do open source game development that translates for developers and artists at the same time, you'd be doing the world a solid.
14:32 - Saku Panditharatne
I kinda think that the limit to games has always been bringing together two groups of people who don't really talk to each other and then trying to build something.
14:42 - Saron Yitbarek
To me, that's the story of open source in a nutshell. In particular, though, Saku's imagining something to bridge the gap between two communities to make a larger community.
14:53 - Saku Panditharatne
Yeah, I think it could actually really improve the industry as a whole. I think those big boom startups around 2007, and a lot of that was because there a ton of open-source stuff you could use. [inaudible 00:15:06]you could use.
15:07 - Saku Panditharatne
And I don't think that startup boom could've happened without developers being able to put their stuff online for free.
15:13 - Saku Panditharatne
If something like that happened in games, I think we'd have way more indie game developers than there are currently.
15:21 - Saron Yitbarek
But there's good news. That open source revolution in gaming, it might already be happening. Here's Jon-Paul Dyson again:
15:30 - Jon-Paul Dyson
So in the history of video games, there's really been two streams: one is where people create proprietary products, their closed-end systems. They're often highly polished, they release for commercial purposes. Think of a company like Nintendo. Nintendo creates amazing games and you can't really modify.
15:52 - Jon-Paul Dyson
But there's also been a countervailing trend in the history of video games, computer games, and that's been a more collaborative approach. And something like Minecraft is an example of this, a modern example, where people are making modifications to the game, there's a community that revolves around the game.
16:14 - Jon-Paul Dyson
You download from the internet, somewhere, and this set of mods that you're introducing into the game. And so what you have is a very different, almost more organic way of developing games, as opposed to a more structured, maybe commercial, engineered approach.
16:35 - Jon-Paul Dyson
Minecraft is in many ways the heir to earlier games like Space War or Colossal Cave Adventure that develops in a community and is much more open to people making modifications and changes. And the governing philosophy is that somehow the work of the crowd is going to be better in the long term, than the work of one small selected team or individual.
17:04 - Saron Yitbarek
I think what we're getting at here is that gaming isn't finished building communities, you're never going to stamp out that open source spirit.
17:14 - Saron Yitbarek
Here's what we know: gaming still inspires legions of developers. It's what got a lot of Command Line Heroes into this industry in the first place. Command Line Heroes like Josh Berkis.
17:28 - Josh Berkus
Well, I started out on the Atari 800, because you could design your own video games.
17:34 - Saron Yitbarek
And Ann Barcomb.
17:36 - Ann Barcomb
I wrote choose your own adventure games mostly. And it was horrible spaghetti code.
17:42 - Saron Yitbarek
And Justin Flory.
17:43 - Justin Flory
I started doing open source before I realized I was doing open source. I began with a game server, I was running a Minecraft server and at the time I was 15.
17:54 - Saron Yitbarek
When there's this much love for something, this much community, open source attitudes are going to thrive. Saku's warnings about proprietary gaming elements are really just the hurdle that gaming has to overcome on its journey.
18:09 - Saron Yitbarek
A few leaders in gaming are starting to make that leap.
18:17 - Kids playing Fortnite
We actually did good.p>
18:18 - Kids playing Fortnite
I was on freaking fire, I had 3 kills and they had one.
18:21 - Kids playing Fortnite
Yeah, Campbell was carrying me.
18:24 - Saron Yitbarek
If you've been anywhere near a 12-year-old this past year, you've likely heard of a little game called Fortnite. Well, little. In its first year, it gained more than 125 million players all interacting in a massive battle royale.
18:43 - Kid playing Fortnite
I've got to, alright, one sec, I've just got to call my parents.
18:47 - Saron Yitbarek
So, yeah, games are still pretty good at building community. In fact, Fortnite is the biggest free-to-play console game of all time. The studio behind it, Epic, also created the Unreal game engine, which Fortnite uses.
19:02 - Saron Yitbarek
Lots of other games use Unreal, tool, because Epic released the Unreal engine to the world for free. It's not straight-up open source, but it is source-accessible. And that's well beyond what most studios do.
19:16 - Saron Yitbarek
With Unreal engine, anybody can grab the source code. They didn't just make the code available though, they committed to building an answer hub, forums, developer support. Epic is doubling down on building as big and broad a community as possible.
19:32 - Saron Yitbarek
And they're not alone. You've got full-on open source game engines like Godot and MonoGame, which are spawning their own development communities. Jared Sprague, a software engineer over at Red Hat, is part of a new generation that gets to use all these tools and engines to build amazing games they could never have built without those communities.
19:55 - Jared Sprague
The indie game industry has grown a lot recently. So you've seen a while ago, like several years ago, most of the games were made by big studios. Those are still all out there, right, Nintendo and stuff.
20:09 - Jared Sprague
The indie industry has exploded. And I think a lot of that is due to Steam, actually.
20:17 - Saron Yitbarek
That'd be the Steam platform that lets developers incorporate things like in-game chat functionality, social-networking services, all that good stuff. They've been at this for about 15 years.
20:29 - Jared Sprague
Steam made it possible for any game developer to get a game out in front of millions of people. There've been lots of big games that started as an indie, maybe just one or two people working on it that just exploded.
20:48 - Jared Sprague
Minecraft is a perfect example. Started, just a guy, indie developer. And now it's one of the biggest games ever in history. But it's just an example of how indie has really become a major force in the game industry.
21:06 - Saron Yitbarek
Jared's teamed up with his Red Hat pal, Michael Clayton, to produce game jams, where a bunch of indie game developers get together and build games in a short amount of time. Like a hackathon, but for games.
21:17 - Saron Yitbarek
GitHub has one called Game Off. Jared's version is called Open Jam. If you ask him, it's part of a community-based game development future that could get much, much bigger.
21:31 - Jared Sprague
You could use, like Linux, for example. Because it was open source and all these people could contribute to it and add tools and patches and stuff is what it made it so great. Way better than just one person could do on their own.
21:47 - Jared Sprague
And I think there's still potential for a game or some sort of game system or virtual world that was open source, that thousands of people could contribute to build something bigger than one person could do.
22:03 - Saron Yitbarek
It's already starting to happen, a shift towards open source attitudes in the gaming studios.
22:10 - Jordan Weisman
I think the power of being able to enable your community to create is unquestioned.
22:18 - Saron Yitbarek
Jordan Weisman's the co-founder of Harebrained Schemes. Crimson Skies, Battle Tech, Mech Warrior, those are all his. He's been deep in game development a long time. And what he's seeing now is a shift toward open source attitudes as studios start to realize the benefits.
22:35 - Jordan Weisman
Even games like Battle Tech, which have a fair amount of ... We've tried to open up as much of the data of the game as possible to the audience. And we've seen the audience come up with amazing mods for the game. And it's super exciting for us to see where their creativity goes and what they've accomplished. And it engages players in different ways than our original content has.
22:58 - Jordan Weisman
And that's a small example of what you can do. And as we go forward with our games, we're leaning on that even heavier, opening up more and more to allow players to express their creativity.
23:10 - Saron Yitbarek
Jordan figures that a modifying culture helps his games become the best they can be. But, you know, like we hinted at with our D&D opener to this episode, that drive toward community was always there.
23:24 - Jordan Weisman
They come from tabletop roots where it was a collaborative storytelling experience among the people at the table, between the game master and the players in an RPG. And as we moved into digital forms of those kinds of games, for a period of time, that was very separated.
23:41 - Jordan Weisman
I think, as modding tools and democratization of the engines and tools that are accessible and moving to open sourcing, it kind of moves us back closer to that collaborative nature of creating this very social form of entertainment.
23:58 - Jordan Weisman
So I think that's very exciting.
24:01 - Saron Yitbarek
I think so too. As for Jared Sprague, he's teaming up with Michael Clayton, again, to build a brand new, community-driven, open source game. And it's called... Command Line Heroes.
24:21 - Saron Yitbarek
Yep, we're officially a multi platform IP. And, naturally, the Command Line Heroes game is going to be an open source project. So we're inviting the community, that's you, yes you, to build this game with us. All we're starting with is a single objective.
24:40 - Saron Yitbarek
Inspired by NASA, this is going to be a journey to Mars. The details? That's up to all of us, working together to hammer out. It'll be a web-based game, and we'll be working on it throughout this season of the podcast. The GitHub repos will be available to anybody who wants to contribute.
24:59 - Saron Yitbarek
And, again, if you're listening to this, you are invited to get involved to build that game with us. Design a character, make a pull request. Or just play the beta and send us your feedback.
25:21 - Saron Yitbarek
We're taking all the open source magic we talk about on this show and using it to build something together.
25:22 - Saron Yitbarek
Fun fact: remember Colossal Cave Adventure? Well, while the code for that game was always accessible, Colossal finally went fully open source after 40 years. In 2017, the official version was released under a BSD Two Clause license.
25:39 - Saron Yitbarek
Gaming communities have come a long way since those first interactive words.
25:45 - Voice actor
You are standing at the end of a road...
25:50 - Saron Yitbarek
And the thing is, we're not standing at the end of the road. This gaming road goes on and on. And along the way, games are helping us team up and build whole universes. Frankly, we don't know how our community will arrange themselves down this road.
26:07 - Saron Yitbarek
But we do know games will be driving it. Because we never stop pressing start.
26:15 - Saron Yitbarek
Want to learn more about early open source community and the origins of open source gaming? There's loads more content waiting for you over at the Command Line Heroes website. You can dig deeper by visiting redhat.com/comandlineheroes. Before we say goodbye, I want to let you know about a special treat we've got waiting for you over in the show notes. It's the story of Warren Robinett, who created the Atari game Adventure, a game inspired by Colossal Cave Adventure.
26:48 - Saron Yitbarek
He tells us how a run-in with his bosses led to the creation of the very first video game Easter egg. It's a great story. A lovely part of our development history, but we wanted to give it the space it deserves.
27:03 - Saron Yitbarek
So take a listen over at redhat.com/commandlineheroes.
27:10 - Saron Yitbarek
Command Line Heroes is an original podcast from Red Hat. Listen for free on Apple Podcasts, Google Podcasts, or wherever you do your thing.
27:20 - Saron Yitbarek
I'm Saron Yitbarek, until next time, keep on coding.
Go from gaming to Mars with season 2 of Red Hat's podcast series, Command Line Heroes
Check out what it means to live on the command line