Tour de Applet: History

In March '99 a German web design company called Digital-Artworx contacted me about a project. They needed a Java game to spice up a site about the Tour de France annual bike race. Preferably, it should be in the same style as the classic 1980s sports games for home computers, where you had to wiggle the joystick like a madman to speed up your runner/biker/jumper. But for obvious reasons this approach could not be fully duplicated in Java.

I thought about it for a little while and on the following day I sent them this concept sketch, picturing a side view with three or four layers scrolling left at different speeds.

My idea was to simulate an actual bike ride as closely as possible. I'd let the player "pedal" by repeatedly alternating between two keyboard keys -- say N and M -- as if he was pushing his left and right foot down. The faster he'd press, the faster the bike would go. But he would also have to conserve his energy. Pedaling faster than a given "comfort speed" would wear down his stamina and eventually force him to stop, unless he slowed down.

Naturally, it would be easier to maintain a high speed going downhill than uphill. A successful player would have to shift gears and change the pedal rate to get the highest possible comfortable speed out of each part of the track. Then he would reach the finish line just before the point of exhaustion and win the race. Slower players would outrun fewer competitors and get a proportionally lower score.

But then they had changed their minds. They thought it would be more fun with an action game, which should be bike-ish but without any connection to real bike races. To the right is the layout they suggested. The player would now have to dodge or jump over obstacles, push competitors off the road and pick up items for extra speed, bonus points or reduced damage. I half-jokingly asked whether we should also equip the bike with a force field and laser cannons, since this struck me as more of a space game concept than anything else.

Eventually I managed to talk them out of some of the more outrageous ideas and we ended up with something that could be loosely described as a "bike death race." Aside from what the sketch shows, there road would have to turn and it would be nice to have intersections with traffic the player had to avoid. Older visitors with a good memory for details might recognize some elements from the early Commodore 64 game Motor Mania (shown to the left). I borrowed a couple of ideas from it -- the single crossing vehicle and the frequent alterations between wide and narrow roads.

I tried to stick very closely to their sketch. The bikes and bikers had to be made a little fatter, to stand out more. For the same reason I made all the competitors red. Using a dial-type speedometer instead of a colored bar was a stylistic decision. As for the height map at the bottom, the algorithm I wrote for creating the mountains couldn't get them to look quite as good as I wanted. But it was close enough.

Originally, the player had only one life and his score was determined by how many bonus objects he picked up, how far he got before he died, how many competitors he outran and (to top it off) how well he managed to avoid collisions on average. He wouldn't necessarily make it to the finish line. But the company people weren't happy about that. They wanted the player to have several lives. So I added some.

Then they changed their minds again and thought it would be better to skip all the scoring stuff in favor of time. No lives. Just a time penalty for each crash. (The game was nearly finished by then and, as you might expect, having my directives changed felt rather frustrating.) This called for a different control panel. I also replaced the bonus objects with water bottles and let them replenish stamina. You have seen the result, which isn't too shabby after all.

I'm not sure where the game is right now, or even if it's still up and running, but you can always play the stripped-down version I'm keeping here. The official game had a new background, road type and height profile for each day of the race. I've kept my favorite seven graphics patterns and set the game to cycle through them with a different one for each day of the week.