Colossal Cave 501 point version - advice needed

Spoiler warning…

I am working on converting the original Fortran IV source code for the 501 point version of Colossal Cave so that it complies with the Intel Fortran compiler.The original source code I downloaded from the Interactive Fiction Archive: /if-archive/games/source/advent.tar.Z
I plan to make the compiled .exe available for download.

Actually, I now have a Windows executable .exe file that starts the game just fine, lets me move from room to room and pick up objects and score points. The source code from the IF-archive have some flaws. I’ll list the most serious flaws here.

  1. When you get to the final puzzle, you cannot win. I have examined the Fortran source code, and it is not possible to win. In the original Crowther&Woods 350p version, you win by performing the following series of actions: sw, get rod, ne, drop rod, sw, blast. Then you win. In the 551p version there is a telephone booth in the repository in which you instead should drop the rod inside in order to win. In the version I am working on, the telephone booth is present in the repository, but it is impossible to win the game, regardless of where you drop the rod.

  2. Scoring. When you ask for the score you are told that you can get a maximum score of 496 points. Comments in the Fortran code tell you everything you score points for, and according to these comments it should be possible to get a full 501 points. I have tracked down that there are two reasons for the wrong score. One of them can easily be fixed by adding one point to your “round off score”. The other reason is that there is missing a SAPPHIRE from the game. Instead you get some points from picking up a buzzing fly and putting it in the safe. This I beliieve is a bug. The buzzing fly can be fed to a spider, which in turn will let you enter a new area of the cave, in which I believe it was intended you should find the emerald.

My plan was to just convert the original source code so that it compiles and plays exactly as it did originally, but upon discovering that the game is unwinnable and gives you incorrect score I’m thinking of fixing those bugs as well. Therefore I need some advice:

A. Should I fix the final puzzle so that you win the game like in the 350p version or like in the 551p version? Since the phone booth is included in this source code, I am leaning towards dropping the rod in the phone booth.

B. Should I add the SAPPHIRE to the game and put it where I believe it was intended to be, and just let the fly become spider-food in order to gain access to the sapphire?

5 Likes

There are two (or maybe three?) variations of the 501-point game, plus various ports. It’s important to know which one you’re dealing with.

The first variation is David Long’s extension of Crowther & Woods’ 350-point version. The second variation is a reduction of Doug McDonald’s 551-point version, which is itself an extension of David Long’s 501-point version.

The ones downloadable from the IF Archive are advent.tar.Z (probably ANON0501 in the family tree) and advent-5.2.2-5.tar.gz (OSKA0501 in the family tree). These are both variation 1.

As you downloaded the first one, you might like to compare it to the source code in the second to see how it treats your two issues.

Alternatively, there’s a great forum that exclusively discusses all the various versions of Adventure at Colossal Cave Adventure forum. Activity is low, but this is where the experts hang out. If you’re patient, there may well be someone on there that knows the answer. In fact, there are already some interesting discussions of the 501-point version.

To answer your specific questions:

A. My gut feeling would be to drop the rod in the phone booth, otherwise the phone booth presumably serves no purpose.

B. My understanding is that you can look at the crystal ball in order to see whatever is in the room with the star sapphire and this allows you to learn a magic word, so I’m guessing that the sapphire is needed, but I don’t know if it’s needed in its original room or if you need to transport it somewhere else. In the former case, you may not need to get access to it. In the latter, you do.

3 Likes

Thanks for your suggestions. I have been looking into the source code of OSKA501 as well and compiled the source code. It doesn’t deal with any of these two issues that I am faced with - in fact it is also unwinnable. It looks like it is simply modified code from ANON501.My impression is that OSKA501 is modified code of ANON501 simply in order to make the code compile with the old f77 Fortran compiler. But it seems that the modification done in OSKA501 has possibly introduced some bugs (like that the endgame and closing of the cave does not seem to trigger in OSKA501).

As for the specific issues t hand I agree with your suggestion for A. Since the phone booth is present in the final puzzle, it should probably serve some purpose.

As for B, I will compare the source code of the 551 version to that of ANON501 and see if I can learn something. I’ll also check out the Colossal Cave Forum and see If I can pick up some suggestions and/or advice there.

My goal is to try to produce something that is as close as possible to LONG501.

2 Likes