Commodore‎ > ‎C128‎ > ‎CP/M‎ > ‎

Games

This page is about a few CP/M games that I am familiar with. Some are (were) commercial, and some are made by private C128 programmers.

  Zork Trilogy
 

Zork, Zork II, and Zork III (the trilogy) are/were commercial games by Infocom. I'm not a lawyer, but as I understand it, the company is no longer in business and the various copyright(s) have shifted around since the time of death. I'm not sure who, if anybody, currently owns the current copyright(s).

I was pleasantly surprised to find the original Zork trilogy of "interactive fiction" available for CP/M. However, I was only able to find disk images on the Internet in non-Commodore format (variable MFM-format).  So, I created a hack in VICE that allowed it to read these "foreign" disk formats (variable-MFM). NOTE: The C128 computer and C1571 (and C1581) disk drive(s) can easily read many "foreign" disk formats; sadly the official version of VICE fails to implement the full MFM capabilities, so I had to hack VICE to use these "foreign" disks. Anyway, my hack worked (at least, read-only) and I enjoyed playing Zork (again) on my C128 (but this time, in CP/M mode).. While trying to improve my VICE hack to allow writing to disk, I somehow broke it, so I won't publish it here.

Well, I'm not the only one to do this.  Francesco Sblendorio also made C128-format disks for CP/M Zork, and was kind enough to share them with us!  He actually did it better than me, because he put all of Zork I, II, and III on a single D71 format disk.  You can find out how he made his disk images on this web page.  If you want/need a D64 format disk, then you can download a ZIP file with 3 separate disks images, like I made:

  • Zork I: The Great Underground Empire
  • Zork II: The Wizard of Frobozz
  • Zork III: The Dungeon Master

Zork is a classic "text adventure".  Because it has been well-documented, I won't say much about it (read about it here).  I will say that Zork, like all Infocom text-adventures, had a great parser that made all other similar software look inferior.

Image of CP/M version of Zork I (on C128 computer)

  Tron  

This is an entertaining game based on a sequence from the movie Tron. Each player rides a "cyber motorcycle" which creates a trail in the form of a deadly wall. The goal is to force your opponent to crash. Your main method to do this is by creating walls (in 3d)... on your 2d computer screen, they appear as lines. An alternate method is to force your opponent into the boundary (this is just another wall which surrounds the entire game arena). The final "alternative" is to crash directly into your opponent (but you both die in that case, so it is not a realistic option).

There are two problems with this game. Most important is you need two players!!! There is no option for you to battle the computer (how sad). The second problem is the players must (both) use the keyboard.... this game (my opinion) is best played with a joystick(s)... sure a keyboard works, but is not ideal.

Aside from the "keyboard-only" and "2-player-only" issues, this game is plenty of fun on a real C128.  You need to use real hardware or a good emulator to enjoy the game, in terms of speed (for example, older VICE 2.2 emulator runs the Z80 at 1/2 speed).  Also, on real hardware, the "reset" after a game ends can be too quick... on a slow/old emulator, the "next game" delay seems more natural (to me).

