Command Line Heroes - Press Start: How Gaming Shapes Development

Episode Date: September 11, 2018

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, gam...ing 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. Check out Command Line Heroes: The Game over on GitHub. And please let us know what you think of the show by providing a rating or review in Apple Podcasts. Or simply drop us a line at redhat.com/commandlineheroes, we're listening...

Transcript
Discussion (0)
Starting point is 00:00:00 A group of friends is part way through a game of D&D. They lean in together and listen to their 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 the kind of vines kind of coming out of it and it just like bonds to you and it feels differently weighted in your hands now and you feel much more powerful so that's what you do you cast the spell this round all right so you do that and you still have an action what do you do okay a confession when i was growing up i never sat in a basement playing dnd i did not long to be a dungeon master whatever that 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
Starting point is 00:00:51 wasn't me. 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. 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. 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.
Starting point is 00:01:36 What it means to be a developer today. And all that starts with finding your people. So, let the games begin. 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... Oh, it goes up.
Starting point is 00:02:10 Oh, nice. And it goes crazy. Nice. Yep, the one that's damaged becomes a game. There you go. You were right. So, yeah. You're pushing the trigger, right? I did it!
Starting point is 00:02:18 Yeah, and this is Season 2 of Command Line Heroes, an original podcast from Red Hat. Today's episode, Press Start, Gaming and Open Source Communities. You're 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. 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,
Starting point is 00:03:04 those are the opening lines of Colossal Cave Adventure. 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. What is Colossal Cave Adventure? That, my friend, is the 1976 game that changed everything. That road, that brick building by the forest,
Starting point is 00:03:21 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 toward new forms of community and collaboration. 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. That's John Paul Dyson. He's a VP at the Strong National Museum of Play
Starting point is 00:03:56 and the director of their center for the history of electronic games. So, yeah, pretty fun job. Colossal Cave Adventure was a very different type of game. It was more of a free-flowing, exploratory game, like Dungeons & Dragons, which comes out at just this moment in time. And so it opens the imagination, so it was a really revolutionary game. It's no accident that a new kind of game appeared in the mid-70s.
Starting point is 00:04:27 Right at that time, the Internet's granddaddy, the ARPANET, was coming to life. 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. And it was really revolutionary in the way that it gave players a chance to explore this environment. But what was interesting was because ARPANET was now around,
Starting point is 00:04:59 he went on vacation and someone else, this guy Don Woods, was able to discover the game. He was able to make all these adjustments. 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. So immediately after computers become networked, we're starting to use those networks to share games. And those games are evolving along the way. 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,
Starting point is 00:05:49 the more they needed usable forums for community. 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. The ARPANET was hugely fertile ground. Here's John Paul Dyson again. 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.
Starting point is 00:06:28 Early games really offer a pattern for how communities of developers can work together. 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. There's this communitarian belief in the benefits of sharing that more collaboration produces better results than producing proprietary
Starting point is 00:07:08 products. And so the result is that you have games developed that emerge 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. And so I think there's this early spirit in the history, especially of computer games, that really are important in pushing forth computer communities. Professor Dennis Jertz has studied the history of games, and Colossal Cave Adventure in particular.
Starting point is 00:07:57 For him, these proto-open source communities were a free-for-all of creativity. The culture at the time involved people building upon and sharing their own ideas. And it was very, very common to find the source code. And then the first thing you would do is add another room to the existing source code. 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 the various chapters of Harry Potter books, or here's what happened to the minor characters in Katniss's world from the Hunger Games. This culture of adding to and elaborating and building upon a main narrative. Okay, so I am rushing over now to Van Tyler and looking at her wounds. Okay.
Starting point is 00:08:51 Oh, the weapon's damage becomes a D8, it says. 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. 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. And this time, okay, try to bring it down on the back of his neck.
Starting point is 00:09:28 Yeah! 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 a hundred billion in revenue each year, and that's expected to more than double in the next decade. But all that success has also changed the game. It's not a group of indie developers sharing their
Starting point is 00:10:00 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. Hi, my name is Saku. I'm the founder of a startup called Asteroid, which makes augmented reality tools for game developers. Saku Panditrutna wonders if that relationship between the open internet and game development has gotten a
Starting point is 00:10:26 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? 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 AAA game than you. 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 closed 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.
Starting point is 00:11:10 But that never happened with games. Saku's theory is 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 we basically know exactly how to do rendering and shading and physics to a really high standard and that's that shouldn't be something that every single game studio is replicating but weirdly enough um it is often the case that game studios still build their engines in-house unfortunately they're stuck in this kind of um it's it's i i kind of feel like games are a bit more like film than they are like software um you know you get games stuck in development hell you get all these like you know problems with like producers financing them and stuff like that and i think all those factors
Starting point is 00:12:00 kind of work against adopting the best possible software. 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. 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. Web developers, on the other hand, have way more affordable options. One fact I find really interesting is that it's more complex to make a movie than it is to make an airplane. And that's just because you have all these different people with very different skill sets. They work on a different schedule.
Starting point is 00:12:49 They're incentivized by different things. 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 is it's about bridging that divide almost as much as it is about being the most efficient software for the job. 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.
Starting point is 00:13:17 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. 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. 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
Starting point is 00:13:51 pull requests for character designers to review. But maybe there should be. Saku knows what I'm talking about. 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 CP 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.
Starting point is 00:14:17 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. I kind of think that the limit to games has always been bringing together two groups of people
Starting point is 00:14:37 who don't really talk to each other and then trying to build something. To me, that's the story of open source in a nutshell. In particular, though, Socko's imagining something to bridge the gap between two communities to make a larger community. Yeah, I think it could actually really improve the industry as a whole. I think, you know, there's a big boom in startups around 2007. And a lot of that was because there's a ton of open source stuff you could use. Ruby on Rails, you could use. And I don of that was because there was a ton of open source stuff you could use, Ruby on Rails, you could use. And I don't think that startup boom could have happened without developers being able to put their stuff online for free. If something like that happened in
Starting point is 00:15:15 games, I think we'd have way more indie game developers than there are currently. But there's good news. That open source revolution in gaming, it might already be happening. Here's John Paul Dyson again. So in the history of video games, there's really been two streams. One is where people create proprietary products. They're closed-end systems, often highly polished. They're released for commercial purposes. Think of a company like Nintendo. Nintendo creates amazing games,
Starting point is 00:15:47 and you can't really modify. But there's also been a countervailing trend in the history of video games and 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, you download from the internet somewhere,
Starting point is 00:16:16 and the sort 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. 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
Starting point is 00:16:48 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. 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. Here's what we know. Gaming still inspires legions of developers.
Starting point is 00:17:19 It's what got a lot of command line heroes into this industry in the first place. Command line heroes like Josh Berkus. Well, it started out on the Atari 800 because you could design your own video games. And Anne Barcombe. I wrote choose-your-own-adventure games mostly, and it was horrible spaghetti code. And Justin Flory. I started doing open source before I realized I was doing open source.
Starting point is 00:17:47 I began with a game server. I was running a Minecraft server. And at the time, I was 15. When there's this much love for something, this much community, open source attitudes are going to thrive. Socko's warnings about proprietary gaming elements are really just the hurdle that gaming has to overcome on its journey. A few leaders in gaming are starting to make that leap.
Starting point is 00:18:16 I was on freaking fire. I had three kills and Nate had one. Yeah. Campbell was carrying me. 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. I've got this. All right, one sec. I still pretty good at building community.
Starting point is 00:18:50 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. Lots of other games use Unreal Unreal too, 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. 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. And they're not alone.
Starting point is 00:19:34 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. The indie game industry has grown a lot recently. So you've seen like 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. The indie industry has exploded.
Starting point is 00:20:12 And I think a lot of that is due to Steam, actually. 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. Steam made it possible for any game developer to get a game out in front of millions of people. There have been lots of big games that started as an indie, just maybe one or two people working on it that just exploded. Minecraft is a perfect example.
Starting point is 00:20:50 It started just a guy indie developer, right? And now it's just 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. 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. GitHub has one called Game Off.
Starting point is 00:21:20 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. You could use 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 made it so great. Way better than just one person could do on their own. And I think there's still potential for a game or some sort of game system or virtual world that was open source that, you know, thousands of people could contribute to build something bigger than one person could do. It's already starting to happen. A shift toward open source attitudes in the gaming
Starting point is 00:22:08 studios. Well, I think the power of being able to enable your community to create is unquestioned. Jordan Wiseman's the co-founder of Hair Brained Schemes, Crimson Skies, Battletech, MechWarrior.
Starting point is 00:22:24 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. Even games like Battletech, which have a fair amount, where we've tried to open up as much of the data as 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.
Starting point is 00:22:54 And, you know, it engages players in different ways than our original content is. And that's a small example of what you can do. And as we go forward with our games, we're, you know, leaning on that even heavier, opening up more and more to allow players to express their creativity. 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. 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, you know,
Starting point is 00:23:38 for a period of time, that was very separated. I think as modding tools and the democratization of the engines and tools that are accessible and moving into open sourcing, it kind of moves us back closer to that collaborative nature of creating these very social form of entertainment. So I think that's very exciting. 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! Yerp, we're officially a multi-platform IP. And naturally, the Command Line Heroes game is going to be an open-source project.
Starting point is 00:24:36 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. 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. 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. We're taking all the open source magic we talk about on this show and using it to build something
Starting point is 00:25:17 together. 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 2 clause license. Gaming communities have come a long way since those first interactive words. You are standing at the end of a road. 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.
Starting point is 00:26:03 Frankly, we don't know how our communities will arrange themselves down this road, but we do know games will be driving it because we never stop pressing start. Want to learn more about early open source communities and the origins of open source gaming? There's loads more content waiting for you over at the Command Line Heroes website.
Starting point is 00:26:26 You can dig deeper by visiting redhat.com slash command line heroes. 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 Robinette, who created the Atari game Adventure, a game inspired by Colossal Cave Adventure. 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.
Starting point is 00:27:02 So, take a listen over at redhat.com slash command line heroes. Command Line Heroes is an original podcast from Red Hat. Listen for free on Apple Podcasts, Google Podcasts, or wherever you do your thing. I'm Saranya Dbarik. Until next time, keep on coding. Hi, I'm Mike Farris, Chief Strategy Officer at Red Hat. And as you might expect in my role, I get a lot of questions about AI,
Starting point is 00:27:40 particularly about foundation models. Now, don't get me wrong. Those are important, but they're not the whole story. Whether you're using a commercial model or an open source one, you're going to need to fine tune or augment models with your data for your use case. And you need a common platform for that where data scientists, app developers, and ops teams can all collaborate, especially as you start to scale. And then this is iterative. It's rinse and repeat. So really, it's about making that fast path from idea to model to production and back again. And that's what Red Hat OpenShift AI does. Head to redhat.com to learn more.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.