====== Adventure games ====== Adventure games are today just as good as they always were, and an increasing number are now available for free download because the companies which produced them have gone out of business, or chosen to publish them so that people can continue to enjoy them. Some good sources of adventure games, hints, walkthroughs (solutions), maps and images of original packaging are: * The [[http://ifarchive.org/|Interactive Fiction Archive]] * http://infocom.elsewhere.org * http://infodoc.plover.net for documentation from Infocom games * https://if.illuminion.de * https://eblong.com/infocom/ To play the games, you'll need an interpreter (or a few) for your machine. Interpreters are available for almost everything: Linux, MacOS, Windows, MS-Dos, Android, Archimedes, Symbian... See http://www.ifwiki.org/index.php/Category:Interpreter for links to plenty of game interpreters. I think the most important ones are [[http://www.ifwiki.org/index.php/Frotz|Frotz]] and [[http://www.ifwiki.org/index.php/Gargoyle|Gargoyle]] (Note: Gargoyle has an annoying feature where it refuses to consider game files which don't have what it thinks is an acceptable filename extension, even though the content is completely usable. So, if you have what you think is a playable game file, but Gargoyle refuses to even open it, try renaming it to have a .sna extension and try again.) Be aware that neither Frotz nor Gargoyle can play [[Zork Zero]] correctly. You can even play such games on an Android-based [[technotes:tolino_epos|eBook reader]] if you want to. ===== Specific notes ===== Here also are some of my own notes on playing some games (**spoiler alert** - these notes //will// help you to solve puzzles and get out of situations without properly getting //involved// in the games). * Level 9's [[Snowball]] * Level 9's [[.eden|Return to Eden]] (the follow-up to Snowball, once they became part of the Silicon Dreams trilogy) * Infocom's [[Zork I]] * Infocom's [[Zork II]] * Infocom's [[Zork III]] * Infocom's [[Zork Zero]] Once I've completed (at least some / parts of) those, I plan to move on to the other games which are set in the Zork universe: * [[Enchanter]] * [[Sorcerer]] * [[Spellbreaker]] I'll probably also include: * Wishbringer ===== IFM ===== I find the [[http://www.ifarchive.org/indexes/if-archive/mapping-tools/|Interactive Fiction Mapper]] a very helpful tool for documenting your journey through adventure games, unless you are **really** obsessed with drawing interconnected diagrams on pieces of paper, sticking the pieces of paper together as the map grows, and wondering how to squeeze in the multi-room maze you just found in between four other already-connected rooms... It's also pretty impressive that if you include the tasks which need to be performed in various locations, and with various items, as well as just the mapping instructions, IFM can output a guide to solving the game from start to finish. It may not be the most efficient solution, and IFM may need a bit of help with some of the more awkward bits, but it does a surprisingly good job all on its own. There are examples of both maps and solutions generated by IFM below. If you want to see how IFM has made its choices about what to do and where to go in what order (or perhaps why it did not go somewhere or do something, and stopped "playing the game" early) add the following to one of your source files, and you'll get several thousand lines of debugging output telling what IFM is doing as it works through the game:solver_messages = 1; **IFM bug** * Unfortunately, IFM has a bug in it which means that if you set **solver_messages** to 1 (or "true", both work), it is unable to produce valid PostScript output for the maps, because the PostScript gets preceded by the lists of Room Connections and Tasks. I did try to work out how to fix this bug, but failed in my attempts to modify the source code, so my workaround for it is always to pipe the output of the mapper through **awk '/PS-Adobe-2/{f=1} f'**. This deletes all extraneous text before the required PostScript header line, and both map and solver output then work correctly. There's a [[https://readthedocs.org/projects/ifm/downloads/pdf/latest|130-page manual]] available online to guide you on how to use IFM, but don't worry about all 130 pages - pages 3-20 will tell you nearly everything you need to know, and pages 21-37 are a comprehensive worked example of using it. Most of the rest is just technical detail. Pages 47-54 contain a comprehensive summary of the entire language. Here are some examples of maps I've made using IFM (note: the maps themselves **will** give you clues about the games, even though there are no walkthrough notes in the maps themselves - do __not__ look at the maps if you want the full experience of playing the games for yourself). Obviously, the separate walkthrough notes (labelled "terse instructions" and "verbose instructions") __**give the entire story away**__: * **Snowball** - {{:games:Snowball.pdf|maps}} - {{:games:Snowball.ifm|IFM source}} * **Zork I** - {{zork1.pdf|maps}} - {{zork1.ifm|IFM source}} * Note that the IFM source for Zork I includes tasks which need to be completed, and points for finding or doing things. This enables IFM to work out a walkthrough of the game, and gives you pretty accurate directions for at least one way to play it. * {{zork1.guide.txt|terse instructions}} - {{zork1.guide.verbose.txt|verbose instructions}} * These guides are not perfect (mainly because some directions in Zork I are asymmetrical), but I think it's impressive that IFM can work this solution out for itself, based primarily simply on where things are found, and what you later need to use them for. This one needed a bit of "pushing in the right direction" because of the complexity of the chain and the basket, although that could also be due to my inexperience with using IFM's task interpreter. There's probably a better way to do it. * **Zork II** - {{zork2.pdf|maps}} - {{zork2.ifm|IFM source}} * Note that the following guides are currently incomplete, because I haven't quite got IFM to work its way through some of the puzzles yet (even though I've solved them myself) * {{zork2.guide.txt|terse instructions}} - {{zork2.guide.verbose.txt|verbose instructions}} * **Zork III** - {{zork3.pdf|maps}} - {{zork3.ifm|IFM source}} * **Zork Zero** - {{zork0.pdf|maps}} - {{zork0.ifm|IFM source}} * The above are by no means a full map set for Zork - the map for Zork I is probably pretty complete, and I think Zork II __is__ complete, but Zork III and Zork Zero are simply as far as I've got after a (very) few hours wandering around and finding the most obvious locations. * **Enchanter** - {{enchanter.pdf|maps}} - {{enchanter.ifm|IFM source}} * The maps and instructions for Enchanter are complete * {{enchanter.guide.txt|terse instructions}} - {{enchanter.guide.verbose.txt|verbose instructions}} * Note that the timings of eating, drinking and sleeping may not be accurate; they were inserted into the game flow according to the route *I* took to solve the game, however this is not necessarily the same as the route IFM takes, and therefore if you follow those instructions, you may get hungry, thirsty or tired at different times and in different places. Always eat and drink according to what the game tells you; don't just blindly follow IFM's guidelines. * The instruction to use the zifmia spell may need to be done in another (very close-by) location, depending on when the target of the spell appears; it should be pretty obvious * **Sorcerer** - {{sorcerer.pdf|maps}} - {{sorcerer.ifm|IFM source}} * Note: I made good use of IFM's [[#ifm|solver_messages]] debugging feature to get it to do Sorcerer in (what I think is) the right order * {{sorcerer.guide.txt|terse instructions}} - {{sorcerer.guide.verbose.txt|verbose instructions}} * **Spellbreaker** - {{spellbreaker.pdf|maps}} - {{spellbreaker.ifm|IFM source}} * This is an extremely linear story (ie: you, as the player, have very little choice about the order in which you visit places and have to do things) because you find an item which allows you to get to a new location, where you find another item which allows you to get to another location, etc. * This means that IFM has to be told where to perform a particular pair of tasks which need to be done repeatedly throughout the game. IFM always regards a "task" as something to be done once, either in the location you specify, or as soon as possible given the items needed to perform it. It has no concept of something which can be done multiple times throughout the game whenever the player requires to achieve the task's outcome (in this case, getting to another location by a form of teleportation). * Note, however, that despite Spellbreaker's excessive linearity, it's impossible for IFM to give a deterministic sequence of moves which will get through the game - there are too many situations where the precise timing of "do I need to do this now, or do I need to wait another turn or two for something else to happen?" cannot be predicted. Therefore, if you follow the guides below, be prepared to add a few Wait states of your own before you can proceed to the next command. * {{spellbreaker.guide.txt|terse instructions}} - {{spellbreaker.guide.verbose.txt|verbose instructions}} Colour coding on the above maps is: * **Blue**: start/end location * **Yellow**: links between map sections * **Grey**: almost certainly leads to more map which I haven't found yet * **Pink**: dangerous location * **Light blue**: special location (usually regarding where it leads to and how) * **Light green**: special location (usually regarding how you can get there) * **Green border**: location is illuminated; does not need torch or lamp * **Grey border**: location is not illuminated; in most games you cannot continue safely without light * **Blue border**: location is not illuminated, but you can get through it without light to somewhere else which is illuminated A very few of the Up/Down links are incorrectly labelled, because IFM assumes that if you go up from one location, and can return, then the return direction must be down, whereas some of the connections in Zork are (in the maze in Zork I from the room with the skeleton, for example) south-west from A to B, but down from B back to A. In these cases I've labelled the corridors with Up & Down, but made sure the directions are as encountered in the game. ===== Hex ===== Finally, I've now got around to having a go at writing my own game, called [[Hex]], which I'm creating using [[https://inform-fiction.org|Inform6]]. ---- [[:miscellaneous|Go up]]\\ Return to [[:|main index]].