Sponsored By

Code Hero teaches programming through gaming

A new teaching tool for programming called Code Hero has taken it right down to the wire, fulfilling its Kickstarter pledge total of $100,000 just days before it was set to expire.

Mike Rose, Blogger

February 22, 2012

6 Min Read
Game Developer logo in a gray background | Game Developer

A new teaching tool for programming has taken it right down to the wire, fulfilling its Kickstarter pledge total just days before it was set to expire. Code Hero is essentially both a game and a programming tutor, in which players use the 'Code Gun' to shoot Javascript via the Unity 3D engine. Primer Labs, the team behind the initiative, hopes the combinations of gaming and learning will inspire kids and adults alike to try their hand at coding. The team's Kickstarter total was stuck around the $60,000 mark yesterday -- however, it received a significant boost of $50,000 over the last 24 hours, and has now reached its goal. Gamasutra spoke with Alex Peake, CEO at Primer Labs, about what he hopes to accomplish with the scheme. You say that Code Hero features a series of different games that encourage players to code. How exactly does it work? Code Hero is a game that teaches you how to make games from inside the games themselves. It is a first-person shooter that teaches you how to shoot code with a code gun. You point at objects that contain code and copy their code into the gun to load it. Then you can select between code you've found and fire it at targets to execute the code. For example, "y+=2" will move an object up 2. meters and "player.transform.position = hitObject.transform.position" will teleport you to the target. These are real Unity API calls, not a dumbed down "coding for kids" that you must outgrow to become a pro. The game begins in a core game world called Gamebridge Unityversity's API with a series of levels that teach you the fundamentals of the Javascript programming language and Unityscript game manipulation. Everything you first learn must be combined to overcome your first boss: FizzBoss. Yes, it is what it sounds like: FizzBuzz turned into an army of 100 invading robots that you must defeat with more than just sharp reflexes and "GameObject.Destroy( hitObject );". You have to figure out how to combine the for loop modulus algorithm with GameObject finding and manipulation, which tests your understanding of the Unity scene graph itself. Defeating FizzBoss helps you prove to yourself and the world that you have earned the right to call yourself an aspiring code hero, and at that point the rest of the game worlds open up through a place called the Humantheon. The Humantheon is like a Galactic Senate chamber featuring the world's most innovative code heroes as AI constructs and mentor NPCs. You meet them and learn about their impact on computing and gaming. We have you meet Al Alcorn the founder of the game industry tell you how he didn't code Pong, he wire wrapped it! You learn how to write a pong game and can add crazy mechanics to it and turn it into your own project. When I showed David, Nick and Joachim of Unity the part where you meet Joachim the Uniter to start learning downloading and learning Unity at Unite, I actually made Joachim burst into laughter. It was a big day for our project, and we've spent every waking moment since then producing a beta fit for Kickstarting. One of the most exciting heroes in the game is a personal inspiration to our team: Jens "Jeb" Bergensten [of Minecraft creator Mojang]. Mojang invited us to exhibit at Minecon in their indie showcase and meeting them was a turning point for us. Markus "Notch" Persson [Original Minecraft creator] and Jeb gave us the courage to just "make available" our game in its roughest earliest form by trusting our fans to support the development. Early sales of those alphas sustained me on Ramen till now to the point where we're Kicksarting to be able to pay our whole development team to take it on full time. We have an interview with Jeb turned into an interactive Jeb character in which he tells the player about how he became the developer of Minecraft, tips for someone wanting to get into the industry and a dream project he'd like to see the player attempt to create. Each of the different game worlds in Code Hero have you not just playing by but also learning how to build fundamental game mechanics. For example, we have a world much like Minecraft in which you learn how to build block harvesting and placement, inventory and crafting, all using an open-source Unity package you can download to continue playing with inside Unity3D. You own what you make based on that, so if you have an idea for a Minecraft-like game, this scenario doesn't just show you how you could do it, it gives you a starter kit with an engine that you could publish and sell to all platforms. The ultimate test of Code Hero is Ship Boss, the captain of the Real Artists Ship who demands that the player literally ship a game to "beat" Code Hero. That will entail gamification of the development process itself, with players participating in an in-game Gamejam-like experience that helps motivate them to keep at it by showing measurable proof of progress like builds and screenshots with friends. Which programming languages does the game teach? Code Hero starts with Javascript because it is the lingua franca of Web, Unity3D and server Node.js programming. We introduce the player to Javascript so they can branch into all 3 and eventually we'll take them deeper to meet the late honorable Mr. Ritchie to learn from C up and down below the Stacks into the Platforms to meet Charles Babbage and master computer hardware from the gearbox to the modern ALU's assembly. Then it will get really intense: We've got a prototype that puts Code Hero players into direct control of VMWARE-based Linux operating systems, so we can incorporate complete full-stack operating system coding of all types down to modding and compiling kernals in-game. You can imagine the implications if we were crazy enough to demo something like that at the most recent Chaos Communications Congress with kids running tools like Backtrack and Metasploit... Hacking the full stack in-game will be necessary to produce Real Engineers with the kind of computer science it takes to do more than just get by on a surface knowledge of a single API or language. Why will Code Hero be successful where other initiatives have failed? I've never been satisfied by any of the methods of teaching code, games or otherwise. Coding games tended to be "program the robot to do boring things by writing difficult code" or "put some legos together and it is sort of preparing you for actual programming". Tools like Little Big Planet are some of the user-generated content tools that I think at least get the "empower people with powerful game design tools" approach right brilliantly. Code Hero is very different. We give the player complete access to the very game engine they're in, Unity3D, and turn Unity3D's whole API reference into a series of interactive game levels that function as tutorials filled with challenges that let you have fun even if you suck and prove your mastery if you put in the effort. Every API level starts with copy-pasteable example code that "just works" for some of the challenges and progresses to harder ones where you must understand the code to tweak it. Levels end with dauntingly difficult unmarked challenges and secrets to be found that require you to totally grok everything the level teaches in order to apply the programming tools you've learned to fully master the level. This is an epic version of the "complete the level with one two or three stars" approach of games like Angry Birds.

About the Author

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like