Can You Run and Jump Your Way through This ZX81 Game?


My take on an endless running game, 35 years ago.

Running platform games with simple controls were all the rage when mobile gaming got started. Although the themes varied, they all tended to have a few if only on control to them. Some made you press down and release. Others ran on their own, requiring you to press or swipe as needed. My journey into the genre began in 1985 when I wrote Bolder. It may not be popular or exciting, but does show that the concept had roots going deeper than you may realize.

The simplicity of gaming.

Earlier home computers, especially the ZX81, didnít have the best gaming keyboard. The RAM pack connector was finicky and often crashed. I wedged mine into a tray to keep it stable. But, never was able to do much with that keyboard. Oh how I wished I had a joystick for my computer. As such, many of my games kept their controls simple. Bolder being a great example of one such game.

Bolder, Game Play, ZX81 Screenshot by Steven Reid, 1985

Much like mobile had a problem with controlsóhave you tried using the touch screen joysticks, so did my ZX81. Mobile gaming figured out early that simple controls worked best. An entire genre grew around the "endless running" or "infinite running." The problem they solved, was the same one we had to. Bad keyboards.

Entering Bolder in again, I wasnít sure what the game mechanics would be. I had a vague clue from the graphics I had printed, but 35 years dulls the memory. But the game's true nature became clear as I entered in the faded code. It was my version of an endless runner.

Letís give it a play.

Bolder starts with a simple character, you, on the right side of the screen. A bolder is hurled your way and you can jump to avoid it. With each successful miss, you advance forward to the left. Make it all the way, and you start over. But, it gets a bit harder to jump over it. Repeat this forever!

Bolder, Game Over, ZX81 Screenshot by Steven Reid, 1985

Okay, letís get something off my chest. I keep thinking the title should have been boulder. I donít know if I misspelled it, or was thinking something else. As I pondered it, I decided to stick with the original name and not fix it. In a way, it made more sense as it has a spirt of adventure around it. If only the game was as bold.

Although functional, it starts way too slow and tedious. The boulders are slow and most donít need to be jumped, so you stand there waiting. The player only takes a stepóso much for runningóafter each boulder passes. The shorter reaction time does add some sense of panic, but it takes forever to get there.

There are some fun elements in the game that I do like. The title screen, for one, is quite nice and I like the way I underlined the title. The game does speed up as you play, thus the level counter. When you die, the game creates a new screen with your final stats and that darn boulder plastered all over it. Great reminder not to get hit again!

Decent code, but it could be more.

The code for Bolder isnít bad at all. Written later in my ZX81 days, it is well formed and makes sense. There are a few spots where I could have optimized things. Given I wrote most of these games in a day, it isnít bad.

An interesting bit of code is the array that holds the boulders. Instead of using some random code, it actually throws the same boulders in order at you as you move along the level. Get far enough and youíll see it spell out LAST. Only mistake is that I didnít set the offset right, so you miss the first boulder.

One aspect of the game that bugs me now is the flashing of all the elements. I get the player flash as it has to deal with you jumping. For the boulder, however, there is no excuse. If anything, a little work here would have improved the aesthetics of the game.

A bit of trivia, the game has a maximum level counter of 33. It doesnít end at 33, only rolls back over to 1! This is a nod to old Atari games where the internal counters were finite. I used to roll the score on Asteroids all the timeóyes, I was good a few games back then. ZX81 actually isnít bound by that level, and the chances of you coming close are slim to none. Looking at the code, I laughed because I understood right away what I was doing. Funny where we take our inspiration from.

Making a better endless runner.

Hindsight is always clearer, but boy I could have done better. By the time I wrote this game, I knew how to build complex character animations. Making the character move would have contributed to the running experience. At least the jump works.

The boulders, although interesting, are too spread. If anything, I should have figured out how to put more obstacles on the field. Moving the runner helps, but focusing on adding more elements would have been a better experience. I understand my motivation for what I wrote, but I could have done more.

Now, going completely crazy I would love to make a moving background. That would have added a lot to the feel of the game. While thinking about Bolder, having different themes per level would have been fun to. I had the thought of adding some unique graphics to the bottom of the screen. These ideas would need more planning to pull off effectively.

Reading about about other game designs, I needed to focus on the runner's motivation. Is something chasing the player? Are you trying to reach soemthing? Answering that question would have added some interest and intrigue. Thinking about it, I could also have changed or added other graphic elements to the game.

On the subject of motivation, adding some score multipliers would have been interesting. The player could jump or run into consumables that would increase your score. For example, the more items you hit in a row would increase your combo score. In that way, the levels would be less of a concern. Your focus would be on on maximizing your score.

Alas, none of these exist in the current version. Instead, enjoy the slow pace of Bolder. Some day, it might be much more.



Comments on this article:

No comments so far.

Write a comment:

Type The Letters You See.
[captcha image][captcha image][captcha image][captcha image][captcha image][captcha image]
not case sensitive