News

Code Hero Alpha 0.33 adds browser integration

Wednesday, March 13, 2013 - 12:04pm

The release of Code Hero 0.33 adds web browser integration to help Code Hero players beat the game and learn beyond it: The browser helps search for answers to Unity programming questions to use in the game and it also guides players through installing the full Unity game engine.

You can access the browser with the "question mark" button in the toolbar (Hit the B key to access it while playing):

Using the Unity API script reference within Code Hero

The code players use in Code Hero is Unity Javascript code, and the Unity API reference is the primary source of information about what Unity code can do.

You can use the API Reference's search box to look through the many classes Unity provides to learn how to use their methods and properties.

Many pieces of example code you find in the API Reference will work in Code Hero.

And everything you learn about Unity code that applies to Code Hero will carry over to leraning the full Unity game engine when you're ready.

Using the Unityversity guide and tutorials for learning Unity

Last week we featured the updated Unityversity section of the Code Hero site, with the Unity 101 and Coding Jar interactive unity tutorials that you can try to start learning Unity right away. Now players are introduced to the Unityversity guide directly inside Code Hero through the browser.

A new door in the Gamebridge lobby now takes players to a level that introduces the guide to learning more about Unity.

This is still experimental and we're working to facilitate the Unity installation and launch of the interactive tutorials to continue the guided experience once people try Unity for the first time.

There are now 3 inflection points for players to start with: Code Ray 101 which introduces the basics of Code, The tour from Arcade to Shipyard to make a first simple level, and the Unity game engine training.

We'll be working to unify these in the next alpha so that the tour starts with Code Ray 101 and ends with the Unity game engine training.

[Code Hero 0.33 requires some bug fixing that is taking longer than expected, it will be up for download as soon as possible]

How to start learning Unity programming

Tuesday, March 5, 2013 - 3:34am

We're developing a guide to learning Unity game programming to help you the Code Hero player take your next steps to applying the skills taught in the game to making real games of your own.

The Unityversity page now features this guide to going from game playing to game making with Unity.

Click here to read the Unityversity guide to learning Unity

Code Hack #2: A Physics-based car

We've also added a second code ray hack demonstrating how the code ray can create a car with rolling wheel physics.

Coming Soon: the overhauled Javascript level teaches the programming language syntax itself in a more engaging way than before, completing the training players need to reliably master Javascript and beat FizzBoss.

Code Hero Kickstarter Anniversary Update

Saturday, February 23, 2013 - 9:07pm

It's been a year since Code Hero's kickstarter and we're releasing a new build with a redesigned Code Ray 101 orientation level to introduce players to the code ray mechanics and code editing.

When you start the game and enter Gamebridge, you can reach the new Code Ray 101 level from the entry hall or the Unityscript cube in the Library during the tour.

This is the first step towards overhauling the whole beginner experience for players to learn how to manipulate code and the Javascript, Transform.position, and GameObject levels will get the same treatment in upcoming updates.

Download the new version now.

Code Ray 101 Walkthrough

Stepping into the massive, brilliantly lit room, I feel as if I’ve entered a strange dream.  All around me are doors like the one I’ve just come through.  Where might they lead?  Before I have a chance to find out, some form of elevator descends from the swirling blue void above, and upon it, a single mysterious glyph.  A beautiful, yet oddly unnerving voice compels me to take the glyph, and tells me that it is my Code Ray, a common, yet somehow unique item of limitless power.

I lunge forward and take the glyph into my hands, and as I do, it fades away, leaving nothing but a peculiar sense of ability I had not felt before.  I move forward, eager to discover what power this Code Ray may have granted me.

The Code Ray is indeed a powerful tool, granting the ability to do no less than change the world itself.  This is why some amount of instruction in its safe use is in order, and that is precisely what you’ll find in the Code Ray 101 orientation level.

The Code Ray allows you to write and execute UnityScript, a language composed of special words and punctuation.  We’re going to cover some of the basics of how this language works. Let’s begin.

Like any other language, the words in a programming language need to be spelled right, and must be in a particular order if you want the collection of words to have any meaning.  This concept is known as Syntax, both in spoken language as well as in programming languages.  Let’s take a look at the code “sentence” below.

print(“hello world”);

This code “sentence” has several important parts to it, and those parts need to be put together in the right way if you want them to work.  The first word, print, is a command, a special programming word that makes things happen.  The print command can make words appear on the screen, but only if you tell it which words you want it to print. We have to tell the computer what we want to print, and we do this by providing an argument inside a pair of parentheses, (  ).  Commands almost always need some kind of argument, even if it is an empty argument.  In fact the entire print command requires parentheses, print() 

To print the words “hello world”, we put those words inside the parentheses like this: print(“hello world”);

When you fire your Code Ray, the computer reads the command print() and reads the argument “hello world” and on the screen appears:  hello world

The last part of the code is a semi-colon  The semi-colon does a very important job; it tells the computer that you’re done with your command.  Each command you write needs to have a semi-colon at the end of the line, so the computer knows when to move to the next command. 

Most of the commands you learn will work in this very same way, requiring a command, an argument, and a semicolon. 

See if you can identify the command in the line of code below:

hitObject.AddComponent(Rigidbody);

Wow, that’s a strange looking code sentence.  It has what looks like TWO commands with a period in the middle, and the argument doesn’t have any quotation marks.  But it isn’t as strange as it appears, once you know your Syntax.  Let’s take a quick look, without getting too deep into the specific of what this code does.

hitObject.AddComponent isn’t two separate commands, it is a command that we are issuing to an object. Let’s write it a different way, so it makes a little more sense:

dog.command(sit);

Can you see what’s going on now?  We’re telling a specific object, dog, to obey a command, and the command argument is to sit.  There can be a LOT of objects in a program, so we have to specify which object should obey our command.  Let’s take another look at the original code:

hitObject.AddComponent(Rigidbody);

It looks like we’re telling an object called hitObject to Add a Component, and we want that component to be a Rigidbody.  Even though you might not know what those things are, it’s easy to read what the code is basically doing.  In this case, the code will add a Rigidbody component to whichever object got hit by the Code Ray beam.  So, when you shoot this code at a Cube, a Rigidbody component is added to the Cube.  This is important for the next line of code:

hitObject.rigidbody.AddForce( player.transform.forward * 100000);

