I've typed-in a demo text adventure from a UK computer magazine called "Let's Compute." The CPC computer wiki describes the history of this publication as follows:
Let's Compute! was a monthly British magazine that catered for the Electron, BBC Micro, Commodore, Atari ST, Spectrum, Archimedes and Amstrad CPC. The magazine was 99 pence and only lasted 12 issues (August 1990 to July 1991).
It was produced by Database Publications-- with the managing editor being Derek Meakin (from Computing with the Amstrad).The last two issues were published by Europress Publications.
The magazine covered as much as possible in its 48 pages - game reviews, news, cartoons/jokes, reader questions and type-ins. Sometimes the type-ins would specific only to certain platforms, other times they would provide you with the lines to change in order to make it work for your platform.
The text adventure engine/demo program was covered in the magazine's last 5 issues (March-July) 1991. The game as published functions but it's puzzles/storyline were not completed. There was going to be a least one other installment of the series covered but the magazine was cancelled after issue 12.
This loose end struck me as particularly sad because when I typed in the program I discovered quite a nicely programed and flexible text adventure system programmed in BASIC. It uses DATA statements with a clever system for sensing additions and calculating the number of items and actions being added, and adjusting itself accordingly. It also uses a complex system of hashing/encoding what happens with new vocabulary, items and actions that is both flexible and efficient. The result is that the parser is both quick and able to sense unique vocabulary terms, either verbs or nouns, that can trigger appropriate responses even if the user types complex phrases or even sentences.
It seemed a waste that this program should not be preserved for posterity. I suspect that I wasn't able to find any evidence that it had been preserved as a running program anywhere on the Net because 1991 was a bit late for type-in games and the timeframe of the computer systems the magazine was directed at were already well into the period of the dominance of commercially produced software. I suspect very few people using them would have wanted to type in and preserve type-in games, especially ones that were never fully completed.
So I have completed the story as best I could from the clues and the layout of the items provided in the source code and also from the discussion in the accompanying articles. I feel pretty confident that I have recreated the demo adventure storyline that the author or authors were aiming at and likely to have produced in the final article. And just for my own fun in TRS-80 MC-10 programming I added a fancy title page using semi-graphics-4 characters.
The magazine article begins "We're off on the road to Adventure." It's a simple space adventure somewhat akin Lance Micklus' 1979 Dog Star Adventure. There are a few tricky puzzles and only a few possibilities for insta-death. No specific author is identified in the articles from what I have read (perhaps they are mentioned elsewhere in the magazine). The version I made is for Micro Color BASIC on the TRS-80 MC-10 but the article claims the program should work with only a few minor changes on the BBC, Archimedes, Amiga and PC (GW-Basic), but that it will not work on the C64/128 or Spectrum. However, I can see no reason why it shouldn't work on the C64/128. I suspect the intensive use of string handling and string handling commands (MID$, LEFT$, RIGHT$) used in the program might be difficult to translate to Spectrum BASIC, which treats strings as string arrays instead of using string functions to manipulate them. The C64 omision might simply have been due to its shorter line length (80 characters), which might have required some extensive editing of long lines to reconfigure for the C64.
The game can be be played by selecting "Play" on my GameJolt page, then "8-Bit BASIC Text Adventures" and then choosing LCADVENT from the Cassette menu. Finally, type RUN and hit ENTER in the emulator's main green screen:
https://gamejolt.com/games/jgmc-10games/339292
In Spectrum BASIC you don't have LEFT$(), RIGHT$() or MID$() and similar functions... because you don't need them. Say you have 10 let a$="hello", and 20 print a$(1 to 4) will print "hell" on the screen.
ReplyDeleteIndeed. Different approach to string manipulation than MS and Locomotive BASIC, but equally functional. But the conversion to the different method was the only reason I could think of why the authors would declare the code "incompatible" with Spectrum. Guess they didn't want to put the effort in to listing alternate code. I guess by 1991 computer magazines like Let's Compute could feel like they could be a little indifferent to the "older" 8-bits.
ReplyDelete