While working to improve the way I display my ZX81 programs, I ran across one that didnít have a picture. Finding that odd, I did some research and found that Iíd written a page for it back in 1999. To my surprise, Iíd never uploaded it. To rectify that oversight, I made Bugers this monthís program.
Something fun to play.
I wrote Bugers towards the end of my ZX81 programming youth. It is a simple game that has one of three bugers (donít ask) trying to dispatch you. Press the Z (left), X (right), or M (up) key at the right time to stop them from eating, slicing or crushing you. Simple, right?
Warning, it isnít as easy as you might think. While running through some test plays, my max score was only 80. That equates to me defending eight times against the bugers. Ouch. Maybe I was just ahead of my time, creating impossible games 31 years before they were in vogue.
Commentary aside, the game is about timing. Defend too soon, or late, and you crashónot quite the right word, but itís what I used. Surprisingly, the mechanics work well on the ZX81. It was also easy to program.
Timing is in the frame.
It may not be obvious, but video games are all about animations. Whether a character is standing still, walking or jumping, each movement is a series of choreographed frames. Ever played a bad game where things doesnít transition well? Yep, animation failóbut still an animation.
Bugers uses animations too. Looking at the code, youíll find that each line is a frame of the animation. For speed I created each frame using a
Looking over the program, I am surprised by its simplicity. The main loop is only 4 lines, leveraging a calculated
GOSUB to animate each buger. Because I coded the movement between frames, there isn't the normal movement routine. Subsequently, Bugers is easy to follow.
Hard to find changes.
Usually, I spend a good amount of time noting all the improvements I could make, but not this time. There just isnít that much to improve. As is, the program just works.
More of a modern day bias, Iíd make some tweaks to the controls. The current scheme is a bit confusing for my now conditioned mind. Using AWD or even the arrow keys would ease my aversion. Yet, in 1984 those keys werenít yet ingrained in my mind.
Yet, I didnít leave it completely alone. I did add an auto-start routine so the program would run forever. There is also a display bug that I left in. Although Iím sure I just mistyped, consider it a challenge to find and correct it.
Happy Halloween and beware of the bugers.