Can you figure out what’s going on here?  I know, it looks pretty complicated, but let’s break it down and see if we can’t figure it out.  We already know what hitObject is, and now we know that a Rigidbody is a component that we added to the object that was hit, but what is AddForce? Well, it adds force, or a change in movement, to the Rigidbody of the object that was hit.  In other words, it is a command that can move the cube.  So, if we’re telling the cube to move, we must also want to tell it how to move, and we do that as an argument, inside the parentheses.  Let’s break the argument down to see if we can figure out how the cube will move.

player.transform.forward * 100000

Can you figure it out on your own?  Don’t let it confuse you, just use what you’ve learned already.  We want the cube to move, and this is where we tell it how it should do so.  And even though you see the word player in there, doesn’t mean we’re going to move the player.  What this means is, we’re going to make the cube move, and how it moves will be related to the player in some way.  In this case, player.transform.forward is telling the cube which direction to move, the direction that is forward from the player’s point of view.  We won’t go into the details right now, but by multiplying player.transform.forward by a number will make the cube move forward with a greater amount of force.  The bigger the number, the more force that is added to the cube, and the further it will move.

So, this command really isn’t as complex as it looks.  We’re just adding force to the rigidbody of an object, and the force will be toward the direction the player is facing.  Simple!

While it is definitely more exciting to blast objects into the stratosphere, sometimes you will want to move an object with a bit more precision.  This is where our last line of code can come in handy.  Let’s take a look.

hitObject.transform.position.y = hitObject.transform.position.y - 2;

Hmm… this code is different somehow.  Can you tell how?  That’s right, there aren’t any arguments.  Arguments are used by commands, but this line of code isn’t really a command.  It’s a way for us to change an attribute of an object directly. 

First of all, in 3D worlds, the Y position can be thought of as the up/down position. We are setting the Y position of the object to be equal to the current Y position, minus two.  So in other words, if the cube is 10 feet above the ground this line of code would bring the cube down to 8 feet above the ground.  It takes whatever it currently is, subtracts 2, and makes that the new Y position. 

Well, that’s the end of the Code Ray 101 level.  I hope this intro to the Code Ray has been useful to you.  Happy coding!

How to make a code ray do amazing things #1

Tuesday, February 19, 2013 - 10:26am

This week's update comes from Shaun Hansel, Code Hero's new community manager. Shaun encountered the original Code Hero prototype while teaching computer science. It was his first exposure to Unity, and he learned Unityscript by playing it, beating the original FizzBoss, and experimenting with more things he could get the Code Ray to do. Then he started challenging his students to create things with it and this was the first of those challenges:

After teaching for several years, I learned a very important lesson; kids like doing things they aren't supposed to do. Since my whole goal as a computer science teacher was getting my students to actually like computer science, I took this lesson to heart, and started assigning projects requiring the students to do the unintended. They loved it.

So, occasionally I’ll be detailing some of the “hacks” I came up with, with complete functional code and an explanation of what each line of code does. I hope this will inspire you to try your own “hacks” and get you exploring in the massively open world of Code Hero.

The first “hack” I’ll be showing you is actually a simple modification of the code provided in one of the training areas of Code Hero, the GameObject level's staircase room reached inside the Unity cube of the Library. We’ll be creating a spiral staircase in this version, with shiny, alternating colored stairs. 

So, let’s dive in.

var stairHeight = 200; 
var newYRotate =0;
var newZPos = 0;

This section defines the variables used later in the script.
stairHeight - The number of steps to be generated. 
newYRotate - The transform.rotation of the next step to be created.
newZPos - The transform.position.z of the next step to be created.

var centralSup : GameObject = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
Creates a new GameObject, and sets it up to be a Primitive 3D object, a cylinder. This will be our central pillar supporting the stairs.

