September has come to a close and Im on the edge for getting my program of the month out. So, I chose Raceway as a simple game that is both tough and satisfying. My high score is 40. Can you beat it?
A quick overview.
Warning, the game jumps right in when you load it. I usually crash the first few times until I get used to the speed. Raceway doesnt start slow, it jumps right into a fast paced game. There is little time to predict the moving raceway. This is the tough part of the game.
But, if you do well, you will actually come to the finish. Raceway gives you a breather. Press the key, though, and youre back into the fast and furious downward race.
Although tough, Raceway offers a bit of a push. It displays your high score (or hi-score) after you crash. Get a new high score, and it will tell you. There is a bit a rush when you beat your previous best. It made me go back a few times to get my 40. Although, I lost it in the screen shot as I had to restart the game.
Lets talk structure.
Raceways code is as simple as it gets. The first 5 lines set up the variables. The next couple record your move. The next 3 the raceways move. The game then prints screen, checks if you crashed. If you didnt, it moves the raceway, adjusts your score, then checks if you finished. Simple so far.
There are then two display routines. One manages when you finish the screen. Like many of my other games, you get up to 10 extra points when you finish. As such, you can get a different score even if you clear the same number of raceways.
The other displays the crash. I actually like the graphic. It isnt as mangled and sad, instead very arcade like. The game then checks if you have a new score. This is also one of the few times where I use the ZX81s boolean operator to conditionally display text.
Some final thoughts.
You can tell this is early code for me. Later on, I would have consolidated sections using more boolean operators. It is also one of the few games where I keep a high score, something Im glad for given how challenging it is.
If I were to change anything, it would be to add a slight delay. A slower start would have made it more interesting. But, I already have other versions of this game where Id done that. Another fix would be to remove the random score as I still feel it is unfair.
In all, not a bad game. The high score keeps it from being another painful game. The graphics work well, fitting in well with the ZX81 and the games of the era.