Thursday, July 29, 2010

RoboRally Review

When I was a kid, one of the first video games I played was called Robot Odyssey on my friend's Apple. You played the role of a human in an underground city or something, and you had 3 robots. You could go inside the robots and wire them up to carry out tasks autonomously, e.g. the robot might need to go into a room by itself, navigate the environment, retrieve an item, and exit the room to return to you. To do all this, you need to program the robot by going inside it and wiring up its insides. For example, you could wire the left bumper to the top thruster, so that when the robot bumps into a wall on the left side the of the room, its top thruster fires and it moves down.


I found the process of designing the autonomous behavior of the robot endlessly frustrating and fun, and I've been fascinated by the idea of designing a game in which the player composes a behavioral script for an agent. I think if it is done the right way, it could be very compelling, while also teaching or reinforcing critical thinking and very basic programming concepts.

I think when I mentioned this before, it was Kenny who mentioned the board game RoboRally as employing similar concepts.

So I finally ordered it last week and played my first game this week.

The game is somewhat similar to what I was envisioning. Each player has a robot that starts at a given position on a board (the setting is supposed to be a factory). There are conveyor belts (not actually moving parts, just indicated by arrows on the board), pits, repair stations, and flags. Each turn, each player draws some number of cards which indicate basic movements (e.g. move forward 2 spaces, turn left, back up 1 space, etc.). The player composes a series of movements out of these cards each round and places them face down in front of them. Players then turn their cards over one by one and execute the movements.

The "programming" in this case only consists of movement instructions, so there is not use of control statements or logical operators. In this sense, the analogy to programming is quite weak. Also, you only ever get one shot at a given "program". There is no iteration, which I think was one of the most compelling things about Robot Odyssey. You would wire up your bot, send it into a room, and see what it did. Often it would behave in ways you hadn't anticipated, and you'd then be able to make a couple of small changes and try again. There is no trying again with RoboRally. You end up where you end up at the end of a turn. You discard your old program and draw and compose a new one.

The game seems to require an awful lot of mental spatial manipulation, planning, and prediction. In this sense, it reminds me an awful lot of the Labyrinth board game by Ravensburger. So for teaching mental spatial skills, I think it's great. But programming? Not so much.

And a couple of other criticisms: The game is not very casual at all, so in that sense I don't see broad appeal, especially to younger kids. The game is quite complicated. There are elements that easily could have been left out (e.g. Option cards, which we never even got to in our first game) that would still retain the core experience. Also, the game is pretty brutal for making mistakes of any kind. If you accidentally navigate off the edge of the board (which is pretty easy to do while you are still learning the basics), you have to position the bot back at the starting point, you lose one of only 3 life tokens, you take two damage points (which reduced the number of cards you can draw each turn, AND you lose an option card. I mean, come on.

Another big disappointment was that there's a cool variety of different robot designs, and each robot has a name (e.g. "squash bot") and an individualized tracking card to place tokens on. I thought this signified that each robot had some kind of specialized skill or something to differentiate each one from another. But no, despite their idiosyncratic names and designs, they are all exactly the same in terms of game play.

Anyway, cool game, but in my opinion it's overly complicated, unnecessarily harsh on beginners, and doesn't really capture the core elements of algorithmic design (this isn't an inherent problem with the game, it's just that I was hoping it would flex programming skills more than mental movement and rotation).

Sunday, July 25, 2010

Inception

I can't say I was much impressed. The cast was strong, and the emotional arc of the story was good, but it was over-long and any semblance of verisimilitude to dreams or psychology was nonexistent.

The movie involves 'extractors', people who can enter other's dreams, apparently as a team, and extract valuable information, such as corporate secrets. One team member is known as an 'architect', who designs the dreams. One tactic is to include a vault where, as one character explains it, the subject is naturally inclined to put their secrets. Then the team just breaks into the vault. Huh?

