The game we’re developing is Squally, a 2D Platformer RPG that teaches assembly language. This game is cross-platform, and is written entirely in C++ using an engine called cocos2d-x.
We’ve been working on it for over a year now, and today it’s going open source. This is an extremely rare move in game development — after all, why would you give away years of hard work?
It’s not as crazy as it sounds.
The open source community seems to be thriving everywhere except video games. This is particularly tragic, because game development would benefit from this more than most fields.
Are most first-person shooters really so different that they should be written from scratch every time? Sure each game has its own unique feel, but the amount of redundant code written by game developers is staggering. Game engines have eased some of this pain, but still the wheel has been reinvented thousands of times.
If we could have forked somebody else’s game, it would have been a huge time saver. In fact, if somebody let us build on their game for $20,000, it would have been worth it. That’s how much money it would have saved us— and that’s not even accounting for lost time.
On the surface, open sourcing a video game looks like a seppuku ritual in which a company is gutted of all future profits. This does not have to be the case. Open source does not necessarily compromise any revenue streams in a single player game.
People buy games on Steam, and almost nowhere else. Steam has a firm monopoly on game distribution.
Will a user really care if the source code is available? The average user probably doesn’t even know what source code is, nor would they care to sift through a readme file in an attempt to compile your game.
There are other things you can do to protect yourself too. Only the code in Squally will be open sourced. To get the art and sound, the user will need to copy it from a legally purchased game. This is for two reasons:
- Some of the art in Squally comes from asset stores (non-exclusive rights), so we couldn’t release the art publicly even if we wanted to.
- This helps mitigate any potential revenue loss.
But what about piracy?
Squally’s audience is literally hackers. Piracy was destined to happen. But let’s pretend this wasn’t the case. Even for normal games, piracy is common-place. Piraters gonna pirate.
Piracy rates will probably go up, but my guess is that if anything, sales from the increased community will make up for it.
The worst that can happen is that the art in your game is swapped out and re-released by someone else, with no code changes. If this is a concern, be sure to pick a repository license that makes sense for your game.
If for whatever reason open sourcing the game backfires, you can always close-source it later. Sure, whatever you released will always be public forever, but if the game is early enough in development, it’s not a huge deal.
Looking at other open source games like KeeperRL, there can be some amazing upsides. Users creating mods and additional content, or helping fix weird niche bugs that only happen on certain machines.
Also, if you google around for open source games, the results are pathetic. This is an area where you can really win the SEO game.
Last but not least, there are the intangible, second order effects. Maybe you inspire somebody to learn how to program, or save them significant time on their journey to making a game. We’re excited to see what people do with Squally!