Time to close out the year with another classic remaking. Back in 1983, I decided to try my hand at recreating Nintendo’s fan favorite: Donkey Kong. My version, cryptically called Monkey Maze, is December’s Program of the Month. Not quite as complex as the original, my version has only a single board that you can navigate around using the ZX81 cursor keys (5,6,7 and 8 which map to left, down, up and right). It plays pretty well. Go give it a try, and avoid the barrels, if you can.
Graphically, Monkey Maze isn’t bad. It is a bit flatter than the original, almost looking more like the cement level of the original. The barrels are okay, even if they just roll back and forth. You can’t jump though nor is there a hammer to grab and smash them. Yep, this is a simple dodge and run game.
I do think some parts could have been better. For example, the princess and you are simple blocks. It makes for fast printing, but isn't representative. The monkey, in my version, looks like a big man. I definitely could have done better. In fact, when you make your way to the princess, you walk over him. It made the code simpler, but graphically looks bad. If I were doing it today, I’d probably coded a little end animation. I did add a heart at least.
Code wise, Monkey Maze is both simple and complex. It uses a lot of elements from other games, but there is a lot going on. The complexity mostly comes from all the variables I have to update. If you look at the start of the code, you’ll quickly understand. Close to 16 variables are defined right up front.
The next section of code prints that nice maze of levels and ladders for you to traverse. I could have used the ZX81’s fast routines to speed up the loops that create the board. However, I find watching the board get painted after each round is a pleasing effect.
After the screen is painted, we are into the guts of the game. The program uses all of those variables to control where everything is on the screen. Because of the ladders, this game has some uses some complex logic to allow you to move up and down. A more advanced game might make a check to see if a ladder existed. I’m not sure that would have been faster thought.
Once done, I do a check to see if you hit anything. There are three outcomes here. Nothing, and you just move. You hit the princess, and thus clear the board. Or you hit a barrel and die. Oh, and you can run out of time as well. It isn’t displayed on-screen, but you do have a finite amount of it to rescue the princess.
Overall, Monkey Maze is a decent enough. I could have tweaked a few things here and there. I was obviously thinking about adding more as the player is a variable. I suspect I had planned to allow a hammer or power pill to gain some extra points. I’ll leave those ideas for another day and, for now, just enjoy the game as it was.