centralSup.transform.localScale = Vector3(5, stairHeight, 5);
This line changes the transform.scale of the central pillar. The cylinder will be circular, and uses the stairHeight variable(# of stairs) to determine how high the pillar should be.

centralSup.renderer.material.shader = Shader.Find(' Glossy');
centralSup.renderer.material.SetColor ("_SpecColor", Color.red);
centralSup.renderer.material.color = new Color(0.0f, 0.0f, 0.0f);

The first line here sets the shader of the material to “Glossy” which means it will be shiny.
The second line sets the Specular Color to Red, making the shininess appear Red.
The third line sets the base color of the cylinder to Black.
The overall effect you will see will be a black pillar anywhere the pillar isn’t being hit directly by light, and red wherever it is hit directly be light.

centralSup.transform.position = hit.point;
This line positions our new cylinder to be the location the code ray hit. Usually, this is somewhere on the floor.

for ( i = 0; i < stairHeight; i++) {
Obviously we don’t want to go through the work of creating each stair manually, that would be a lot of code. Instead, we will use a loop to do the work for us. In this case, since we know how many steps we want, we’ll use a For Loop. The first part i = 0; creates an Incrementor variable that starts at 0. The second part, i < stairHeight; tells the loop when it should run; this says, run while the incrementor variable is less than the stairHeight variable, which is the number of steps. The last part, i++ tells the loop how much to increase the incrementor variable by every time the loop runs. In this case, we want it to increase by 1. So, this loop will run 200 times, starting at 0, and ending at 199, stepping up by one each time. That’s 200 Stairs

var step : GameObject = GameObject.CreatePrimitive(PrimitiveType.Cube);
Just like when we created the central pillar from a 3D primitive, now we create the stairs from a 3D primitive, this time a cube. This line of code is inside the loop, so it will run 200 times, creating 200 total stairs.

step.transform.position = hit.point; 
Just like with the cylinder, this sets the transform.position of the stairs.

step.transform.position.y+=i;
Without this line of code, we would have a giant support pillar, and what would look like a circular platform at the bottom of it. This line increases the height of each step by using our incrementor variable. Step 1 is 1 high, Step 10 is 10 high, and Step 200 is 200 high. This ensures each new stair is equally distant from the previous one.

step.transform.Rotate(0,newYRotate,0);
Without this line, we would have one giant pillar with fins sticking out along the length of the pillar. This line rotates each step around the central pillar, using the variable newYRotate. We rotate around the Y axis, increasing the amount of rotation for each new step every time the loop executes.

step.renderer.material.shader = Shader.Find(' Glossy');
step.renderer.material.SetColor ("_SpecColor", Color.red);
These two lines setup the shader type and Specular color for the stairs. Glossy and Red, just like the pillar

if(i%2==0){
   step.renderer.material.color = new Color(1.0f, 1.0f, 1.0f);
}else{
   step.renderer.material.color = new Color(0.0f, 0.0f, 0.0f);
}

This block of code, an IF Statement, decides what color each stair should be, alternating between black and white. Let me explain how it works. The first line if(i%2==0) is asking if the incrementor variable i is an even number. If it is, it sets the color of the stair to White. Otherwise, it sets the stair color to Black. The % symbol is known as Modulus, and when used, returns the remainder of division. If the remainder is 0, i is an even number. If it is ANYTHING else, i is an odd number. You can read i%2 as “remainder of the value of i divided by 2.”

step.transform.localScale += Vector3(20,.2,1);
This line sets the transform.localScale of the stairs.

newYRotate+=15;
This line increases the Y rotation for each stair by 15 each time the loop runs. This means each stair will be 15 degrees higher than the previous.

And that’s it. We create a central pillar, which is really just there for looks. We generate the stairs using a loop, and we change the color of each step using an if statement with a modulus. These are some extremely powerful programming concepts that you will use regularly when coding, so keep them in mind, they’ll definitely be useful to you.

I hope this has been educational and interesting to you, and I hope you go try this out in Code Hero. Moreover, I would like to see some of you make some improvements. Maybe add a handrail; these steps are easy to fly off when you’re running up and down them. Maybe start the rotation of the stairs on the edge of the stair, rather than the middle. Change the step height to be more natural. Or, do something completely different. This was the first challenge I taught my students to do, and we'll be sharing many more.

Please feel free to email me at shaun@primerlabs.com with your own hack. If it’s cool, maybe we’ll feature your work in a future update.

Last week's update and Alpha 3 focused on providing the FizzBoss challenge to test Unityscript algorithm and manipulation skills taught in the game. Next week's update will be the 1 year anniversary of Code Hero's Kickstarter and it will come with Code Hero Alpha 4. Alpha 4's focus is on teaching code skills step-by-step so every beginner who plays will be able to master the skills to beat FizzBoss. It starts with a new Orientation level that introduces how to use the code ray and a new Unityscript level to teach the Javascript programming language itself. Here's a peek at the new Orientation level coming soon:

Here's the complete code of the above example for easier copy-pasting:

//Vars
var stairHeight = 200;
var newYRotate =0;
var newXPos = 0;
var newZPos = 0;

//Central Support Cylinder
var centralSup : GameObject = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
centralSup.transform.localScale = Vector3(5, stairHeight, 5);
centralSup.renderer.material.shader = Shader.Find(' Glossy');
centralSup.renderer.material.SetColor ("_SpecColor", Color.red);
centralSup.renderer.material.color = new Color(0.0f, 0.0f, 0.0f);
centralSup.transform.position = hit.point;

//Step generation. Set staircase height with stairHeight Var.
for ( i = 0; i < stairHeight; i++) {
var step : GameObject = GameObject.CreatePrimitive(PrimitiveType.Cube);
var rail : GameObject = GameObject.CreatePrimitive(PrimitiveType.Cube);
step.transform.position = hit.point;
//diagonals
step.transform.position.y+=i;

//diagonals
step.transform.Rotate(0,newYRotate,0);
step.renderer.material.shader = Shader.Find(' Glossy');
step.renderer.material.SetColor ("_SpecColor", Color.red);

//Alternate Step Color
if(i%2==0){
   step.renderer.material.color = new Color(1.0f, 1.0f, 1.0f);
}else{
   step.renderer.material.color = new Color(0.0f, 0.0f, 0.0f);
}

step.transform.localScale += Vector3(20,.2,1);
rail.transform.localScale += Vector3(1,3,1);
newYRotate+=15;
}

Kickstarter Update Alpha 3

Monday, February 11, 2013 - 9:31pm

This is the first of our now weekly Code Hero updates and it comes with a new build, Code Hero Alpha 3. We'll be updating every Monday and posting new builds with the first update of every month and incremental builds with as many of those updates as possible.

Alpha 3's focus is on on improving Labyrinth, FizzBoss and Login.

  • Better step-by-step blinking instructions in the Labyrinth mission that starts your tour towards shipping your first game
  • Restored and improved FizzBoss challenge for you to test your Unityscript programming skills against. 
  • The FizzBoss briefing Ada gives you has been improved by allowing her to answer questions the player may have about different aspects of the challenge. This lets you get as few or as many hints as you may need
  • We'll expand on the Briefing hint questions to make them more comprehensive and reflective of the questions our players have in tackling this first major programming test.
  • You can play using Guest Mode if you have any problems with login.
  • Login should work using the account name that you have on the PrimerLabs site under http://www.primerlabs.com/user and the password you set there.

You can dowload Code Hero Alpha 3 and try beating the improved FizzBoss for yourself.

Preparing For The FizzBoss Test

Your first programming test is to defeat an algorithmic assault of robots with a familiar looking number pattern. Destroy them by any code necessary. It will demand everything you've learned about Unityscript and Javascript to win the day. Remember: This mission may seem impossible - but impossible is what coders do.

The levels you'll want to complete before taking on FizzBoss are:

  • Unityscript - this ends by teaching you to write the FizzBuzz algorithm. (This level is undergoing reconstruction, and the original Kickstarter prototype version of it actually works better at the moment.)
  • Transform.position - this teaches you how to move objects
  • GameObject - this teaches you how to make, name, find and destroy objects

All these levels are found in the Library's Unityscript Cube.

Once you've understood the basics of Unityscript's Javascript syntax, how to move objects with transform.position, and how to print object names to GameObject.Find them and GameObject.Destroy them, you're ready to take on the FizzBoss challenge.

How to find the FizzBoss Challenge

FizzBoss is found on the north-east corner of the Campus to the right of the Humantheon with the angry-looking character on top.

The History of FizzBuzz

FizzBuzz is a famous programming question asked of programming job applicants to determine elementary programming ability. As such, it makes a great first test for aspiring programmers to pass to prove to themselves that they've understood basic programming syntax and problem solving.

The popularity of FizzBuzz originates from a blog post called Why can't programmers program? quoting Imran on Code.

Rosetta Code has examples of FizzBuzz in numerous different programming languages.

FizzBoss is a Unity game programming twist on this classic that challenges you to defeat 100 specially named FizzBots.

What's next to teach core programming concepts

This is an incremental release improving on Alpha 2 to get the game's current content working more smoothly.

In upcoming releases we'll be improving the learning path further with an overhaul of the Unityscript programming language levels to teach the core language itself. This will make it much easier to grasp the concepts needed to beat FizzBoss. If you currently find FizzBoss too hard and want the programming training to improve, you'll like the improvements we're working on next!

Our foremost goal right now is to provide a complete learning experience that's ready for learners and students to use in schools. The content we're working on gets players up to FizzBoss-level programming language mastery. 

The path to transfer skills from Code Hero to Unity to building games to shipping them

Many people new to game development may not be familiar with the Unity engine that Code Hero teaches players how to develop with. We're working on an easy-to-follow guide both in the game and on our web site to help players follow this progression:

  • Play Code Hero and learn to code games by playing puzzles. 
    • Build simple games with the in-game editor and share them.
      • Create real games with Unity
        • Start from one of Unity's tutorial templates or complete game templates 
        • Build something from scratch if you feel ready and have some good support to help you figure it out
        • Use the Asset Store to find one of the manyand assets worth using in your games
        • Share your games by posting them online.
        • Ready your games for shipping. 
        • Ship your games.
          • Anything you create with Unity can be built with controls for any platform you want to focus on.
            • Mac/PC/Linux and Steam
            • web browsers
            • Flash, phones and tablets with iOS or Android
            • consoles like Playstation/XBox/Wii/Ouya

          See You Next Week

          This has been the first of many weekly updates to come. Last week was mostly about the Kickstarter and the project's status and this week has been mostly about an update to the game itself, but we'll be covering the ongoing progress of the project as a whole and answering lots more Q&A in the weeks ahead. We now have Shaun Hansel as our new community manager and he's doing a great job of helping us organize updates and communicate with the community. If you have feedback or questions you'd like to see answered in our upcoming updates, email Shaun or Alex.

          Kickstarter Update Alpha 2

          Friday, February 1, 2013 - 11:00pm

          KICKSTARTER FEBRUARY UPDATE & ALPHA 2 RELEASE

          Here’s a quick summary of what’s new with Code Hero:

          Our Communication With Backers Needs To Improve

          Our communication with our backer community needs to improve dramatically to keep backers informed on how the project's progressing. Here's my personal apology for the communication failures so far:

          Hello backer. I owe you a thanks for your support and an apology for our lack of updates on all the progress we've made with your help. I started the Code Hero project to make a game that teaches people how to make games and you backed us to help make that happen. We are going to finish this game for you and everybody else in the world who wants to learn how to code.

          I believe in this mission and I'm grateful that you and so many others have believed in Code Hero too and supported us to work on this project. I worked on the idea to make a prototype for a year before asking for your help on Kickstarter, I built a team to work on it for a year since, and we are committed to finishing this game and continuing to add to it so you can make games of your own.

          Game development is hard and many studios and projects fail, but I can't let you down because what we're making is important. It's important to me personally to give all the people in the world a way to learn to code that is actually fun. I won't let any obstacles stop the Code Hero team from completing this. It's my life purpose to make this game because I want to see you make games of your own. Software development is hard work and we're behind schedule and solving technical challenges to add player level creation much harder than the already huge creative challenge we set ourselves to begin with. But every big project faces big challenges and we're going to figure ours out and get the game out and keep updating it and expanding it to make it grow to keep challenging the skills of our players as they learn more and more game coding skills.

          Many of you may not have tried the alpha we showed and released at PAX or alpha 2 which we're releasing today. I encourage you to download it and try it and see how much we've accomplished so far. The first alpha shows a world called Gamebridge Unityversity and your first mentor Ada Lovelace who guides you through the tour of the game. First you visit the Arcade you can play and post player-created games built with the world editing tools, but first you visit the Labyrinth where you learn how to edit the game's variables to beat it. Next you visit the Library where you can learn about Unityscript programming. Then you visit the Real Artist Shipyard where you're introduced to the Scenebox world editor to make and ship your first level. The tour is designed to take the player from playing an adventure game to making their own right from the outset. It isn't complete yet, but it shows what we built and we're hard at work expanding on that first release to get the new functions fully working and the new training levels fleshed out.

          We're releasing a new second alpha to show what we've added since then and we're working towards a third more feature complete alpha that will be ready for general use as a complete learning tool.

          I know the level of frustration some people have is high right now and that it is my fault for not communicating about our ongoing progress, but I want to reassure everyone who has backed us not to panic: Code Hero is not dead and we will not let our supporters and Kickstarter backers down. All our backer rewards will be delievered along with the game. It is taking longer than we hoped, but the game is becoming awesomer than we planned too. I'll post a more detailed update soon with the new alpha build and answer any questions and concerns people may have.

          If you'd like to reach me, my email is alex@primerlabs.com and I will answer your all your questions or concerns.

          The plan for communication with backers in the future

          We'll put out regular updates and playable builds with screenshots and video of new art and gameplay in development on the first of every month. We'll also blog as frequently as we can, with about one smaller post per week showing what we're up to.

          Who will take responsibility for making sure community communication improves?

          Code Hero has a new dedicated community manager, Shaun Hansel. Shaun has experience teaching programming and using Code Hero and Unity in college classrooms, and he’s been the most active developer of innovative hacks and creations since the very first Code Hero prototype

          A word from Code Hero’s new community manager, Shaun Hansel:

          I taught students how to code in Java for several years, and I had been using games as a teaching device, to keep students interested and engaged.  When I learned about Code Hero, downloaded and played the prototype, I was floored.  It was a genius idea, and I just wanted to see it completed. I installed the prototype version on some of the computers at the school, and had my Computer Science students play it. They loved the idea, and had a great time trying to do things the game wasn’t intended to do. Genius.

          After playing through the prototype, I hit the website and read everything I could about it and the company, and there I learned about Unity.  I downloaded a copy and went through the tutorials on the Primer website, and learned how to load a level.  Hey, Code Hero has levels, and it was made in Unity, so...

          Code Hero was the reason I decided to learn how to use Unity. My original goal in learning Unity was to be able to better hack Code Hero, and make it do things it wasn’t meant to do, like drive cars or play Pong. I’m still very excited about Code Hero, and because of it, I’m working on a few of my own games in Unity now. 

          With my bio out of the way, I’ll get down to business.  I will be working with Primer as the new Community Manager. Primarily I will be focusing on keeping lines of communication clear, both from Kickstarter Backers and fans, as well as from the Code Hero team.  I will be working toward making the Primer Forums a central line of communication to and from the community.  I will also be monitoring the Kickstarter comments and the Facebook Code Hero Army pages, and will ensure everyone receives the same information and response to questions in a timely and regular manner.

          While we wait for the next version to come out, I highly recommend you download the latest version and play around with it. Maybe download Unity, read some tutorials, learn some Unityscript, and come prepared for the next version.  

          - Shaun Hansel, shaun@primerlabs.com

          Questions & Answers

          We're adding a summary of the answers to questions people have asked us here. We'll continue to add to the Q&A and summarize the whole plan for going forward as best we can. We realize that these answers may not be enough for some, and we're not going to be able to make everybody happy until we deliver the game after a lot more hard work and perseverance. You may still have doubts about our chances of success, but we whill not waver in our commitment to finishing this project and creating an awesome game about making games. All we ask is the patience and support to continue our mission and finish the job because however difficult it is and however long it takes, Code Hero is going to make learning to code easier and faster and the work and time will be worth it for all the lives it can change when it is complete.

          How we began

          I began developing Code Hero on my own in January of 2011. I hired some programmer friends to help me make more progress and we built a playable game prototype.

          The Original Prototype

          The original prototype was a short but playable game with a code ray that shot javascript and executed it upon the thing you hit. It taught the Javascript syntax, GameObject.CreatePrimitive and .Destroy, and Transform.position with Portal-like puzzles, and it challenged the player to beat FizzBoss, a test of programming skill.

          The plan to expand Code Hero into a full game

          The original code ray puzzle solving was a gamer-friendly way to teach players to manipulate objects with code, but to teach players how to put together their own worlds required a way to create and edit objects and attach code to them. This required building an interface for editing, loading and saving Unity game levels. To do this required much more sophisticated programming and design than the original code raycasting prototype, and we knew we needed to raise money to do that.

          Our plan to finish the game with the Kickstarter funding we had

          We narrowed the game’s goals down to 3 things that players would be introduced to by Ada Lovelace in a tour of the Gamebridge Unityversity world:

          1. The Arcade: Playing Labyrinth levels that you can hack from within to introduce how games work and playing user-created games made by other players.

          2. The Library: Unityscript puzzle levels that teach and test your mastery of Unity programming concepts, with levels for each of the core classes.

          3. The Shipyard: The ability to create user-generated levels and share them with other players online. We wanted players to be able to get used to the powerful level-editing and programming tools of Unity within a fun and safe game environment so they could take their skills directly into real Unity game development.

          This was our plan to expand the original prototype into a fully fledged game to teach game programming. 

          The Kickstarter

          We launched the Kickstarter in January 2012 with a $100,000 goal. The Kickstarter ended on February 23, 2012. In the last 10 days we went from We raised $170,954. We finally had the resources to build it.

          Kickstarter charged 5% while Amazon charged 3-5% for credit card processing fees. After fees, we had about $153K to work with. We estimated costs of making and shipping all physical rewards at about $30,000, which left us about $123K for development costs. 

          Our first priority was to hire more programmers and artists to get the game built. Team leader Alex Peake was already doing code, art, music, design, writing, and so on. We hired a producer, an instructional designer, 3 Unity programmers and 2 artists for the game itself, plus 3 web developers for the site’s design, Drupal development, server administration and core C# level upload/download backend. 

          Everyone on the project worked for low rates to make the money last and help the project we all believed in succeed. To make it work on a low budget, 6 of us became roommates in the cheapest place we could find near Noisebridge hackerspace where most of us met. We filled it with bunkbeds, worked together every day and still live together now. IGN generously gave us free office space as part of their indie game incubator, and we worked there alongside other indie developers in cubicles most of the time.

          Altogether, our payroll went from about $15K to about $25K per month and should have lasted us about 6 months. We thought that would be enough time to develop the prototype into the fully fledged game, and we set to work building it. 

          Why did the project run out of money

          Code Hero’s development was highly complex and everything took longer than we expected. Below is a more detailed breakdown of some of the things that delayed the project. On a tight budget, delays aren't recoverable by asking for extensions like with a publisher, and each slowdown bit into our remaining funds.

          We had completed preparations to order and ship the physical shirts and boxes when we realized that at that burn rate we weren't going to have enough money to finish the game and we'd be shipping shirts and boxes for a game that wouldn't come out unless we found a way to fund the rest of the development.

          What happened when we ran out of money

          We'd been talking to investors about raising more money to fund development to completion. When the funds literally ran out, many of us kept working knowing we might not get paid for it because of our faith in what we were building and our belief that we'd find new funding. Funding talks fell through, and most of the full-time team had to find other work to pay the bills.

          What Caused Delays

          A number of creative and technical challenges cost us precious time. These aren't excuses and we're responsible for our mistakes. This is a partial list of them:

          Leadership: I, Alex Peake, as the originator of Code Hero and leader of the development team, bear chief responsibility for the whole of the project. Everyone on the team worked incredibly hard and did terrific work, and I'm proud of what we accomplished and I am responsible for not leading the team better and correcting our course early enough to narrow the scope and get a good game done with what we had instead of holding on to the original plan about what the game needed to be. I've learned a lot from my mistakes, and I'm going to take heed of all the advice and lessons learned through this to take responsibility for turning this project around and getting Code Hero back on track and funded and completed so people can play it and learn to code and make games of their own.

          Inexperience: Most of our team was made up of talented students and indies rather than long-time game industry veterans. We were figuring it out as we went along by asking more experienced developers how we should do things. This cost us a lot of time.

          Doing things that haven’t been done before: It’s hard to find proven models to follow when you make a game that has programming-based gameplay that is completely different from any games that preceded it. 

          Online Services Development: The online component of Code Hero is necessary to allow players to build and share their work but it adds to the project’s complexity a lot to simultaneously develop a client game app and a web site and backend.

          Changing Version Control: We were having difficulties with Unity Asset Server not syncing files and had to manually re-merge many changes. When we attempted to switch over to Subversion, the switch caused more problems than it solved and we went back to using Asset Server.

          Rebuilding Project Files: After PAX East and our first demo of the post-Kickstarter alpha of Code Hero, we decided to rebuild the project and rewrite a number of things that were originally in Javascript using C#. This process cleaned up the code base and project structure, but it broke connections between assets in many of the scene files and it took a long time to get everything working again.


          Our Current Financial Situation

          We’re out of funds and this has slowed progress down compared to when we were fully funded. However, we still have a team. I continue to do lead programming, art, music, writing and design. 5 programmers are continuing to work as volunteers. We will deliver the game we’ve promised and complete the project.

          Backer Rewards

          Why didn't the physical Kickstarter rewards ship already?

          We were planning to ship them early on and had the shirt order ready to go but we had difficulty figuring out an auto-update mechanism for the USB drives that would keep them useful for a long time. In retrospect, we should have just shipped all the shirt-only orders early on until we figured out the rest. Once development was falling behind schedule we were trying to finish the game with what we had left so we could give people the game first and foremost. We tried to raise more money to pay for the shirts and rewards and a second round of funding, but that didn't work out.

          When will people receive physical Kickstarter rewards?

          We will still fulfill our physical rewards to backers. We don't have a date we can promise yet because it is contingent on making more progressa and raising more funds, but we're committed to delivering the game and the rewards and refunds to anybody who doesn't want to wait to see those completed.

          Backer Refunds will take time

          We're obligated to refund backers who haven't received their rewards and aren't willing to wait for us to make more progress and get new funding to fulfill our backer obligations. Because we currently don't have the money to make the shirts or pay refunds, backers who want them will have to wait until we can afford to pay them. Email refunds@primerlabs.com if you want a refund.

          Will team members get paid for work they did after we ran out of money?

          Yes, all team members who worked without getting paid for the last month will get compensated when we have the funds to do so.

          MONEY

          Did you spend money traveling to conferences?

          Yes. We were invited to exhibit at PAX East by Kickstarter. We also exhibited at PAX Prime in the Indie Megabooth.

          We worked hard preparing playable demos for both PAXes that got the game’s core into playable states that random gamers could try and give us feedback on.

          Some people may argue that PAX is a waste of development funds for a Kickstarter project, but our team worked throughout the show and the feedback and advice we got from other developers and players during the show improved the game more than any other time in development.

          Did you spend money travelling on other trips?

          My other travel was by invitation and no Kickstarter money was spent on it. I was invited by THNK to visit Amsterdam for an all-expenses paid trip to teach a workshop for social entrepreneurs about making interactive storytelling gameplay. I was working on the content in Code Hero for the workshop already, and it was an opportunity to test it with real students.

          PROJECT ROADMAP

          What's the release schedule now?

          We're releasing an interim Alpha 2 build right now. We'll put put up new builds each month when it is stable enough to do so.

          The next major alpha milestone we're aiming for will tie the features that are in a raw state in the current builds into a form that teaches a complete class worth of material so that you can sit down, learn a bunch, apply it in-game, experiment, then download and install the Unity game engine and transfer the skills you've learned as much as possible to doing real game development and taking advantage of all the tutorials we've collected that exist to help you continue your learning.

          We plan to have this out March 1, and it becomes the first of the 3 major pieces we have to complete.

          Part 2 is the gameplay for non-programmers who strictly want to have fun and learn a bit as they play. That's an important requirement to make the game work for gamers who aren't primarily motivated by learning, and it is what sets Code Hero apart from other approaches to learning. There are many methods of learning to code, but all require your motivation. As a game that delivers a really fun experience, Code Hero's gameplay can make learning to code something you do for fun in order to enjoy the game rather than requiring a ton of motivation. Almost everyone can learn to code if they'd enjoy it enough.

          Part 3 is to keep building up the editor tools so that people can not just start learning projects in Code Hero but that they can build games as close to the full functionality of the free version of Unity as possible and even export their projects to take them into Unity once they're ready and publish them on any platform and app store they want to.

          This is an extremely difficult experience for any developer to go through, especially for it to happen to a project we care this much about, and we hope you'll bear with us as we continue to try to address people's questions and get on with building the game and showing what's in the works.

          Could you make Code Hero open source?

          While we're big believers in open-source, there aren't many game companies we know of that make games as open-source. Games are more art and craft than code, and have asset workflows much more complex than pure software. It's something we aspire to be able to do eventually, but we're not going to go open source at this time. We've considered open-sourcing parts of Code Hero in the future. We're not ready to do that at this time, but we're open to suggestions and a discussion of ways it could work.

          CODE HERO ALPHA 2 RELEASE

          There's a lot of features in development that aren't polished or stable enough yet to go into playable builds of Code Hero. Here's some things you can find in the new game:

          You can download Code Hero Alpha 2 now.

          What's new in Code Hero Alpha 2:

          We're going to put out a more extensive post soon detailing things in Alpha 2 but here are a few things to look for:

          Guest Mode

          Anyone can now try the beginning of Code Hero alpha without having to buy the game.

          Eliza & AIML Chatbot AIs

          We’ve got levels in development with talking AIs that you can talk to. We’re developing levels that teach you how to hack their code to make your own AI characters that can talk to you and each other.

          Syntax highlighting & auto-indenting code editor

          We've rewritten the Unityscript code text editor using a little known UnityEngine.TextEditor API class that allows the text editor to implement all of the features you need to write code well. 

          It now has syntax coloring, inserts tabs correctly and auto-indents new lines properly. Auto-complete and automatic API reference lookup is next to make writing code as fun for beginners and efficient for pros as possible. 

          We're going to try using it to edit Code Hero's own source code to eat our own dogfood and help expose all the features it should have to be a useful day-to-day code editor.

          Here's a screenshot and an article showing the basic code needed to implement TextEditor:

          Code Hero development continues

          Wednesday, December 12, 2012 - 4:47pm

          Code Hero development continues. We released the first alpha build of the game after PAX and we're releasing alpha 2 soon to show you the latest progress.

          UPDATE: We reached Dustin Deckard by email. He said he wants the game to succeed and that his position is being misinterpreted in some media reports. He's not suing us, he's just trying to get answers about the project's progress as we hadn't replied to his email before. We're answering journalist and backer questions since posting the first response and posting them here. Our ongoing updates will be posted below as we answer people's questions as transparently and quickly as possible to make sure people are clear that the game development continues and we're going to communicate everything about its progress from now on.

          UPDATE: We did a Google Hangout so anyone could speak to us and ask questions. Thanks to those who took the time to talk to us directly.

          UPDATE: We've posted a screenshot and article documenting one of the most important new features of the next alpha of Code Hero, a rewritten code text editor built using undocumented Unity APIs. We've been working intensely on this and many other improvements in the new build for a week solid build should be out very soon.

          We are committed to finishing this game and although progress has slowed down and the release is taking longer than we planned, we remain dedicated to working on the project and will continue to do so because we believe in this game and we believe in making programming fun to learn. 

          We are testing a second alpha release of the game to release soon so you can see what we've added since the first alpha. We exhibited our first alpha release at PAX and you can download it here.

          Some of our Kickstarter backers are frustrated with the lack of updates on progress, and Code Hero lead developer Alex Peake would like to make a personal apology:

          Hello backer. I owe you a thanks for your support and an apology for our lack of updates on all the progress we've made with your help. I started the Code Hero project to make a game that teaches people how to make games and you backed us to help make that happen. We are going to finish this game for you and everybody else in the world who wants to learn how to code.

          I believe in this mission and I'm grateful that you and so many others have believed in Code Hero too and supported us to work on this project. I worked on the idea to make a prototype for a year before asking for your help on Kickstarter, I built a team to work on it for a year since, and we are committed to finishing this game and continuing to add to it so you can make games of your own.

          Game development is hard and many studios and projects fail, but I can't let you down because what we're making is important. It's important to me personally to give all the people in the world a way to learn to code that is actually fun. I won't let any obstacles stop the Code Hero team from completing this. It's my life purpose to make this game because I want to see you make games of your own. Software development is hard work and we're behind schedule and solving technical challenges to add player level creation much harder than the already huge creative challenge we set ourselves to begin with. But every big project faces big challenges and we're going to figure ours out and get the game out and keep updating it and expanding it to make it grow to keep challenging the skills of our players as they learn more and more game coding skills.

          Many of you may not have tried the latest alpha we showed and released at PAX. I encourage you to download it and try it and see how much we've accomplished so far. The first alpha shows a world called Gamebridge Unityversity and your first mentor Ada Lovelace who guides you through the tour of the game. First you visit the Arcade you can play and post player-created games built with the world editing tools, but first you visit the Labyrinth where you learn how to edit the game's variables to beat it. Next you visit the Library where you can learn about Unityscript programming. Then you visit the Real Artist Shipyard where you're introduced to the Scenebox world editor to make and ship your first level. The tour is designed to take the player from playing an adventure game to making their own right from the outset. It isn't complete yet, but it shows what we built and we're hard at work expanding on that first release to get the new functions fully working and the new training levels fleshed out.

          We're testing a new second alpha release tomorrow to show what we've added since then and we're working towards a third more feature complete alpha that will be ready for general use as a complete learning tool.

          I know the level of frustration some people have is high right now and that it is my fault for not communicating about our ongoing progress, but I want to reassure everyone who has backed us not to panic: Code Hero is not dead and we will not let our supporters and Kickstarter backers down. All our backer rewards will be delievered along with the game. It is taking longer than we hoped, but the game is becoming awesomer than we planned too. I'll post a more detailed update soon with the new alpha build and answer any questions and concerns people may have.

          If you'd like to reach me, my email is alex@primerlabs.com and I will answer your all your questions or concerns.

          Questions

          We're adding a summary of the answers to questions people have asked us here. We'll continue to add to the Q&A and summarize the whole plan for going forward as best we can.

          Did you run out of money? What did you spend the money on?

          Yes, we ran out of funding because development took longer than expected and the Kickstarter money went to paying developers.

          Fortunately, we still have a team dedicated to working on the project as volunteers until it is finished or we raise more money and can pay everyone again.

          Why did the project take longer than expected?

          To teach people real game programming as we set out to do, we had to expand the scope of the game. We focused on building Code Hero around teaching not just the original code ray shooting game mechanic but also a game building toolset so you can build, code, edit and upload worlds to the servers.

          Why didn't the physical Kickstarter rewards ship already?

          We were planning to ship them early on and had the shirt order ready to go but we had difficulty figuring out an auto-update mechanism for the USB drives that would keep them useful for a long time. In retrospect, we should have just shipped all the shirt-only orders early on until we figured out the rest. Once development was falling behind schedule we were trying to finish the game with what we had left so we could give people the game first and foremost. We tried to raise more money to pay for the shirts and rewards and a second round of funding, but that didn't work out.

          When will people receive physical Kickstarter rewards?

          Closer to shipping, probably when we reach beta.

          What's the plan for communication with backers in the future?

          We'll put out regular updates with screenshots and video of new art and gameplay in development on the first of every month.

          What's the release schedule now?

          We're testing a snapshot build right now to be released as soon as it is stable and we'll put put up new builds each month when it is stable enough to do so.

          The next major alpha milestone we're aiming for will tie the features that are in a raw state in the current builds into a form that teaches a complete class worth of material so that you can sit down, learn a bunch, apply it in-game, experimente, then download and install the Unity game engine and transfer the skills you've learned as much as possible to doing real game development and taking advantage of all the tutorials we've collected that exist to help you continue your learning.

          We plan to have this out before March, and it becomes the first of the 3 major pieces we have to complete.

          Part 2 is the gameplay for non-programmers who strictly want to have fun and learn a bit as they play. That's an important requirement to make the game work for gamers who aren't primarily motivated by learning, and it is what sets Code Hero apart from other approaches to learning. There are many methods of learning to code, but all require your motivation. As a game that delivers a really fun experience, Code Hero's gameplay can make learning to code something you do for fun in order to enjoy the game rather than requiring a ton of motivation. Almost everyone can learn to code if they'd enjoy it enough.

          Part 3 is to keep building up the editor tools so that people can not just start learning projects in Code Hero but that they can build games as close to the full functionality of the free version of Unity as possible and even export their projects to take them into Unity once they're ready and publish them on any platform and app store they want to.

          We'll be putting out a more complete update tomorrow detailing more Q&A and showing all the things in the current alpha and what we're building next.

          This is an extremely difficult experience for any developer to go through, especially for it to happen to a project we care this much about, and we hope you'll bear with us as we continue to try to address people's questions and get on with building the game and showing what's in the works.

          What's coming in the next alphas of Code Hero?

          We've rewritten the Unityscript code text editor using an undocumented UnityEngine.TextEditor API class that allows the text editor to implement all of the features you need to write code well. It now has syntax coloring, inserts tabs correctly and auto-indents new lines properly. Auto-complete and automatic API reference lookup is next to make writing code as fun for beginners and efficient for pros as possible. We're going to try using it to edit Code Hero's own source code to eat our own dogfood and help expose all the features it should have to be a useful day-to-day code editor.

          Here's a screenshot and an article showing the basic code needed to implement TextEditor:

          The 2 Billion Under 20: Alex Peake's closing remarks at the Thiel Fellowship 20 Under 20 Summit

          Thursday, November 15, 2012 - 2:55am

          I was asked by Danielle Strachman of the Thiel Foundation to give a closing address for the Thiel Fellowship's 20 Under 20 Summit and it was a great honor to mentor and speak to such a brilliant and well-spoken assemblage. Thanks Alexander Berger for capturing it beautifully and thanks to everyone in the Thiel Foundation, Fellowship & the mentors and summiters for coming together to start something that graphs well for humanity. May we roll natural 20s every year.

          Watch the video of Alex's closing remarks on the 2 billion under 20

          Watch Jim's closing remarks on how to discover surprising things

          Watch 20 Under 20 Summiter Tessa Zimmerman's talk: How to become an ASSET to yourself and your business, an amazing example of the quality of thought and courage of leadership that young people are capable of

          Learn more about the 20 Under 20 Fellowship: If you are under 20 and want to change the world, you should apply to the Fellowship. Even if you think getting in is a long shot, the application process causes you to ask yourself big questions about your purpose in life and puts you on a path along with the other 250 summit attendees and the many other applicants whose determination is mobilized by the Fellowship.

          You will change the world not because you are chosen but because of the path you've chosen and if you fight for the future, you live into it today.

          A closing thought for the 20 Under 20 Thiel Fellows and the 2 billion under 20 aspirants:

          The world needs programmers

          "I'm stuck without a reliable programmer to actually get started on any of the projects I have on the burner." -Humanity

          This quote is symptomatic of practically every project that could launch careers and change the world that sits incomplete for lack of the engineering Jedi Knights needed to bring balance to the code and bind the ideas together into a working solution.

          If you're planning to change the world but can't find a programmer who will build your app for you, start teaching yourself to code and encourage your friends to learn to code with you. Once you've hooked them on the magic of programming, they can excel far beyond you and make excellent teammates while you focus on the part you were good at from the beginning, which is having the visionary idea and building the team to execute it successfully. Meanwhile, the coding skills you picked up will enable you and your friends to work together as a team instead of being divided between "management" and "engineers".

          The 2 Billion Under 20 Space Inventors: Hacking the Future of Hackerspaces

          I gave a talk a few days after the summit at Noisebridge Hackerspace 5 Minutes of Fame about how the history of hackerspaces is leading towards the future of humanity for the 2 billion young people of the world who are about to reshape hackerspaces in their image.


          Video streaming by Ustream

          Mark Zuckerberg at Startup School & Alex Peake at Open Science Summit 2012

          Monday, October 22, 2012 - 5:38pm

          Startup School and Open Science Summit are like two opposite ends of a science and technology spectrum trying to meet in the middle: Tech founders want to push the limit of what startups can do, and open sciencers are pushing towards a startup-friendly science where entrepreneurs and open science hackers can more easily take on the big scientific breakthroughs of the future without going through big pharma and institutional science gatekeepers.

          The only science mentioned at Startup School was computer science, but one of the biggest themes at Open Science was how new ways of funding science like Peter Thiel's Breakout Labs are creating a YCombinator-like environment for science startup founders.

          Mark Zuckerberg opens YC Startup School with the big question

          Mark Zuckerberg opened Startup School with an interview by Paul Graham. PG asked, "How much sooner could Facebook have been founded?"

          This evoked the same question about Charles Babbage, Ada Lovelace and Alan Turing: How much sooner could computer technology have developed had its 2 founders been adequately funded and supported while they were alive? How much sooner could science have developed had Democritus' atomic theory prevailed in ancient greece rather than Plato and Aristotle's metaphysics?

          Zuckerberg explained that university emails were the first way to hack real identity: .edu emails weren't sock puppetable and gave Facebook a way to establish something totally different from the Friendster and Myspace faker networks.

          I sat in the front press row next to MC Hammer, Ron Conway and Christina Farr of VentureBeat who wrote a piece during the interview which I helped her upload. 

          AdaFest 2012

          Friday, October 12, 2012 - 4:59pm

          AdaFest is an annual weekend celebration leading up to Ada Lovelace Day in honor of first programmer Ada Lovelace. AdaFest promotes code literacy for all and is open to anyone anywhere to contribute events and be creative in finding ways to encourage coding.

          AdaFest is inspired by the idea that Ada Lovelace Day is so good it deserves to be a whole festival. AdaFest 2012 is the first, and here are some of the events happening this year:

          ADAFEST EVENTS

          Date

          Event

          Location

          Cost

          Sat Oct 13&14
          8AM 

          Singularity Summit

          San Francisco Masonic Center

          $525

          Sun Oct 14
          10 AM 

          East Bay Mini-Makerfaire

          Oakland

          $10-15

          Sun Oct 14
          5:30-11 PM

          Singularity Summit Afterparty at Gamebridge Unityversity
          Alex Peake will be standing by doors of Masonic wearing a Code Hero T-shirt to guide everyone to the afterparty.
           

          SF Noisebridge.net Hackerspace
          2169 Mission St. (16th BART stop)
          Go via cable cars in front of Masonic Center to end of line and get on BART to 16th St. Bart Station
           

          Mon Oct 15 7PM

          Gamebridge Unityversity 2nd Anniversary
          Code Hero Alpha 2 Release
          Virtual Noisebridge Level Sketchup Hackathon

          Noisebridge Hackerspace
          2169 Mission St.
          San Francisco, CA 

          FREE

          Tue Oct 16
          5PM 

          Ada Lovelace Day with Ada Initiative
          @ Wikimedia Foundation

          Wikimedia Foundation SF
          149 New Montgomery St, 3rd Floor
          San Francisco, CA 94105USA 

          FREE

          Wed Oct 17
          7PM 

          Bay Area Unity User's Group
          feat. Unity 4 & Code Hero
          (a game where Ada Lovelace teaches you how to make games) 

          Noisebridge Hackerspace
          2169 Mission St. 
          San Francisco, CA
          FREE

          Fri Oct 19
          &
          Sat Oct 20
          9AM-6PM

          Open Science Summit at the Computer History Museum with Live Babbage Difference Engine demonstration & Code Hero lunchtime talk & challenge on Fri Oct 19
          REGISTER FOR FREE TICKET CODE: COMPY or LIBRE 

          Computer History Museum
          1401 N Shoreline Blvd 
          Mountain ViewCA 94041

          Friday, October 19, 2012 at 9:00 AM -Saturday, October 20, 2012 at 6:00 PM (PDT)

          Upcoming media about Ada Lovelace

          Byron & Babbage: A Calculating Story

          Ada Lovelace is the subject of an upcoming documentary that BoingBoing says needs public support letters to get greenlit. Email letters to rosemariereed@filmsforthought.com.

          Pages