Skip to content
This repository has been archived by the owner on Oct 6, 2023. It is now read-only.
/ advent350 Public archive

Yet another port of the Colossal Cave Adventure

Notifications You must be signed in to change notification settings

jwodder/advent350

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project began as an attempt to run some form of the original 350 point Colossal Cave Adventure on my MacBook. The best candidate I could find for this purpose was the BDS C port; however, even after getting it to compile (Whoever edited it last seemed to believe that QNX was the only system with decent header files), there were still a number of problems with it. The hints system was gone; the score rankings (e.g., "Experienced Adventurer") were gone in lieu of listing scores for each section of gameplay (treasures, survival, and the like); the odds of successfully killing a dwarf were 33% instead of 2 out of 3; dwarves jumped around the rooms at random instead of moving between adjacent rooms; dwarves got a chance to attack you every turn, even if you were just picking up the axe in the middle of battle; "WATER PLANT" was considered bad grammar; and so on. Fixing these bugs became more & more difficult and/or time-consuming, and I eventually gave up and decided simply to translate the original PDP-10 Fortran directly into something modern that worked. Some time later, here we are.

I have tried to make this translation be as true to the original as possible (in end behavior, not internal logic, at least). The biggest changes are that there is now a "> " prompt for input, there is no longer a space before each output line, and, of course, the letters aren't all uppercase. Games are saved to ordinary files (~/.adventure by default, though you can supply a different filename to the "save" command) and can be resumed later either with the "resume" (or "restore" or "restart" or "load") command during play or by specifying the name of the save file on the command line. Additionally, as the time-sharing mechanics (delays before restarting a saved game, only allowing games during specific hours, and being able to bypass or reconfigure this behavior through maintenance/wizard mode) are unnecessary and likely to get in the way on modern computers, their presence is configurable, defaulting to "off." If you opt to use these features (or even if you don't), a program named 'frawd' is included for passing one of the steps in wizard authentication; for passing the other steps, see wizard.md.

Anyway, enjoy!