GSoC/GCI Archive
Google Summer of Code 2014


License: MIT license

Web Page:

Mailing List:

CodeCombat is a multiplayer programming game for learning how to code. It's both a startup and a community project, completely open source under the MIT and Creative Commons licenses. It's the largest open source CoffeeScript project by lines of code, and since it's a game (with really cool tech), it's really fun to hack on. Join us in teaching the world to code! Your contribution will go on to show millions of players how cool programming can be. CodeCombat is also one of the fastest-growing open source projects ever:


  • Building the Next-Gen Mobile Code Editor for CodeCombat CodeCombat currently does not offer the users to code on their mobile devices. This proposal designs an editor that allows mobile coding taking into consideration the limitations such as the work that is connected to writing longer texts on the small keyboards. To achieve a better experience the design tries to make the user type as little as possible and get the most useful code out of it. For this it relies on extensive knowledge about the code to offer help and reduce typing.
  • CodeCombat Classic Algorithms Campaign After trying CodeCombat for the first time I was impressed and became a big fan of it. I find the idea of learning programming while playing and having fun in the same time great and think that more should embrace this concept of teaching through games , making the learning process fun and stimulating for the students. That's why for GSoC I intend to create basic and advanced campaigns for players which will teach them the basic algorithms all programmers should know.
  • Developer Window CodeCombat will have a developer tool usable by both Archmages and Artisans to easily debug and develop CodeCombat.
  • Proposal for upgrading the CodeCombat Level Editor The goal of the project is to improve the CodeCombat level editor from a usability point of view. The current editor is versatile and powerful, but has a high barrier of entry. I'll be performing usability tests to determine the UI issues, and then design and implement a more intuitive interface for the editor. I'll also work on reducing the inherent difficulty and tediousness involved in designing a new level from scratch.