Important Little Games
  • Outreach
  • Contracting & Consulting
  • Codemancer
  • About

Monthly Archives: September 2013

Interview with Lightbot Creator Danny Yaroslavski

Posted on September 10, 2013 by izzy Posted in Uncategorized .

In my last post, I mentioned Light-bot was the best I’d seen in the category of purely puzzle-based “games that teach programming” (a genre which needs a better name — proposals welcome in the comments!).  After that, the creator reached out to let me know that an updated version of the app with a gentler learning curve is now available on Android and iOS.  I asked if he wouldn’t mind being interviewed for my Gamasutra blog, and here we are.

RL: How long have you been working on Light-bot in some form or another?

DY: I’ve been working on light-bot since highschool (in 2008). At the time I was creating multiple flash games for purely entertainment purposes, and light-bot was no different. At first it began as simply a puzzle game with programming aspects and no intention of becoming educational. After its release, I got a lot of positive feedback about the game, from programmers and non-programmers alike. Some people started introducing the game to non-programmers to show them how basic programming concepts work. There were also multiple requests for more difficult concepts in programming, like loops, conditionals, and game improvements like a level editor. I took all this feedback and when I interned at Armor Games Inc in 2009, I released a Light-bot 2.0. This version, although provided all these new concepts, was still targeted towards the casual flash puzzle gamer. At this point I started receiving e-mails from multiple teachers and students telling me how the original light-bot, (more often than the 2nd) was being used in schools as the precursor to their programming classes. Moreover, some teachers were introducing kids as young as 7 to programming. It was gratifying learning that there was this whole educational community who loved the game and could see value in it beyond a simple puzzle game.

Fast forward to 2013, and I found myself invited into the entrepreneurial community that exists at the University of Waterloo.  When I realized that what I’d wanted to be all along was an entrepreneur, I began looking for what project I would pursue. After a lot of reflection and looking at what I was truly passionate about that I could bring to the public, I realized that the simple game from way back when in 2008 was one of the things I was most proud of, in particular for what value it had to young players, parents and teachers. I created the light-bot game you see today from scratch to be cross-platform, education-oriented, and available to larger audiences. The product you see today is the work of approximately 5 months of solid development.

RL: What has inspired you, in terms of other educational technology?  What puzzle games (analog or digital) do you enjoy?

DY: I enjoy all kinds of puzzle games. I was a fan of puzzle games like Pandora’s Box and Marble Drop growing up, as well as strategy games like Civ2: Test of Time. I’m happy when I see other programming-like games and software out there. I personally enjoy a web game called Manufactoria which has mechanics based around state-machines.

I’m inspired by any game that gets me thinking, or brings me some value outside of just entertainment. Don’t get me wrong, I love the occasional pure-entertainment game, but I especially enjoy puzzle games that get me flipping things on their head, seeing a problem in a new light, coming up with a non-obvious solution, and feeling proud of myself afterwards.  This is the feeling I strive for players to feel when playing light-bot. Learning to come up with solutions to problems on your own and then exercising that skill, becoming more confident in your own abilities, are all aspects that I’m trying to get out of players. One educational technology that inspires me is DragonBox. It too is an educational puzzle game whose mechanics instead are rooted around algebra. With Light-bot, I aspire to be what DragonBox is for algebra, but for programming.

Codecademy.com is another source of inspiration. It provides very minimal barrier to entry for programming, and is what I generally recommend as the tool for people who want to take their next big leap into computer science.

RL: Something Light-bot and Manufactoria have in common is the use of colors to implement conditionals, which is a really great way of doing it.  Could you talk a bit about how you think about aligning a game mechanic with a concept you want to teach?

DY: Many things in light-bot have an almost one-to-one relationship with real coding. Any player could take any concept in light-bot like calling procedures and adapt it to their future learning of a real programming language. When I plan which constructs to include in light-bot, I focus on those that are essential to almost any language. Often these constructs are under the category of control-flow and how code execution branches.

RL: How did you learn to program?

