Thursday, June 27, 2013

Review: Light-bot for iPhone and iPad

Light-bot by Danny Yaroslavski is a simple programming puzzle. It has cute graphics and a decent interface (apart from a couple of quirks), but I'm not convinced about the quality of the puzzles.
The underlying idea is not new and has been done several times in the past. You indirectly control a robot, by writing a program composed of basic commands like "walk", "turn right", and so on. The goal is to lit up all the blue tiles by using the "light" command over them.
Subroutines are quickly introduced; you can write up to two of them, and have the corresponding commands to call them. You can create infinite loops by using the "call" command at the end of a subroutine. The game calls this "recursion", but it's misleading to use that name since there is no concept of a call stack, and when the "return" statement is introduced, it actually goes back to the FIRST call to the subroutine.
You have a limited number of slots for your commands, so most puzzles require you to take advantage of repeating patterns in order to make your program short enough. The game often forces you to use subroutines exclusively, by leaving only one slot available in the main program buffer.
Overloading is an interesting addition. The "light" command works differently depending on which tile the robot is on, e.g. it will operate elevators or change the robot's color.
Conditional commands are introduced in later levels. You can assign a color to some commands, meaning that they will be executed only if the robot is of that color. This feature isn't versatile enough to make interesting programs, because you can change the robot's color only when it's on a special tile.
My main gripe with this game is that many of the puzzles tend to be tedious more than challenging. Part of the problem is that it's difficult to edit the program if you make a mistake: you can only delete commands, not insert new ones, so if you need to insert a command in the middle of the program you have to rewrite everything after it. Update 26 Sep 2013: in the current version of the game this no longer applies since you can replace existing commands and insert new ones.

All in all, the feeling when playing through the levels is that there's a lot of repetition and you are just using the same technique over and over with nothing more to discover.

There's a free version too if you want to give it a try.

Another similar game worth checking out is Robozzle, which appears to have deeper gameplay thanks to the different way in which it handles conditionals.


Logical Reasoning★★★☆☆
User Interface★★★★☆
Loading Time★★★☆☆
Saves Partial Progress
Status Bar

©2013 Nicola Salmoria. Unauthorized use and/or duplication without express and written permission is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Nicola Salmoria and with appropriate and specific direction to the original content.