Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
October 21, 2014
arrowPress Releases
October 21, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 Code Hero  teaches programming through gaming
Code Hero teaches programming through gaming Exclusive
February 22, 2012 | By Mike Rose

February 22, 2012 | By Mike Rose
Comments
    12 comments
More: Console/PC, Exclusive, Programming, Business/Marketing



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.


Related Jobs

Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[10.21.14]

Senior UI Artist (temporary) Treyarch
Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[10.21.14]

Lead UI Artist
Infinity Ward / Activision
Infinity Ward / Activision — Woodland Hills, California, United States
[10.21.14]

Senior AI Engineer - Infinity Ward
Treyarch / Activision
Treyarch / Activision — Santa Monica, California, United States
[10.21.14]

Senior Software Engineer - Treyarch










Comments


[User Banned]
profile image
This user violated Gamasutra’s Comment Guidelines and has been banned.

Eric Geer
profile image
I think they were referring to the "video" game industry though not specifically noted.

Jeremy Alessi
profile image
Great job Alex, this is a really special concept and I was glad to witness it at Unite. Congratulations!

Craig Page
profile image
I will only play this if it:



A) Has achievements.

B) Has four or more versions released every year.

C) Has a "Code Hero: Aerosmith" edition that costs full price at first, but then quickly drops to $4.99.

John Ingato
profile image
I don't want to sound negative, but if your going to be teaching coding then they should at least be teaching C#. Javascript has no place in game programming

k s
profile image
I work in C# and love it so I'm in total agreement.

Nathaniel Marlow
profile image
It's important to note that it's a pretty much a misnomer to call what Unity uses Javascript (and also puzzling as to why they originally decided to call it that). Lots of people call it Unityscript in the interest of being less confusing.

Victor Reynolds
profile image
seems interesting. hopefully many of the unity forum members will play this game and learn something. yeah...i went there.

Titi Naburu
profile image
This sounds ridiculously cool. I'd love to play this!

Gary Page
profile image
Game Hero is a "disruptive innovation" that will help teachers reach students who love gaming. I believe this new instructional strategy will eventually go mainstream, and reach students who are not reached by more traditional methods. Alex Peake is to education what Steve Jobs was to smart phones... go Alex!

Herbert Fowler
profile image
This is awesome. Take my money.

Ryan Wehnau
profile image
This is exciting! I've been trying to think of how to implement programming code as a game. I had the abstract idea of a strategy game where players had to out-code/manipulate their opponent's code in some way, like a fast-paced code battle.
You guys really took this idea to a whole new level! Rock on.
I'm just glad somebody was able to bring this concept to life.
Congratulations!


none
 
Comment: