Building With Someone Else’s Blocks: Going Open Source With Games
[While commercial products are rarely open source, many different projects have explored the possibilities of opening up the code to the community — and in this feature, Gamasutra looks at some examples and speaks to the minds behind them.]
The relationship between creator and audience in video games is more complicated than any other creative form. Developers can be artists, teachers, entertainers, scientists, or collaborators — and often they must fill several of those roles simultaneously.
The role of the player is no less involved: actor, viewer, historian, student, lab rat, or leader — all are roles he or she must be ready to play. Open source games capture this fullness of purpose, showing them at their most mechanical and most creative.
Giving players access to source code has been a part of gaming’s history for years, from the earliest MUDs to Tim Sweeney’s ZZT. As console gaming’s proprietary hardware and its closely guarded development tools slowly squeezed PC play from its central place in the industry the idea of open source play declined.
Yet, everything connected to media and technology in the last ten years has taught us the future will be collaborative and the future is actually now. In recent years even console games have begun to realize there is profit in involving players in content creation, from Far Cry 2’s extensive map editor to LittleBigPlanet 2’s creation tools, which were so flexible that Media Molecule designed most of it’s in-house levels with them.
And through it all, an active and growing number of PC games have kept the open source flame alive in a variety of ways, from reviving a flagging title to letting new of players learn from a designers work.
Nice Idea, We’ll Take It
Crossfire began in 1992 as a topdown four-player action game in the spirit of Gauntlet. Originally developed by Frank Tore Johansen, a professor at the University of Oslo, the game has survived for almost 20 years. The first version of the game had just one map but now there are more than 3,000, as well as 150 different enemy types, 15 character classes, a skill system, and a proliferation of artifacts and treasures.
“I originally came across Crossfire after I bought an old Sun workstation to use as my home system, and so was looking for games for it,” Mark Wedel, current release coordinator and one of many contributing Crossfire developers, told me. “The game interested me and I started doing some development work.”
“When I started working on it, in 1992 or 1993, the game was an X11 application. This meant that for each player the server would make a remote X connection to the client. This limited the games to systems running X — and one has to remember that this time frame predates the explosion of Linux and other free Unixes, so this was a much smaller audience.”
Over the years the game has survived dramatic transitions in hardware and software, both seen and unforeseen. The first major change was moving to a client/server structure, which allowed the game to take advantage of internet play in a more accessible way.
“Because of the client/server approach, gameplay itself has changed some,” Wedel said. “When I first started playing, the game was largely played by people on their own systems — there may be groups of students at universities playing on a server. But now there are several well known servers, and anyone can play on them, so there are many more multiplayer aspects of the game than there was when I first started.”
Over time Wedel became the maintainer of the codebase on Crossfire, a unique position that required him to oversee and maintain all of the incoming changes contributed to the codebase by other users. “Becoming a maintainer does result in one changing what one works on to some extent — since I would be applying patches, I would be looking at much more code, and I might rewrite some particularly old or ugly sections, which I probably would not have done if I was just a contributor,” Wedel said.
It’s remarkable that a game as simple as Crossfire has been able to survive for so long. Even with a limited number of variables in its system, the game is strong proof of just how enduring comparatively simple designs can be when given over to a population of interested contributors.
“There are really only so many spells, weapons, and types of armor, and at some point it becomes redundant,” Wedel said. “But within the content — which is maps, quests, sounds, images — that is basically unlimited. I think the world itself could keep getting expanded forever and if done right, it would not seem repetitive. Doing it well so that it does not seem repetitive would be the hard part. I would liken this to books – no one says that no new books should be written because every possible story has been told – the same would be true for the maps.”
Likewise, the continual churn of new technology offers potential to reach new players and reimagine some of the game’s fundaments. “10 years ago, when the client was developed, no one had any real idea about smartphones that exist now,” Wedel continued.
“But with smartphones now widespread, a client that actually works well with smartphones could be written, taking advantage of the different input characteristics the phone has. It is impossible to say what new technology may show up in the next 10 years that would change the way the game is played.”
Waking the Dead and the Afterlife
One of the most intriguing possibilities of open source games is the ability to create interest in a game that has already come and gone as a commercial release. Myst Online: Uru Live was intended to be the multiplayer piece of 2003’s Uru: Ages Beyond Myst, but its complicated development process led to a splitting of single player and multiplayer into two pieces, with the latter not being released until 2007.
While there was some curiosity about seeing what Cyan Worlds had done with the idea of multiplayer Myst, the game struggled to attract subscribers and was canceled after its first year. Disappointed with the turn of events, Cyan decided to release Myst Online: Uru Live as an open source game in 2010 hoping fans would be able to give the game a new life.
“I think everyone at Cyan that has worked on Myst Online as well as many fans feel like the full potential has never been realized,” Mark DeForest, chief technical officer at Cyan Worlds, told me.
“It was mostly from those unfulfilled feelings that we reopened the MystOnline servers for free and open sourced. And we have seen some pretty fantastic stuff done by fans without the source and we wanted to see what they could do with the real stuff.”
The first obstacle in the cast of Myst Online was untangling the rights to the game to make sure Cyan wouldn’t be in breach of any of its previous contracts with publishers.
“It took many discussion to make sure that we were protecting all the different interests, and yet giving enough freedom to the fans to innovate,” DeForest said. “Once the license was determined it set the tone and things just started falling into place.”
Surprisingly, Myst Online had such fervent fans that many had already started making progress in reverse engineering large parts of the system before the source was actually released. “With open source games the roles are almost reversed, The community has a lot more of the control of the development and the developer has more of an advisory role, hoping we can point them in a general direction,” DeForest said.
“And these fans spend an unbelievable amount of time on this. Sometimes I feel guilty about that. On one late Friday night when I was conversing with one of the fan developers, I suggested that we pick this up on Monday thinking he wanted to spend some time with his family. And he replied ‘Oh, right. I forgot. You take your weekends seriously.’”
Derek Yu’s well-regarded Spelunky, a procedurally generated cave exploration game, recently went open source as well. Spelunky was published independently by Yu so there were no complicated licensing arrangements to deal with. Likewise, the game sold well and received largely positive commentary from critics.
“I had two main reasons [for releasing the source code],” Yu told me. “My own understanding has benefited so much from looking at other people’s code and I wanted to give beginners the same chance to learn from my work on Spelunky, without having to use a decompiler. Also, I think modding is a great way to entertain yourself with a game, and it has the potential to extend the game’s life and bring it to new players.”
Spelunky is an especially curious game to have gone open source because its foundation in procedurally generated environments and enemies meant the game already had a tremendous amount of built-in variation.
“The original touched on something that really resonated with players, but I think there’s a lot more that can be done with the idea,” Yu said. “There’s a mod out there that lets you play as one of the enemies in the game and it changes the mechanics up quite a bit. I thought it was pretty cool. But to be honest, I don’t keep a close eye on what people are making with the source — I’m too busy trying to refine the concept myself, for the XBLA version of Spelunky.”
Amazing things can still happen when you turn a mature piece of software over to the collaborative masses. Yu mentioned The Ur-Quan Masters, an entire game built from the Star Control II source code as an example. That fan-built game is now the basis for a follow-up game meant to serve as a “true” sequel to Star Control II since many fans disowned Star Control 3.
Before the Eating of the Fruit Comes the Pulling of the Plow
“I do not see my future in the gaming industry, so I don’t care very much about making money there,” Robin Vobruba, a member of the Spring Real Time Strategy engine development team, told me.
The Spring engine began as a fan attempt to recreate Total Annihilation, but it soon became clear that the tools could be applied to a variety of different strategy games. In the intervening years the open source engine has been used to create a whole variety of player-made RTS games including Zero-K, Balanced Annihilation, Star Wars: Imperial Winter, Kernel Panic, and The Cursed.
“Open source development makes it much easier for people who share similar interests and abilities to find each other, even if their interests are very specific,” Vobruba said. “Working on a big, relatively unclean, long running, gradually evolved C++ engine, that feels more like a group thing, then being creative.”
Working on an engine, however, is a very different undertaking then imagining new levels, quests, and enemy types. “In general, we’ve been able to add a lot of features that might have been declined in a commercial setup due to negative financial payback.
“For example, we’ve added very sophisticated and powerful ways of controlling units for players, multi-language capable APIs, several different lobby servers and lobby clients, and lots of skirmish AIs written in different languages. A lot of this work has been done as part of university projects and theses.”
Building, hosting, and organizing a game engine from scratch can be overwhelming but there are resources available to help with some of the basics. SourceForge was launched in 1999 to help developers organize and manage their open source projects. Currently SourceForge has about 1200 open source project in their Games category, and has hosted some notable projects over the years, including Frets on Fire, Arianne, Passage, and emulator projects like ScummVM and Visual Boy Advance.
“Collaborative tools like bug trackers, code repositories, and wikis for documentation are very helpful for any open source project,” Elizabeth Naramore, Community Development Manager for SourceForge, told me. “With games specifically, something that is also very important is promotion. Indie game developers are competing with some heavy hitters, so getting the word out and getting an active, vibrant community built around the game is crucial to its success.”
SourceForge offers a mechanism for users to donate money to developers of games hosted on their site, but there is no fee for using their servers. The site, which operates under the umbrella of Geeknet Inc, (owner of websites Slashdot, ThinkGeek, and Freshmeat) is supported only by advertising dollars. The site has also begun to embrace open source development in its newest features.
“SourceForge has recently open sourced the code that powers our new beta platform for collaboration, called Allura,” Naramore said. “This is cleaner, quicker, and leaner than our classic forge and we’re very excited about it. The fact that it’s open source itself is very important to us and we encourage our open source community to come take a look and join in our efforts to make SF.net better for everybody.”
Sharing the Future
The great connecting truth in all open source projects is that none would exist without the work of their communities. They may not always possess the glinting polish of shapely symmetry of for-profit games, but they have a beauty of conviction, humbly proven by the quiet hours of labor with no hope of remuneration.
“Open source developers in general have a certain passion about what they do,” Naramore said. “They are generally not in it for the money and dedicate countless hours of their lives to making their projects better, and making cool things. Whereas most other projects exist to solve problems, these projects exist purely for the fun and enjoyment of it. I think that as a result, the communities are more tight knit — everyone is there because they want to be there more than anywhere else.”
Because there is often not a centralized hierarchy, open source projects can encourage both freedom and trust among its developers. “Developers will work on what they want to work on, which may not always match the goals of the project,” Wedel said. “This holds true for me also. If I think something may be a cool feature, I can implement that feature. Working on Crossfire has let me learn things I would otherwise have never done.”
For professional developers there is often little more to the choice to go open source than wanting a game they’ve poured themselves into to live a little longer. “To tell you the truth we haven’t discovered any working business model for Myst Online going open source,” DeForest said. “It will be up to the community to work together to move things forward because without them there is no D’ni universe.”
If our future is indeed to be a collaborative one, the lessons learned from those working in open source games, out of love for an idea, curiosity about a technology, or a desire to learn a new skill, will be irreplaceable.
“It makes it much easier for people who have similar interests and abilities to find each other and work together on a shared vision, even if that vision is narrowly specific,” Vobruba said.
“One can learn to work together with people in a non-hierarchical structure, which helps greatly in learning to appreciate different opinions and views, and that may lead to better game in the end.”