Tips for specific tracks

My last post gave some general tips for playing Impossible Rainbow Road.  Here are some tips for specific tracks.

Endless 1 and 2. The general tips cover most of what you need. Follow the road as best you can at the beginning. After you’ve picked up enough speed you’ll find it easier to let the ball leave the road and sail to a landing further down.  To me it feels like skipping a stone.

If you find that it’s too much like skipping a stone — the path is too horizontal and landing on the road is too tricky — you might like a bouncier path. Try pushing down as the ball approaches each landing in an attempt to increase the rebound.

Each endless track gives you one hop at the start. You might be able to use the hop to rise up and get back on track. You’ll get a new hop at each 1000 points.

Endless 3 — what I used to call the Insane track– is actually a bit easier in some ways.  The road curves more tightly under you. You might need pushing a lot more than hopping, to keep yourself falling downward without losing sight of the track.


Medium Dash 1. Try to stay grounded on the downhill before the gap, to build up enough speed to get across the gap.

Medium Dash 2. You’ll need to compenstate for the blizzard cross-wind, especially when you’re sailing. After the first lap you might have enough speed to thread the loops or even skip them.


Medium Dash 3. The first track with a puddle, placed in the most annoying place at the bottom of the downhill where you’re trying to build speed. The good news is that you can hop over the puddle if you time it right.




Hard Dash 1. Get grounded quickly after the first gap, to build up enough speed to cross the second gap.

Hard Dash 2. Rolling hills! It’s all about the rhythm of hitting the downhills. Oh, and another annoying puddle.

Hard Dash 3.  A fork in the road!  I honestly don’t know which path is faster.  Also see the tip for Hard Dash 1.

Epic Dash 1. No guard rails! Two annoying puddles! The first one seems especially hard to skip over. The good news is, you should be able to thread the loop without the guard rails to get in your way.

Epic Dash 2. A big gap on a hilly curve. Pushing and steering at the same time.

Epic Dash 3. More rolling hills, pushing and steering. In a blizzard. Not a time for a weak sensitivity.


Epic Dash 4. You’ll need the last downhill speed boost to reach the final portal.

General tips for playing Impossible Rainbow Road

Impossible Rainbow Road is now two games in one. The Endless level comes from the original version of the game where the road goes on forever. The objective is to go as far as you can without falling off.

  • At the start of an Endless run, all you can do is steer carefully and follow the road. This shouldn’t be too hard with the slower speed at the start. After you’ve picked up speed, about a minute into the run, it’s not so easy to follow the track and it’s not the best tactic anyway. It’s more fun to skip down the track like a stone skipping across water.
  • When landing on the track, you can try pushing down to increase the upward rebound. This can give you a more bouncy, less horizontal path.
  • If you fall off the road you might be able to hop back on if you catch yourself quickly enough.




The Dash levels come from the second version of the game (formerly called “Impossible Rainbow Road 2” and “Loopy Dash” before that). The objective is to go as far as you can in one minute. You’ll repeat the same track for several laps, going faster on each lap. If you finish 3 laps you’ll get 3000 points. If you cover 3 and a half laps you’ll get 3500.

Because everyone’s playing the same track for the same amount of time, the world’s best scores will tend to be bunched together. Here are some tips to squeeze out the last few points for a world-beating gold medal.

  • Be sure to roll through the magic space warp at the end of each lap.
  • Try to avoid colliding with the guard rails. Each collision costs a tiny bit of speed.
  • Try not to float above the track for too long, where air resistance will slow you down a bit. When you find yourself sailing, touch and hold the screen to push the ball gently down to the track.
  • But don’t push too long. After you’ve touched down more push will create drag. The best strategy is to stay lightly on the track and in the middle. (Unless flying lets you take a major short-cut!)
  • Hit the downhills just right to maximize your speed. (If you’ve ever played the game “Tiny Wings” you’ll have a feel for the rhythm of hitting the downhills.)
  • You might find more than one way to cover the distance, especially after you’ve built up speed.
  • I find the game easier to play with a higher sensitivity.

My next post will offer hints for specific tracks.

Live-action menu

Yesterday’s post talked about Loopy Dash having a dead-static menu and needing some extra action to catch the attention of first-time players. My other current game, Impossible Rainbow Road, had the same issue. The initial screen (main menu) looked like this.

In my latest update 3.8, I wanted to see how much action I could incorporate. Thanks to Unity’s cool RenderTexture feature I was able to embed the actual running game — live action! — in the menu.  Unity rocks.

It’s important to note that the game is actually running.1 The action isn’t pre-recorded as you might think from this small sample. I had to use a straight track or else the ball kept falling off!  My initial idea was to make the menu show an instant replay of the user’s last run, but that turned into more work than it was worth at the time.

1. A camera follows the ball (same as in the game) but with its target
   texture set to a RenderTexture object that can then be displayed
   as a RawImage in the UI.

A little movin-n-shakin

I’ve been pretty good about updating my two apps 1 with improvements and bug fixes, but not so good about updating this blog.  It occurred to me that the release notes for the updates would provide good material and motivation for blog posts.  Starting that now.

I made a small update of Loopy Dash to 1.7.1, on the Google Play Store first.  My goal was to add a bit of curb appeal.  The stats suggest that many people download the games, give them a quick look and discard them if nothing catches their attention.

My games had a static initial menu as can be seen in the screenshot. Not bad but nothing moving or shaking.

