The World Was Doomed And This Is The Result

Reality, a ZX81 animation, is a graphic example of the perceived dangers of the world in the mid-eighties.

Reality, Opening ZX81 screen shot, by Steven Reid, 1985The eighties were a turbulent time. Political turmoil grew out of the Cold War, which wasn’t loss on this teenage programmer. The vocal leaders of the US and the USSR bubbled up often in the pop culture of the era and the esclation of war. It shouldn’t be surprising that I’d create an animation depicting that escalation.

A mature animation.
By 1985, my focus was less on the program, and more on the content. Reality reflects that maturity in both its style and execution. Remember, this is pure BASIC on a slow, memory constrained machine. Yet, I found ways to build a compelling story.

Unlike other animations, I didn’t use any text for much of it. The story unfolds with a sea of stars and a spiral galaxy, I’m guessing Andromeda. It takes time to draw the opening image, but the result is nice. I like the way it is built and how it ties into the next scene.

The night sky shifts upwards, showing the earth’s sky and a mountain and cityscape. The tranquility of the scene doesn’t last as a plane flys over with a payload. Although unrealistic, I would have expect ballistic missiles, the message is clear. That plane is dropping an atomic bomb.

As that bomb falls, a mushroom cloud engulfed the Earth. Soon afterwards, fallout rains on the land to kill anything left alive. Only then is text displayed with a title and by line to end the story. A short story, that one can reflect on a couple of different ways.

A lesson in timing.
Reality, ZX81 plane screen shot, by Steven Reid, 1985The code of Reality isn’t anything new. As noted, by now I focused more on the results, less on the practice. There isn’t much new here. The value of the animation is in putting it all together.

The start of the program isn’t much different from one of my early games, Star Dodge. A sea of stars is placed against a black background randomly peppered. I did use two different sizes to improve the effect. The spiral galaxy is an added touch—a simple print statement.

Of interest is my use of SCROLL to control the display. The results are effective without having to create some complex code. Instead, I use a FOR loop to give the illusion of tilting the camera down.

Tilting the city in, I used an array to create the city then used string splices to display each line. Although an interesting technique, it could be better. In either case, the results are the same.

I built the rest of the animations with loops and PRINT statements. Although not a trick, did use variables and arrays to manage the display. The airplane, for example, is shown first with its payload. As the loop progresses, I drop the bomb and change the string to compensate.

When I was in the White House, I was confronted with the challenge of the Cold War. Both the Soviet Union and I had 30,000 nuclear weapons that could destroy the entire earth and I had to maintain the peace.
– Jimmy Carter

Nothing is perfect.
Looking on the code with older eyes, I see some areas of improvement. The tilted sky is brut forced. Where I used loops in early parts, I displayed lines of sky instead. An easy fix that would have freed up memory for other items.

Another improvement, of both animation and code, is the fallout. Using texted loops, I pick one of the two array strings to represent falling particles. This ensures a fast animation. But, it tends to create regular patterns. A simple fix would be to use a larger string and display a splice of it.

These two items are minor nit picks. The execution is clean and the story effective. I wish all my ideas were this well executed.

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