Mild spoiler here: The trailers and movie posters all feature mazes. At one point when recruiting a team member, she is tested on whether or not she can construct a good maze. Is there a maze in the movie? Um, no. She makes one in a dream, but we never see it and other characters bypass it using air ducts because they're running out of time. Lame.


The movie's title comes from a technique in which, instead of stealing an idea, the team implants one. But because this is so difficult, it involves embedding a dream within a dream within a dream (that's 3 levels). Cause, you know, it's got to be buried way deep in the subconscious. I know, you're thinking "Whoa, dude! Three levels?" I'm reminded of the amp in Spinal Tap that goes to 11, or the dinner conversation about tornadoes in Twister where the subject of a category 5 hushes everyone into stunned silence.

Anyway, there's a team, they try to implant an idea in some dude's head. Once we get there, it's a fairly standard heist film. From the trailers I thought there would be some really mind-bending special effects, but there really wasn't much to wow. The dream imagery didn't look particularly dreamy. I had hopes for Inception, though I think it's virtually impossible to film dreams. They are an inherently first-person experience, and have a slippery morphing quality that you simply can't put on film. The thing about dreams is, they don't make sense when you wake up, but in the dream they do. But you can't show something nonsensical to an observer and have it appear normal. That's the catch-22. The director who has come the closest to capturing a real dream-like quality is David Lynch, and his movies are not particularly fun to watch.

Anyway, once we get into the target's head, the movie becomes a lot more watchable, but that first hour is fairly agonizing. There is a lot of silly exposition about how dreams and extraction work...virtually none of it making any sense. If someone else is in your dream, modifying the content, your 'projections' will grow increasingly hostile toward them. I guess since I've never knowingly had anyone invade my dreams, I can't confirm or deny this, but it sounds dumb. And how are these people supposed to get into each other's dreams? They hook themselves up to an intravenous hooka and bam, there they are. Is there some technology that facilitates this? Are they just psychic? Do the sedatives they use confer psychic ability? This is a pretty lame cop-out. Even the cheeseball 1984 movie Dreamscape, which was about psychically entering other's dreams, handled the subject with more credibility.

But in that film, a key gimmick was the old wives' tale that dying in a dream kills you in real life. They didn't really do that in Inception, but we did get this silly set of rules:

1) You can feel pain in a dream, even extreme pain, but it won't wake you up.
2) If you die in a dream, you wake up, unless...
3) If you are powerfully sedated and you die in a dream, you descend into another dream within a dream.
4) For each dream within a dream, time runs at an increasingly slower rate, so 10 minutes in your top-level dream might be 10 hours in your second-level dream.
5) Whatever is happening to you in the dream just above you affects the environment of the dream just below (e.g. if you are shaking in your level 2 dream, the whole world will shake in your level 3 dream, but apparently not below that).
6) A 'kick', or sudden jolt, at any level will pull you out of the next lower level, no matter how sedated you are.

I don't have too much of a problem with a movie making up it's own arbitrary, goofy-ass rules. I don't even mind too much if it spends a fair amount of screen time explaining them (though this movie spends too much). What I do mind is when a movie goes to all the trouble to cobble together a bunch of bullshit rules and teach them to you, then doesn't even stick to them.

At one point, a character dies at one level, so he is supposed to go down a level. Cobb (DiCaprio's character) and another character go after him, but when they do so, they're in Cobb's dream. How did the character who died go down into the dream of another character who wasn't dreaming yet? Shouldn't he have gone into his own dream?At another point a character that is heavily sedated kills herself. This should mean that she goes one level deeper. Instead she goes up in the dream hierarchy.

The movie not only violates its own rules, it seemingly revels in the inconsistencies. This is supposed to be 'mind-blowing'. Instead I found it a nonsensical mess. Which is a shame because the actors really do a great job, and the central relationships are interesting. Too bad it's all wrapped in a slather of absurd, poorly-conceived gobbledy-gook.