I made the ball roll as if it was moving down the track, with an occasional random side-shake and sound as if it collided with the guard rail.

My other goal was to encourage people to leave a rating. My database shows 1,587 unique users in the two months that Dash has been out, but there’ve been only six ratings and one real review. I added a please-rate-me panel.

It pops up when you start your fifth session, and never again. It merely makes it a little easier to leave a rating.


1. Yeah, only two apps now. A few days ago I unpublished Chucklehead (making only
   a few pennies, kind of embarassing) and also the paid versions of Impossible
   Rainbow Road (making a dollar or two a month, not worth keeping up to date).

Third game!

Back in mid-July I had two games out there — Impossible Rainbow Road and Chucklehead — and they weren’t needing any more frills. I was pondering what to do next. I’d spent a year on Chucklehead. (Well, a calendar year shared with my day job… more like a half year of real time.) It was making no money. (Oh well. It looks silly now but at the time it was just something I had to finish. I learned a lot.)

I wanted to try one more game if I could do it quickly, say in three months. I started thinking about Rainbow Road and the reasons why it didn’t do better.  I decided to do another quick rolling-ball game but without the silly little one-point boxes. To me they’re not the fun part of the game (the long jumps are), but not many users were figuring that out.
I wanted to use only tilt control — much easier steering than tapping.
I wanted it to be easier to start playing, not so impossible for casual users.
I wanted it to be more competitive, a race against a clock like a 100-yard dash.
And with leaderboards.
I wanted more interesting tracks with hills, curves, gaps and loops.

Therefore the track had to be a fixed repeatable course, not randomly generated. With a relatively short length, around 100 meters. You’d loop back over the same course several times, as much as you can cover in one minute. The result was a game called Loopy Dash. *



I beat my self-imposed deadline by one day. (Yay me.) Loopy Dash was on the two app stores on October 24th.
Loopy Dash on the App Store




* When the name came to me I wasn’t really trying to follow the 2-&-1-syllable tradition set by Flappy Bird, Crossy Road and Cliffy Run… but the tradition helped to make the name stick.

World’s highest scores!

One of us was play-testing Impossible Rainbow Road last night, doing pretty well on the Easy difficulty level with a score of about 100 points. At the end we were rewarded with a congratulatory message:

Screen Shot 2016-05-19 at 11.31.33 AM

First, it surprised me that someone had achieved 23,046 points! Wow. I don’t know who did it but I feel like sending them a T-shirt or something. (The leaderboard doesn’t bother collecting the person’s name and doesn’t track the exact location. All I know is that the person was in the general vicinity of Denver. The person was using the new tilt control technique which makes staying on the track a lot easier but still, 23,000 must’ve taken a lot of tilting.)

Second, it occurred to me that some players might be a bit confused to hear that they’re in the top half when their score is a small fraction of the world’s highest. I looked at the leaderboard database which has been collecting scores for about a month now. For the Easy level the distribution looks like this:






It’s a highly skewed distribution. The highest scores (above about 200) were achieved by only one person each, giving that long tail to the right. Most of the scores are bunched up below 100 points as can be seen in the close-up on the right.  The 50th percentile (the median) is at about 75 points. That’s why a score of 100 can be in top half of the world’s players but still be far below the world’s highest score.

The leaderboard collects scores across all devices (iOS or Android), from the free or paid versions, from any location. That 23046 really is the world’s highest score. (For now.)

Here are the distributions for the other two difficulty levels.








Another icon idea

Thanks for the votes.  However, last night Jeff came up with another idea.  I call it a diagonal face-off.  Whaddyathink?


The icon that I need to submit to Google Play has to be 512×512 pixels.  I don’t think it ever gets displayed that big… they reduce it to whatever size they need.  The store listings seem to show about 130px which is the size I’m showing here.  On a device it’ll be as lot smaller of course.

Chucklehead in the home stretch

I’ve been working on my second game for a year and a quarter now!  Well, I still had a day job during most of that, so call it six months of normal work.  I’m planning to release it to the Google Play store in the next few days.  Right now I’m trying to pick an icon for the game and I’m putting up a few possibilities to get reactions from family and friends.  Whaddyathink about these?




Impossible Rainbow Road 2.5

I’ve made another release of Impossible Rainbow Road to Google Play and Amazon, and submitted it dfor the third try to Apple.  The significant feature this time was an improvement of the options panel.  A user, Michael Stroh, suggested:

“One thing that I think would make the game even better is if instead of having the sliders to adjust liveliness and road difficulty, just have three set difficulties i.e. Easy, Normal, Hard. And then save high scores for each difficulty. My room mates and I all play the game, but we can’t really brag to each other about our high scores because our settings might be different.”

Great idea.  The new options panel looks something like this.  (Well, actually, it looks exactly like this.)


I also made a few minor performance improvements, hoping they’ll make the game less “glitchy” on older devices.  Such as:

* Pre-allocate the pool of boxes and track sections, so that they don’t need to
be created when the game starts. This fixes a noticeable glitch on the first

* Reduce the resolution of the rainbow textures on the boxes and track. I was using large high-es (1024-pixel) textures before.

Finally, I moved the pause and rewind buttons down on an iPhone 6. When I tried to play the game on my new iPhone 6 in the usual single-handed orientation, my thumb couldn’t reach the pause button. Now I look explicitly for a 6 and I move the buttons down about 20% of the screen height. If I had a 6-plus, or knew anyone that did, I’d handle that too.