Open-Sourcing Your Game While It’s Still Popular
I don’t know if you all remember or not, but about a year ago, as part of a holiday indie iPhone games charity sale, we opened up the source code for Canabalt to the public. Canabalt was still earning more than half of our monthly revenue as a company, and had only been commercially available for a little over a year. In the meantime, Canabalt had become quite popular and revived the auto-runner genre of one-touch games for the iOS platform. We thought that would be a good time to open source the game. The results of this decision, though not what we expected, have been very positive.
Part of our inspiration to go open source was the way a lot of Humble Bundle games were going open source around the same time, including our friends’ IGF Grand Prize-winning game Aquaria. I talked to Alec Holowka earlier today about the results of going open source with Aquaria:
Open sourcing Aquaria was really scary for me. I knew my code was really messy in some places, and while it got the job done, I felt a bit ashamed by it. Fortunately, Ryan C. Gordon (who created the Linux port of Aquaria) convinced me that it wasn’t that bad and that things would work out.
Releasing the source turned out to be a great idea. Tons of small issues in the game got fixed right away by the community. Changes were also made to the modding system, making it easier to use and enabling new features.
Folks started making their own ports of the game. One of those was a PSP homebrew port by Andrew Church. The creation of this port made me realize than an iPad version of Aquaria should be possible. Rather than having to hunt around for a programmer, I could simply recruit Andrew. It’s great being able to collaborate with people who love what they do. Open source provides an interesting venue for people to prove their abilities.
I’ve also heard some nasty comments about the length of some of my functions. ;) But I figure I can live with that, given all the benefits that open sourcing the game has provided.
Our experience so far has been pretty similar. We had a lot of concerns at the get-go, but we’ve seen a few wonderful things develop since then:
- Other developers have been able to use some of the abstracted game engine code to create their own successful iOS games, like Austin’s own Connectrode.
- Canabalt sales continued to be quite strong throughout the year. Putting the game source code up online didn’t seem to hinder our ability to offer it commercially at all.
- While there were some high profile source clones, they were easily DMCA’d, and news coverage of the most recent one actually resulted in a spike in sales for our version of the game, which earned us an extra few hundred dollars.
- Having all the game source packed up and organized and easily accessible online has dramatically improved negotiations for commercial ports to other platforms. When vendors are interested, we simply link them to the source and tell them what kind of rev share we want. No muss, no fuss!
- Like Aquaria, indie devs from the homebrew scene have had the opportunity to port the game to different platforms. The most impressive port to date is the recently announced and unbelievably authentic Commodore64 version of the game:
I don’t know if I would go so far as to encourage everyone to make every game open source, but for us and for Bit Blot it’s been a win-win-win scenario. We continued to earn money from the games, people learned from them, contributed to them, and even got their own start in independent commercial development thanks to these open source projects. If those are things that you are interested in, then I definitely recommend considering making your project open and available to your fans and the game development community. Sites like Google Code and Github make this process pretty painless, and the results are pretty awesome.