The Commodore 64 wasn’t my introduction into Commodore machines. That honor goes to the Commodore PET I played with all summer long at summer school between 7th and 8th grade. I was so enamored with the machine that I would cut my other classes to go the the high school level class and play with them (there was much less interest at the high school level and thus more machines free to use). The instructor for the class didn’t seem to mind.

PET 2001 – www.zimmers.net

The instructor from the other class did, however, and I got caught skipping the class. Luckily, when my mom discovered my reason for cutting class, she made a deal with the school that I could flip the two classes so I could do the computer class at the time that I always had access to a machine and still take the other class. I would then sneak back to the computer lab after hours and hang out with the teacher. It was really the only time he could play on the computers. He was just as much of a computer enthusiast as I was becoming.

Towers of Hanoi

Much of our time during these classes beyond learning the basic BASIC commands like PRINT, INPUT, GOTO, and RUN was playing games. All of the games were loaded from cassette tape. The teacher would have several computers lined up with different games loaded and the kids would take turns going from machine to machine instead of taking the time to reload new games into the computer. I became a pro at the Towers of Hanoi and sometimes managed to land the Lunar Lander with just the right velocity to not destroy or cripple it (not usually though, that game was hard!). The one game I never solved all summer, however, was the 3d maze game. Actually, I don’t know if anybody solved it. We were just kids wandering aimlessly through a maze, hoping to find the exit. The teacher would have to time us and just switch kids out on that game. We all ended up trying to solve the same maze in the class, taking turns as directed by the teacher.

What I find cool about these games now was that they all used the Commodore graphics characters to create the imagery. So now, in 2019, I have a certain nostalgia for that look and feel. So I set out to create a 3D maze game using the PETSCII characters and what I remembered the game to look like. Well, almost 40 years later, my memory is not so great. After writing the game, I went to do some research on the old PET game I remembered playing. I believe the game was called Labyrinth, and looked like this:

Labyrinth for the Commodore PET

Unfortunately, what I created before doing the research was more of a wire frame design and looks like this:

My 3D Maze for the Commodore 64
3D Maze for the Vic 20

With continued research I discovered it looked a lot more like a 3D maze game for the Vic 20, even down to the compass direction on the top of the screen. I had a Vic 20 before I got the Commodore 64 and later than when I was playing with the PET, so maybe my memory was influenced by the Vic 20 version???

There are some key difference from the PET version and the Vic 20 version that give them a different look. The first difference is in how the maze is built in 2D. My maze, like the Vic 20 game treats a wall and and open space as the same size entity. The PET version treats walls as thinner objects, giving the 3d view a more “realistic” look in my opinion. After seeing Labyrinth, I think I may go back and create a new maze game with that same look. But for now, I have already completed my more Vic 20 like maze game, and here it is.

My goal for this was just to have some fun with it.

  • I wanted to write the entire thing in assembly. I had already written a similar 3d maze in BASIC. It was slow and clunky (the Labyrinth game is painfully slow to draw the screen up).
  • I wanted to generate a big maze. This maze is 80 x 50, double the normal screen size.
  • I wanted to get the full map on the screen.
  • I wanted to have the computer solve the maze (using a rather simplistic algorithm) so that it can just run like a screen saver.

The disk image can be downloaded here.

There is nothing fancy in this program. Nothing that pushes the limits of what the machine can do. Just a fun project & lots of nostalgia.

I did this project in CBM .prg Studio. My program is not optimized and I could have built some macros to do some of the repetitive work. Instead, I did a lot of copying and pasting. This is my first project in CBM .prg Studio and I know I haven’t used most of the tools it has to offer. Previous to this I mostly programmed directly on the C64 using Turbo Macro Pro. I’ve enjoyed this environment and will definitely use it for future projects. My one complaint is having to run Windows to use it.

Next post I’ll talk about how the C64 creates the maze in 2D and draws it in 3d. Until then, check out the programs on the disk image and try the 3d maze out!

Michael.