This game was written by C128 programmer/hacker "tokra".  This game uses a special bitmap graphics package that he has (but I don't know how to get) called C128BITMAP.ZIP (as I recall).  I'm still researching this issue... it seems this is a totally different graphics package than "GRAPH.INC" (used in the next game described below). The source code (in Pascal) is included on the CP/M disk image. (The graph / bitmap package is missing.)   Anyway... have fun!!

Image of Tron game on C128 CP/M

Yeah, I know the image isn't very exciting, but it is because I was testing alone. (1-Player).. like I said before, this is 2-Player game!!!

  Hanoi
 

This is text/graphic game (similar to ASCII art). Unlike Tron, this game is 1-Player only. The object is to move a stack of disks (one disk at a time) from the initial stack (column 1) onto either of the two columns. For example, you can move your stack from column 1 to column 2, or you can move the stack from column 1 to column 3 (the initial stack to move is always in column 1).

Because even an idiot ("monkey") could solve the problem after an infinite number of attempts, the program actually tells you the minimum number of moves required. You "win" if you move the initial stack to another column with this minimum number of moves. Each move is simple for you (the player):

  1. first type (1-3), the column you want to remove a disk from
  2. next type (1-3) the column where the disk should go
There is a limitation: you can NOT move a larger disk onto a smaller disk.  In other words, you can only put smaller discs on top of larger discs (or said another way, you may NOT create an "unstable" / "upside-down" pyramid with larger discs above smaller ones).  If that doesn't make sense, just play it for fun and you'll see what I mean.  Anyway, attempting to create an "inverted pyramid" will be rejected as an illegal move.

From a "pure game" prospective, it is quite fun. You start off with simplest task: only two disks to move. You can change difficulty at the main menu with + and - keys (change number of disks from 2 to 7). However, the animation is a bit sluggish on real C128 (or a good emulator). With old emulators (which have Z80 at only 1MHz) it is annoyingly slow. And this slow speed assumes default choice of "no animation". If you turn on animation, it is frustratingly slow on real C128, and virtually unplayable on old/slow emulator.

NOTE: I am talking about the "C128" version of Hanoi (which features color) which is named "HANOI128.COM" on disk. Also on disk is a "CP/M neutral" (not C128) version of Hanoi (it has no color) which is named "HANOI-P.COM" on disk. The second (no color) version is recommended if the game is too slow in color. BONUS: The author, Francesco Sblendorio also includes his Pascal source code on the disk image.  This includes the "GRAPH.INC" file.  His complete repository is available at https://github.com/sblendorio/hanoi-cpm/.

Hanoi Color -- winning game with 7 discs

I really had fun playing this game for several hours trying to get the "best score" at each level. (Actually, I've only mastered level 5... still need to conquer level 6 and 7). I hope you enjoy playing it (or learn from the source)!

Playing Tip: to quit in the middle of a game (maybe because you made a mistake), just press ESC key (this is F1 key in VICE emulator) to return to the main menu.


  Queens
 
Here is another game by Francesco Sblendorio.  It also uses ASCII art and color.  (There is no monochrome version.)  The game engine (user interface) is more polished than his previous game (Hanoi).  Download the D64 here.  (The disk image includes executable COM file and source PAS file!)  For latest updates, see Sblendorio's Git Hub page.

The object of the game is to place exactly 8 "queens" (and nothing else) on a chess board such that none of them can attack anything.  If you have ever played Chess, then you know that a Queen can move anywhere (but not in one move).  The challenge of the game is to "space" all the queens so that, in a single move, they can not "kill" (move to the position) of any other game piece (any other queen, because there are only Queens in this game).

If you are not familiar with this game, then after several attempts you might think this is cruel joke (impossible task).  It is not impossible, but it is not easy either!  For those of you which have never played Chess, the important thing to know is that a Queen may move an unlimited number of positions horizontally (on the same row), vertically (on the same column), or diagonally (an equal amount of rows and columns).  The only "limit" is the queen may not "wrap around" the board. (I hope you understand "wrap-around", because I won't even try to explain it!)

If you are like me (somebody familiar with both Chess and the "Queens Challenge") then you will still spend some (enjoyable?) time finding a set of positions for all 8 Queens such that none can attack any other!  If you get really frustrated, you can cheat by using the "view solutions" option to see some winning arrays.

Image of chess board with 6 queens not attacking any other


One of the coolest things is the list of "winning arrays" is not fixed!  The list of "winners" may (re)saved to disk when/if you win: if you find a new solution (unknown to the game) then you can save it... and name your solution... very similar to a  "high-score" list in the more popular arcade games of the 21st century.

A very interesting game for a "programming nerd" or a "traditional chess player".... but if you are into shoot-em-up arcade games or RPGs then it will probably bore you to death (or escape your comprehension).


© H2Obsession, 2015, 2016
Comments