DY: I began programming by first doing basic interactions in animations in Flash. Stopping and playing, making buttons, and before I knew it, I found ways to make the interactions a little more complex and allow for basic video games. From that point I kept making games and developing my skills. In time I went on to learning more Computer Science in highschool and am now a Computer Science undergraduate at the University of Waterloo. There’s a lot of new things to be learned in a whole range of industries with CS, so it’s exciting to constantly be learning and solving problems.

RL: Why Michael Jackson-stye light-up floor tiles?

DY: Maybe subconsciously? I’m a huge fan of MJ, but otherwise no real reason beyond that. It was the most simple way to present progress, and it also felt like the more you lit up, the closer you were to a solution, so with that in mind its a metaphor for coming up with an idea. Perhaps? It’s really just what worked well.

RL: Have you tried playtesting with kids?

DY: I am in the process of doing so. I have scheduled to run several in-class sessions with highschool classes in mid-September to get a more hands-on look at players’ progression through the game, what challenges they face with the controls or mechanics, and then after iterating, will move onto testing the game in-person with a younger audience (middle-school and elementary school kids). Light-bot is all about iteration, and its release does not mark the end of its production. I am looking forward to updating it and making it more accessible to kids of all ages to be able to get through entirely and be proud of themselves for finding those unique solutions to challenging (and sometimes very challenging) programming puzzles.

RL: It’s definitely admirable how non-violent Light-bot is.  Was that something you thought about while you were designing the game?

DY: Absolutely. I generally don’t see the need for violence in puzzle games because it really does not add the same fun factor a puzzle game aims to target. You could easily strap a laser to light-bot, but what would be the point? That’s like trying to trick kids (more often boys) into enjoying a game that they might otherwise not. Players enjoy puzzles for the difficulty and sense of completion they get. Moreover, I believe that puzzle games that aren’t inherently gender-specific should stay gender-neutral. Both boys and girls can enjoy light-bot, because programming, which is really just logic and problem-solving, is not a gender-specific skill.

RL: Do you think you’ll continue to make games in this genre?  Why or why not?

DY: I believe that light-bot is still in its infancy and has a lot of room to grow to get to the moment when every kid can have their hand at programming, no matter what age. I am hoping to keep developing this game to appeal to every age demographic, especially the youngest. The new generation of kids is entering into the 21st century, where programming is an incredibly useful skill to possess, and will become even more so in the years to come. And while not all kids who play light-bot are going to continue on to pursue computer science, most kids will come away with the confidence that they can create their own, smart solutions to problems that need solving.

—

Check out light-bot.com for more information.  You can follow Rob on twitter here.

Leave a comment .

Teaching Computer Programming Digitally: Is Constructionism Enough?

Posted on September 5, 2013 by izzy Posted in Uncategorized .

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.

I like TURTLES
fwd 20 lt 90 fwd 40

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.

racetrack
In my mind, it was amazing, but it probably looked like this.

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.

Woooooo!

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.

Screen Shot 2013-09-04 at 4.36.21 PM

Light Bot

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?”

CodeHero

Code Hero (unfinished)

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.

CodeSpells

Code Spells (unfinished)

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.

codemancerlogo_web

Codemancer (unfinished)

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.

Leave a comment .

Pages

  • @rpgtxt Instructions
  • About
  • Codemancer
  • Contracting & Consulting
  • Outreach

Archives

  • December 2018
  • May 2016
  • March 2015
  • July 2014
  • June 2014
  • March 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013

Categories

  • Uncategorized (24)

WordPress

  • Log in
  • WordPress

Subscribe

  • Entries (RSS)
  • Comments (RSS)

Pages

  • @rpgtxt Instructions
  • About
  • Codemancer
  • Contracting & Consulting
  • Outreach

Archives

  • December 2018
  • May 2016
  • March 2015
  • July 2014
  • June 2014
  • March 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013

Categories

  • Uncategorized (24)

WordPress

  • Log in
  • WordPress

CyberChimps WordPress Themes

© Important Little Games