CodeCombat in Y Combinator
Hi, gamedev here.<p>At one point on stage, you brought up the possibility of open sourcing your code, and Paul cautioned you that you may want to follow game industry conventions.<p>There are two reasons the game industry tends to keep their code closed-source.  1) It has been lucrative for game studios to sell licenses to their closed-source engine.  Some game studios, such as Id Software, have made hundreds of millions of dollars (if not $1B) from licensing their engine.  This is the main reason game studios tend to keep their source code closed.  2) There is strong institutional bias against releasing source code precisely because nobody else releases source code.<p>If you're not planning on licensing your engine, then I just wanted to reassure you that it's not a bad idea to go open source. You own codecombat.com, and hence you own the pipeline of users.  Even if someone uses your code to launch their own version of CodeCombat, it's very unlikely that you'll suffer any problems for it.  The only possibility is if your servers go down and theirs don't.  But anyone who tries cloning your idea is going to suffer the wrath of the gaming community.  E.g. see what happened to "War Z," a videogame that was blatantly ripping off the recent hit "Day Z."  The War Z developers were basically tarred and feathered for it.  Gamers may be fickle, but they are loud and they are loyal.  I can't imagine them defecting to some competitor who steals your code.<p>Beyond code, there's art assets.  You could release the code with a permissive license, and release art assets with a restrictive license.  Nobody will be able to catch up to you if they have to develop all new art for their clone.<p>I wanted to speak up as a voice from inside the game industry:  Don't follow industry conventions out of fear.  Their conservatism wasn't derived from experience.  Rather, it's because no studio wants to take any risks whatsoever.<p>Let's put it this way.  If Notch (the creator of Minecraft) hesitated to follow his instincts, he would've tried to write Minecraft in C++ rather than Java.  If, before Minecraft was written, he tried to convince any professional gamedev that using Java was a good idea for writing a multiplayer 3D game engine, everyone would've laughed in his face.  And everyone would've been mistaken, as Notch wound up demonstrating.  Java turned out to have many unexpected advantages new to the gamedev industry (e.g. the ability to deploy the game through a web browser and the ability to edit code without recompiling the engine).<p>So if you see an advantage in open sourcing your code, go ahead and do it.  Don't second guess yourself just because it goes against conventional industry wisdom.  The conventions are just groupthink, not pragmatism.