The following blog post, unless otherwise noted, was written by a member of GamasutraпїЅs community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.
It all started with LOGO. пїЅIf you don’t remember making this little turtle crawl around and draw stuff, then your childhood wasn’t complete. пїЅIn fact, you should probably go back andпїЅdo it now .
Seymour Papert. a researcher at MIT, reasoned that children could learn programming more easily if they were given a fun programming environment to play around in. пїЅThis was so successful in the case studies he observed that he was forced to develop an explanation. пїЅHe called his theory of learning ‘constructionism’ (because the student can construct their own knowledge by experiment). пїЅThis spawned a genre of software toys designed to teach programming (all after my time, unfortunately). пїЅToys likeпїЅAlice ,пїЅGreenfoot ,пїЅRoboMind ,пїЅGameStar Mechanic пїЅ(my favorite), andпїЅScratch пїЅ(the most popular). пїЅEven Lego’s robotics platform,пїЅLego Mindstorms пїЅis an extension of the ideas Papert outlines in his books ‘Mindstorms ‘ and ‘The Children’s Machine ‘ and is perhaps theпїЅmost faithful пїЅto them.
These efforts have engaged millions of students in learning about technology, and has given them great early exposure to the field. пїЅIn my own first grade class, we had a teacher (I think his name was Mr. Costa) who took care of the computer lab and taught computer class. пїЅWe were taught the basics of LOGO, and then asked to produce a project of our choosing. пїЅMy partner and I worked diligently to put together an animated scene of an F1 racetrack, complete with cheering fans and cars circling the track.
We were very proud to present what we’d done to the class, but when the time came we found out that we were the only group out of 10 or 12 who had actually done anything substantial. пїЅA few pointy spirals. пїЅA few rounded spirographs. Disappointing. пїЅThe next year Mr. Costa was replaced, and our ‘computer class’ was about typing and learning to use Microsoft Word.
Maybe I was just the right kind of kid to get hooked on programming early, but for most of the first-graders in my class, the motivation just wasn’t there. пїЅThat’s what I see as a lack inherent in these toys built with constructionism in mind: motivation. пїЅWhy am I exploring this educational environment? пїЅWhat am I supposed to do here? пїЅWhen some students are told “you can do anything,” what they hear is “there’s nothing to do.”
In my case, I was motivated by curiosity. пїЅFor many people, motivation is more extrinsic. пїЅCode.org пїЅlists resources for motivated adults to learn how to code, usually for career-oriented reasons. пїЅKids in the third world. and everyone in the eighties, when Papert was doing his work, are at least somewhat motivated by the novelty of interacting with the machine itself.
Today, getting to interact with a computer is not such a treat. пїЅFor many school-age children in the US, it’s the default state of being. пїЅThe software has to have a better ‘why’ built into it. пїЅThat’s where games come in.
Many пїЅauthors пїЅhave пїЅwritten пїЅ(more eloquently than I ever could) why games are such a perfect learning environment. пїЅCentral to those arguments is the concept of intrinsic motivation. пїЅWinning a game is gratifying for its own sake (there’s evolutionary hard-wiring there). пїЅGames, ideally, keep players always at the edge of their capabilities, wanting to get better to accomplish the next task and unlock the next bit of power-up or narrative or whatever digital carrots the game designer decides to add. пїЅGames also offer a kind of social capital that creative tools cannot; пїЅcreative work cannot be compared quantitatively in the way that a score or level can.
Until recently, there haven’t been many efforts to create an actual Game that teaches programming. пїЅLet’s go over a few.
This is going to stand in for a whole bunch of what are essentially puzzle games, likeпїЅDaisy the Dinosaur пїЅandпїЅRobozzle . пїЅI’ve got nothing against puzzle games, and I think any game that adequately introduces the mechanics of programming has to have a puzzle component. пїЅThat said, puzzle games are the genre of game most like homework. пїЅThese games in particular don’t introduce any kind of stakes – no reason to complete the puzzles. пїЅAlso, one of the principles of responsive games is to decrease, as much as possible, the (user input)/(in game consequences) ratio. пїЅBy their nature, these kinds of puzzles require a lot of player input for very little onscreen action.
I titled this section afterпїЅLight Bot пїЅbecause it’s actually the best I’ve seen in this category, but most entries in the category are characterized by very little professionalism. пїЅIt’s easy to speculate on the creator’s thought process. “I’ve never made a game before, but I’m a programmer, so how hard could it be to make a game about programming?”
There’s been a lot of hubbub aboutпїЅCode Hero пїЅrecently, but the concept is still an exciting one. пїЅIt uses the concept of the action-puzzle game, popularized by games likeпїЅPortal пїЅandпїЅQuantum Conundrum . пїЅIt also gives the player a first-person perspective, so they can feel situated in this world where code is so important. пїЅIt reminds me of something Papert says in ‘The Children’s Machine’: “What would happen if children who can’t do math grew up in Mathland, a place that is to math what France is to French?” пїЅInпїЅCode Hero. you grow up in Codeland. пїЅI am anxious for the Primer Labs team to continue development.
The one criticism I have is that this game (and Portal) feel a bit contrived. пїЅI’m in some kind of laboratory environment where I have to complete spatial reasoning puzzles. because. things? пїЅIn Portal they call it like it is — “tests.” пїЅA robot is testing you, to see how clever you are. пїЅThat narrative conceit (which was always a cop-out) can only be used once.
Code Spells пїЅhas all the situated-learning benefits ofпїЅCode Hero. but also addresses my criticisms by placing the player in a fantasy world where she must help little gnomes to complete tasks. пїЅMeanwhile, there is a monster roaming around. пїЅThe idea of code-as-magic is one that I love. пїЅIt explains why magic is so often botched and broken, why it takes a lot of concentration and diligence, and why it is best practiced byпїЅancient masters .
All my criticisms of this game are a consequence of it simply not being finished. пїЅI can’t wait to see what the team atпїЅThoughtStem пїЅadds next.
I independently decided to use the magical-programming metaphor for a game I’m developing called ‘Codemancer’ which I’m not ready to talk about in detail, but which I hope will be an example of how to do this genre right.пїЅ The main difference in my game is that it has a less specific focus. пїЅI thought it would be better to develop my own visual programming language (which has a lot in common with LOGO), so I could make the basics as accessible as possible. пїЅI hope you’ll follow along in its development by following me on twitterпїЅhere .
I’m not proposing that constructionist learning environments be eliminated. пїЅWhether a student responds to an exploratory style depends on the individual student, and indeed many students respond well. пїЅThere are, I believe, a lot of learners who are underserved by making exploration the only means of discovery. пїЅI’m excited for the time, approaching soon, when these learners will have the option of a more narrative, guided, fun-motivated way to learn programming.
PS – If you have a game about programming you’d like to see mentioned, please add it as a comment to this post and I’ll try to play it and add my thoughts.