Open-Source Game Development:
A Recommendation

2020-02-17 Beatrice T. Meyers

Welcome back to Meditative Musings!

This post was inspired by a recent Reddit post over on /r/linux.

Why should I open-source my video game?

For someone who has spent countless hours developing their game engine, assets, and vision into a full-blown video game for people to play, the answer may not be obvious at first. Surely, you want to get some sort of compensation for your troubles. What you just went through is a difficult process that not everyone is able to successfully complete, let alone make profitable. And now I seem to be suggesting that you just put it all out there, seemingly free for whoever wants it. Well, let me explain a bit better what I mean and give you some incentives to do this.

1. No one is saying do it for free.

No, really! I think you can and should sell your game for as long as you so desire. You have worked hard to make it this far and deserve to be compensated. Not every developer can make it on donations and good will. I am not suggesting you just give all that away, but I am suggesting you can do a better job than other game developers in how you release your game into the world.

2. What happens to your game when you die or move on to other things?

This is actually a pretty serious problem in the history of games. It's not at all uncommon for a developer to release their game to market, provide bug fixes and updates for a number of months or years, and then stop altogether. This is just the natural progression of games. Even moreso for Indie development where you must move on to your next project and can't afford to spend too much time continuing to support your previous works. The problem gets even worse when you are working on a multiplayer game and the servers are officially shut-down after years of operation. In both of these cases, you have now left the gamers in limbo, without any ability to continue enjoying your hard work for years to come.

How do I open-source my game and still make money?

There probably isn't a one-size-fits-all answer to this question, but permit me to provide you with a roadmap for one possible direction you might take and to give you my reasoning for why I think it is a good model. You have nothing to lose, but a bit of your time reading this and are welcome to brush me off after. I just want to provide an alternative to the current model of game releases.

Part 1: Profitability

You should still sell your game on whatever platforms you desire. This closed-source experience is the game that you wanted to ship in its purest form and where you will be most compensated for making the game. No one will blame you for trying to get something in return for all your hardships.

Part 2: Transparency

Release the source code for your game and its engine under an open-source license, without the assets. There is no cost to you in doing this. You may even be able to crowd-source some of the burden of maintenance or even porting your game to other platforms. Especially if you release on a collaborative platform like Gitlab or Github. When you move on from this game to other things, the source will now always be available to allow people to continue keeping your game working for years or decades to come.

Part 3: Legacy

At some point, your game will no longer bring in much profit. Especially after years of being available for purchase. At this point you will have recouped your costs on development and hopefully made a decent profit. To ensure that your game continues to be played well into the future, I suggest that you release the assets under a permissive license (e.g. Creative Commons) to ensure that it does not become embroiled in copyright abuses sometime after your passing. This is an all to common problem with creative works, especially in the United States where copyright can extend for centuries after your passing.

Sweetening the Deal

I think there are also a few tweaks to this approach that you might make in order for both creator and consumer to get a bit more out of the process:

  1. Release the source code as a perk of purchasing the full game from one of the usual distribution platforms. This rewards the gamers with the ability to someday continue to use your game when it stops working as-is.
  2. Open-source your game while still selling the assets to users for the full game price. You will still make a profit on the game, but can crowd-source bug fixes and porting.
  3. Start your game as open-source from day one. As an Indie developer, this enables you to actively collaborate with a part of your fan-base. They can send you bug reports and suggestions for the game, while receiving recognition for their small part in the design process and the final game. You also gain the ability to crowd-source some of your testing for early-adopters.

I could probably continue talking about this subject at length, but for now I just hope you all learned a little something from my ramblings. Best wishes for the games you are developing!

— DataDrake