An interpreter for Scott Adams adventure games with Swift/SwiftUI on XCode. This is my first attemp at getting to grips with Mac development after having recently bought a MiniMac M4 and as such represents me gettings to grips with an entirely new development environment after a lifetime doing Windows development. This code is mainly a port of my Windows / C# version of a Scott Adams interpreter, and contains a few improvements on that code and.
So, anyway. Scott Adam's games where the first computer games I ever played in the early 80s on my Dad's Video Genie home computer, which was a clone of the TRS-80 Micro Computer computer. My Dad, who taught IT at a local university, and bought a Video Genie in kit form via Mail Order from Hong Kong - they were considerably cheaper that way and as my Dad was an electronics Wizard building a home computer that came in a plastic bag was not a challenge to him. He has a 10" green CRT monitor that was a metal cube about 12" to each side that, as it warmed up, emitted a pleasant odour of electronic components and became warm to the touch. Happy memories indeed.
These games can be downloaded from his website, from the Downloads section by clicking the link Windows 95/98/ME/NT/2000/XP/Vista/Win7/Win8 Playable Version in a zip file.
Start the app, and click the Folder icon in the top right corner, and select Open and browse to one of the downloaded game files. (I haven't figureed out how to modify the menu bar for the app yet, so apologies for this unsatisfying solution).
When playing there are several commands used in testing and debug:
- #A - execute a game action
- #C - test a game condition
- #CURRENTROOM - display the current room ID
- #LAMP - display lamp turns remaining
- #ITEMS - list all items in room and their IDs
- #MD - output a human readable form of the currently loaded game in GitHub markdown
- #JSON - output current game file as in JSON format
- Scott Adams Grand Adventures - The Official Site for the Creator of the Personal Computer Gaming Industry!
- The Unofficial SAGA Specification - describes the data format used by useful in writing the interpeter.