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.