42 Astoundingly Useful Scripts and Automations for the Macintosh

8 (bit) Days of Christmas: Day 10 (Up on the Rooftop)

In the December 1986 Rainbow, J. D. German presented us with this game, involving flying and landing Santa to deliver presents!

Jerry Stratton, December 22, 2020

So far all of the Christmas images I’ve chosen have been drawings for display while music is playing. This image from J.D. German’s “Up on the Rooftop” from the December 1986 Rainbow is an image from a video game.

Actually, it’s not a game in the usual sense, since there is no scoring or clock to play against. But it is fun—so much fun that you may have trouble getting the kids to give up the computer when it’s your turn.

This is a genre of “game” that I saw several examples of in both The Rainbow and 80-Micro, the game for younger children that involved manipulating things on the screen but not in opposition to anything—unless the child created that opposition in their own mind, which of course they probably did.

Richard Ramella, in his 80 microcomputing column Fun House, made a lot of games like this for us to type in. And many were fun even for adults. His very short text adventures were a great way to relax in a very short amount of time. If you’re interested in games like this, look for Ramella’s “Fun House”, from his column in the September 1982 issue of 80 Micro. Ramella also wrote the occasional program for The Rainbow, such as Bubble War in the February, 1986 issue.

In German’s “Here Comes Santa Claus”, the player controls the reindeer on Santa’s sleigh.

…the reindeer and sleigh behave according to the laws of physics, having to overcome momentum to change their flight path.

The player can make the reindeer pull up and pull down, while the buildings glide by below. If all of the reindeer are on the ground, and the player presses the down arrow again, Santa stops; the up arrow resumes his flight. The reindeers’ hooves beat against the ground while they’re moving against it.

And that’s it. This is an extraordinarily simple game, but it’s also fun, especially for young children who (at least back then) got a great thrill simply by making the images on the computer respond to their own actions on the keyboard or joystick.

It’s also a great lesson for beginners on how to animate graphics in BASIC on the Color Computer. He uses multiple screens to create a (somewhat, given the limitations of the time) seamless animation—he prepares each scene on a hidden screen and then displays it, hiding the current screen, which then gets changed to be the next scene, and so on.

The animation is achieved by paging back and forth between two screens. While one screen is being displayed, the other is having the figures cleared and set to a new position.

To do this and still get four colors, he uses PMODE 3; that uses four pages per screen, and since Extended Color BASIC supported 8 pages, this gave him two screens to work with: one visible and one invisible.

Santa is added last, so that he appears to be in front of the objects on the ground.

The reindeer are updated “by making the next position of each reindeer equal to the last position of the reindeer in front of it. This gives the team of reindeer an undulating flight path that adds to the realism.”

The reindeer “obey the laws of physics” by using momentum, which he stores in the DV variable.

The reindeer in this game also run while they’re flying. German’s program creates “one legless reindeer, RD$ in Line 490, then [adds] two different leg positions in Line 500 to provide the galloping animation for the reindeer.”

The program is explicitly meant to be updated for your own house. The opening screen says “MERRY CHRISTMAS CHRIS & JAMIE”; those names should be changed to your own children. But even further,

If you enjoy writing or tinkering… You could make the house or apartment look like your own, add an airplane for Santa to dodge, or put a Christmas star in the sky… As the jolly old elf himself once said, “A merry Christmas to all, and to all a good night!”

J.D. German’s Up on the Rooftop

“Santa needs your help to fly his magical nighttime mission.”

In response to 8 (bit) Days of Christmas: Eight holiday images created on the TRS-80 Color Computer, from the early to mid eighties.

  1. <- Day 11 Christmas Tree
  2. Day 1 Merry Christmas! ->