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.
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.
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.
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.
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.
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).
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.
So here's a question for you: we spoke with a YC alum that has open sourced 90% of his codebase and recommended keeping a small subset of it proprietary. He said that when he was out fundraising it defused a lot of tension when VCs and angels would ask about his open source policy and he could say "well, I keep some of my hardest algorithms in a closed repo." As a game, we have the art, which I agree is a pretty substantial barrier to copying us (many tens of thousands of dollars in our case), but would you still recommend 100% open source vs 90 or 95%?
Well, you have users beating down your door. Fundraising is never easy, but you'll have a much easier time with it due to your popularity. And if Sequoia are smart, they will invest in you, because you've discovered an entirely new game design. Historically, whenever someone has invented a game design that turns out to be immensely popular (Pong, Doom, Minecraft, etc), that's almost always resulted in the company becoming a hugely successful game studio. So if you focus on growing your community and on keeping the game fun, then it's quite plausible your studio will be hugely successful too.
Additionally, if you release your code 100% open source, you will get an insane amount of goodwill from the gamedev community. Right now the community is starved for examples of open-source games that actually work. Right now newbie programmers can go find some code snippets for various little tasks, little parts of a game's engine, like how to draw a sprite. But a tangible, cohesive product? Something that newbie programmers can git clone and actually run, and which actually functions? That's almost unheard of. (Quake and Doom engines are open source, but they don't provide any art assets, so newbie programmers can't download the code and do anything useful with it.) And that's a very good position to be in, because it's unheard of in the same way Rails was unheard of before it became popular. Meaning, if you do it, then you'll earn the instant loyalty of thousands of indie gamedevs. The wonderful PR you'll receive will be such a huge benefit to your company that it seems totally unjustified for anyone to be concerned that someone will steal your idea by stealing your code. (For what it's worth, I know of exactly zero times it's happened in practice. Code theft is a very overblown concern, especially in a hits-based industry like game development.)
You'll also enjoy many intangible benefits derived from open sourcing a fully functional game. For example, after Rails became popular, 37signals probably found it much easier to find and hire talent, since they were a sexy company to work for. I would bet you'll wind up in the same position. In fact, just thinking about you open sourcing this game makes me want to go work for you. If newbie gamedevs can download it, run it, learn how it works, tweak it, and become inspired to make thier own games... well, that's what gamedev is all about. It's why kids want to be gamedevs rather than other kinds of devs. So you'll be a huge boon to the gamedev community, which means talented people will want to work for you because of it.
I won't claim to know what he thinks exactly -- maybe he's the alum you refer to? -- but I wonder if Samuel Clay (Newsblur, YC S12) would agree with that sentiment, given that he has published https://github.com/samuelclay/NewsBlur for all to see. I haven't committed to my own startup idea yet, but my plan for it does involve open-sourcing the code while keeping a custom corpus and its associated NLP models private.
> Gamers may be fickle, but they are loud and they are loyal.
Zynga. Zynga has made a fortune profiting off of other smaller outfits, just merely by studying and copying. They didn't have source-code (to my best knowledge), but they knew how to make a game mass-appeal. This happens more often in gaming than you'd like to think.
My advice (I work at a gaming company) is to hold all your IP close as possible. Game design, art assets, source code, whatever. You have a right to own it so why not hold on to it for a while until you establish a solid competitive advantage.
On the otherhand, your IP is very closely tied to how well you can integrate teaching. This is something others cannot do easily, so you have atleast that protecting you.
Zynga. Zynga has made a fortune profiting off of other smaller outfits, just merely by studying and copying. They didn't have source-code (to my best knowledge), but they knew how to make a game mass-appeal. This happens more often in gaming than you'd like to think.
But that's wrong because, as you say, if some company wants to clone an idea, they're not even going to bother reading the code, let alone steal the code. And I know of no one who's ever stolen code for a game since, say, 2003, and gotten away with it. Reddit changes the game. You can crucify a competitor for such behavior, and gamers will shun them.
My advice (I work at a gaming company) is to hold all your IP close as possible. Game design, art assets, source code, whatever. You have a right to own it so why not hold on to it for a while until you establish a solid competitive advantage.
I think your advice is coming from a gut feeling or intuition rather than experience. But empirically it's mistaken. It's a natural reaction to be hesitant to release code powering your product, but I'm pretty sure it's never been a problem in practice. They will get major major PR and respect, both of which can only help a fledgeling startup.
I don't share your point of view. Zynga - which is what I consider a web startup - has been at the origin of a revolution in the game industry. At the same time Activision did with Call Of Duty, this is one of the first company which leads the XP + items revolution. That was the first time you saw XP + items in a game from another style than RPG. This is also the reason of the success of the Call Of Duty franchise: COD 4 was the first FPS to have XP + item which were previously reserved to RPGs. Nowday, you can't find a game without XP + items. These things came from companies outside the game industry - except Activision and a very - very - few others.
The energy for example is now a main game design and monetization component you find in many, many video games published by the industry now and this is Zynga's invention. Also, Zynga uses big data far before any other big publishers did - except Valve.
My advice (I work at a gaming company) is to hold all your IP close as possible. Game design, art assets, source code, whatever. You have a right to own it so why not hold on to it for a while until you establish a solid competitive advantage.
Sorry, I think what they are doing has nothing to do with a video game IP. They are doing a product which solves a problem: it teach to code.
For all those common misconceptions (ie. see my other comment below), I strongly advice the codecombat devs to be careful of what is told from and about the game industry.
They didn't make that much, far from that. Id Software has been sold to zenimax with all its assets including their IPs and their people for only (edit: and around) 1 hundred million dollar - because they were runnning out of cash.
My advice to the codecombat devs is at the opposite of pg's one: don't talk to the game industry. Most of all those said big players of the game industry aren't at all. They are actually bad software companies with poor revenues. Ubisoft for example never made more than a dozen percents a year or similar - I mean they never made 300%. You could be worth more than Id Software and even Ubisoft "easily" following the valley advices instead of the game industry ones. Really it's a myth the game industry is making well. At least, nothing comparable to the web startups. Only a very very few of them actually does like Valve, Riot and Blizzard.
Edit - a source about Id Software acquisition: http://www.sec.gov/Archives/edgar/data/1092835/0001092835090...
That's not to say they didn't make many $ licensing it back in the early 2000s. That said in the case of this startup the tech itself is probably not where most of the value is.
Keeping up competitively means keeping your design better than everyone else's and keeping your feature set better than everyone else's. If you do that and open source your code, you'll be alright.
Id did open source some games, but only well after the main burst of sales had dried up.
Counterpoint: reddit and HN are open sourced (are they games? they have points...)
Just some data points, not advice.
For most projects/businesses, there's always a tension between open sourcing and making money, I really hope that we're at a market intersection where it actually makes monetary sense to keep things open.
real time simulations are hard. professional game devs need technology that enables them, and right now the engine-of-choice is unity (or some other 'real' engine).
Now hobbiests/hackers, sure, maybe they might find interest in your engine. But really no professional will care unless you can prove it's benefit.
Making a fun game is hard, making a good engine is damn near impossible.
PS: i am a game industry professional, and I've created my own engine.
The parallels, I think, really help demonstrate how the CC concept has the potential to change young people's lives.
I like your website and concept very much. Great idea, may you go places.
Edit: What languages will I be able to learn through this?
When you say the code editor disappears, do you mean the entire right pane of the player screen? Could you send me a screenshot and any steps to reproduce it at george@codecombat.com? Would love to get that fixed for you.
What browser are you using by the way? Although it's technically capable of running on FF, we had a lot of problems on FF and basically told people to just use Chrome after a while. We need to get it working properly on FF, but that's the simplest solution for now.
Yes: polish is definitely coming up! I agree with you that the whole "switch between mouse and keyboard" thing is bogus, we need a more complete keyboard shortcut list.
The languages we are most interested in teaching are Javascript, Python, and Ruby in that order, but it will be a little while before it's ready for those new languages to be added. In the interim we're just going to be building out content for the JS campaign.
Awesome. Looking forward to new additions.
Which is too bad, because I'd love to show her that programming isn't as "hard" as she thinks it is.
Good luck at YC!
Last year as a pet project I ported Terrarium.Net to javascript (this is definitely not noob-friendly at the moment but it is open source :) )
http://terrariumjs.wiselabs.net/
The idea is to code the behaviour of a critter that can move / attack / eat and reproduce.
So a species that survives well can grow and invade a terrarium.
But the cool factor is the blue ball. It is actually a teleporter that sends critters randomly to someone else's terrarium, so your critter can invade other terrariums too :)
Here's a small big from the couple minutes I spent playing with levels 1 / 2: While it does execute the code on the right perfectly even if it's not the expected optimal entry, the camera focus during a playback will lose sync with the "spells" if you add a few extra calls like moving left and right.
Ah startups...
here is an earlier site called RubyWarrior that works similarly.
I knew I recognised the names from somewhere.
Best of luck with this new venture!