Blindfold Racer: Jet Pack and the Wall

As we developed more levels with animals and prizes, we needed something to do with the prizes. After all, how many chests of gold and diamonds do you really need?

I created a level with an very high (virtual) wall in it, and ask the children for suggestions on how the car could get over the wall. They thought of a ramp (how would you put a ramp that a car can drive on – in the trunk of a car?), a sling-shot (perhaps too small to shoot the car), helicopter blades, and a jet pack (any many others). We picked the jet pack.

You would finish one level fast enough to earn the jet pack, and then use the jet pack to get over the wall in the next level. We had to come up with more gestures to start the jet pack (two finger tap), and sounds for the jet pack:

  • Sound that you are near the jet pack so you know to tap with 2 fingers
  • Sound if the jetpack doesn’t have enough fuel
  • Sound that the jetpack is working
  • When you crash into the wall because you didn’t start the jet pack

Now that we opened up the game to more than just driving and avoiding animals, the children were coming up with ideas for more and more levels.

We spent an entire class on the troll level. In the one level, you need to drive to the food sounds to get food to feed the troll, and in the next level, you must feed the troll. We had to find food that made noise (popcorn and soda), and created another gesture for feeding the food (tap with 2 fingers).

As we tested the game with more children, some of them complained about the sounds we originally picked. For example, if you ran over an animal, you heard a squishy-crashing sounds. The children thought that was too creepy, so we changed it to a descending “wah-wah-wah”. They were also confused about the prize sound (a squeaky toy duck like you would find in a bathtub), and didn’t understand that the squeaky duck sound was a prize (so they avoided the sound). We changed that to an ascending chiming sound, and the children thought it made more sense.

One difficult problem that we encountered was how to pick items out of your inventory list. Let’s say that you’ve acquired 20 items as you move from level to level, and then you want to feed the troll. How do you tell the app which item you want?

The app can’t read the entire list to the game player – with 20 items, and 5 seconds per item, it would take an average of 50 seconds to read the item the game player wants. That’s way too long.

We solved that problem by reading only those items in the list that are relevant to the current logic puzzle being solved (what to feed the troll), and have the game player press the screen when she hears the item she wants to use. Assuming 5 items that are appropriate to the current puzzle (5 seconds per to say the item’s name), it would take an average of 12.5 seconds to pick the one you want. That’s acceptable.

We designed other levels where the troll would be more fussy, and he would be satisfied with one food item more often than the other, so it might take several times to complete the level. They also thought about connecting the solution for that level to the day of the week, or time of day, or season, or current weather conditions (all of which are accessible on the iPad and iPhone).

Blindfold Racer: What does the road look like?

Many of the sighted players wanted to cheat – they wanted to be able to see the road; if not while they were playing, then at least after the level was over.

Since we had to keep the game fair for both sighted and visually impaired people, we needed a way to show them the road in a fully accessible manner. After the level is over, you can tap in the bottom center of the screen, and bring up a screen to show you the road, and what’s on the road.

For visually impaired people, we created a “braille” mode in this screen. As you slide your finger left and right, up and down on the screen, you will hear either white noise – meaning your finger is off the road, or you will hear a sonar “ping” sound – meaning your finger is on the road.

When you touch an animal or prize on the road, the game tells you the name of the item:

Using this screen, visually impaired or sighted people can make a mental map of the road to improve their score when they play that level again.

Blindfold Racer: The Tutorial

We needed a tutorial at the beginning of the game to teach the game player how to control their car.

While using the tutorial (and the game) the screen is dark (empty), and the game player listens to instructions. The first tutorial we tried spent about 2 minutes describing how to control the car, then let the game player practice moving the steering wheel (rotate left and right) and the gas pedal (tilt forward and backwards), and then explained the rules of the game (about 2 more minutes).

I tested it with children from 3rd to 5th grade at the school summer camp, and about half the children were completely confused, and most were bored by the end. We had some of the students who helped design the game assist in the testing.

Initially, the tutorial spoke to you as you practiced. It would say “driving straight ahead” or “driving slow” or “too far back”. We tested twice a week, using the problems we found in prior testing to improve tutorial for the next testing. We tested over the course of 4 weeks, and improved the tutorial a lot, but it still was a painful experience for the game player.

The best games teach the game player “naturally” as they play, so we switched strategies. We changed the tutorial to be as brief as possible, and changed the first few levels to continue your training. By the time we were done, we reduced the tutorial from over 5 minutes to about 90 seconds, and the children really liked it.

Blindfold Racer: Creating the track

I thought about how the students were laying out the track, and I needed an easy way to convert that into a virtual track in the game. I also thought that in a future version of the game, we may want game players to create their own tracks and then drive on it.

By searching “open source” (free) projects that other people have created and shared, I found a program that lets you draw on the screen (with your finger), and then tells you the points on the line. Using that program, I could draw the “center line” of the track, and I would simply have to write a program to compute the left and right edges of the track (based on the width of the track). Easy, no?

It took about two weeks of relearning my trigonometry from high school to figure out how to do that – for example, how to rotate a square:

You need to know which direction the car is moving to understand which is the left fence and which is the right fence. For a straight track, it’s easy. For a track in the shape of a vertical “S” or a horizontal “S”, it becomes more difficult.

Essentially, I have to compute the bounding square of the track for every point on the “center line”:

and from that compute the left and right fences, and lay out the fences on a 2000 x 2000 matrix. The app also displayed the road on the screen (for debugging purposes), and that was sufficient to build out levels easily.

Each level would be described in an ordinary document (XML file), where the points of the center track are listed (from the starting line to the finish line), along with the positions of each animal or prize, and the sound that the animal or prize makes.

I also implemented many of the game-controlling gestures that the students came up with:

Now we can coming up with ideas for more levels, and implement them quickly.