!\--------------------------------------------------------------------------- SPURHELP.HUG by Kent Tessman (c) 1995-1997 Help menu system for Spur ---------------------------------------------------------------------------\! routine Help_mainmenu { local a while true { menuitem[0] = "SPUR" menuitem[1] = "Getting started" menuitem[2] = "License and copyright information" menuitem[3] = "About the Hugo compiler" #ifset BETA_TEST menuitem[4] = "So you wanna be a beta-tester?" menuitem[5] = "Release history and game credits" a = Menu(5) #endif #ifclear BETA_TEST menuitem[4] = "Release history and game credits" a = Menu(4) #endif select a case 1: Help_gettingstarted case 2: Help_license case 3: Help_abouthugo #ifset BETA_TEST case 4: Help_betatesting case 5: Help_credits #endif #ifclear BETA_TEST case 4: Help_credits #endif case 0 { window 0 cls PrintStatusline DescribePlace(location, true) return } } } routine Help_gettingstarted { local a while true { menuitem[0] = "GETTING STARTED" menuitem[1] = "What exactly is going on" menuitem[2] = "Some basic commands" menuitem[3] = "Dealing with the world and the people in it" a = Menu(3) select a case 1: Help_introduction case 2: Help_basiccommands case 3: Help_morecommands case 0: return } } routine Help_license { CenterTitle("LICENSE AND COPYRIGHT INFORMATION") "\B\USPUR\b\u" "A Western Misadventure" "Copyright (c) 1995-1997 by Kent Tessman\n" "\B\UHugo Compiler and Engine\b\u" "Copyright (c) 1995-1997 by Kent Tessman\n" "This game (\"Spur\") is copyright (c) 1995-1997 by Kent Tessman (the author). The author reserves all rights regarding duplication, distribution, and modification of \"Spur\" or any of its parts\n\n" "\B\UDistribution\b\u\n" "Free distribution of \"Spur\" is allowable provided that it is modified in no manner and no fee is charged.\n" "(Similar distribution of the Hugo Compiler and Engine is also allowable, given the same provisions. Additionally, distribution of programs created with the Hugo Compiler and/or using the Hugo Library must correspond to the terms of use specified by the author, primarily that commercial distribution of the Hugo Engine or elements of the Hugo Library is prohibited without the express written consent of the author. See the Hugo Manual for more details.)\n\n" "\B\UWarranty\b\u\n" "Since \"Spur\" and the Hugo Compiler and Engine are available free of charge, there is no warranty whatsoever pertaining to their use." pause } routine Help_abouthugo { CenterTitle("ABOUT THE HUGO COMPILER") "\BHugo\b is a language designed and written by Kent Tessman for developing interactive fiction. The system consists of the Hugo Compiler, which compiles source code to be run by the interpreter (the Hugo Engine).\n" "Hugo is an easy-to-learn, powerful, and flexible language. The syntax has its origins in C, BASIC, and Inform, an innovative language for writing interactive fiction developed by Graham Nelson. Hugo is relatively object-oriented, in that a program consists of a number of objects representing the rooms, objects, and characters that make up the landscape of the story. Interaction between these objects is governed by a set of rules, or routines, that are specified by the programmer.\n" "A number of powerful pre-existing routines are available in the Hugo Library, which is a part of the standard Hugo package. The library routines are designed to manage many of the real-world aspects of an interactive story, such as weight and containment of objects, the presence or absence of light in a location, doors, vehicles, characters, clothing, and a full complement of player verb routines for moving about, getting things, examining them, opening and closing them, switching them on and off, eating them, drinking them, throwing them, conversing with characters, etc. By using the library, a programmer need not worry about many of the more mechanical aspects of maintaining the game universe, and can more quickly dive into the writing of the story proper.\n" "The Hugo compiler and interpreter are written in C, and the source code is readily available; porting of Hugo to other computer platforms is encouraged.\n" "Hugo is currently available via anonymous FTP from the \BInteractive Fiction Archive\b maintained by Volker Blasius at ftp.gmd.de in the directory \Iif-archive/programming/hugo\i. There one may find the executable versions of both the compiler and engine, as well as the library files and a number of Hugo example programs. A selection of Hugo games is available under \Iif-archive/games/hugo\i. The Interaction Fiction Archive is also an excellent source of materials relating to the history and development of interactive fiction.\n" "Finally, current discussion of interactive fiction design in general, as well as Hugo and other languages in specific, can be found on the Usenet newsgroup \Brec.arts.int-fiction\b. Discussion of game play can be found on \Brec.games.int-fiction\b." pause } #ifset BETA_TEST routine Help_betatesting { CenterTitle("SO YOU WANNA BE A BETA-TESTER?") "Then you've got your work cut out for you. The best interactive fiction allows for a pretty vast range of possible actions and consequences at any given point in a story--more than most players will ever try even in repeated undertakings. But what this means in terms of a computer program is one that is complex and, at least at the outset, fairly ridden with bugs. This is not to say that your humble author slapped this baby together with little or no forethought; to the contrary, the design, execution, and refinement of the interactive story you're in the middle of right now was a long, exhaustive, and detail-oriented process. Still, no one can expect what strange impulses lurk in the minds of others, and this author's idea of a rational response to an event may be another player's idea of downright loopy.\n" "What does this say about the role of the beta-tester? A beta-\ tester is a player extraordinaire: an Uber-player, if you will, whose mission is to explore more--nay, to live more--than the typical player ever would. While most players, even those who see the story through to its fullest conclusion, experience only a relatively small percentage of the game, given all the possible combinations of choices and what may follow after choosing one over another. Given these parameters, and the goals of the testing process, a couple of simple guidelines may be kept in mind:\n" "\I1. Try everything.\i\n" "If there were a cat somewhere in this game--and I'm not saying there is or isn't--there would hopefully be more than one way to skin it. Just the same, at many points in the story and in many places throughout its landscape, there may be more than one entirely sensible way to accomplish something. The trick is in making sure that any sensible action is indeed treated as such, and that the player has the freedom to behave as a thinking, imagining human being instead of as the author's trained monkey.\n" "\I2. Try to break everything.\i\n" "As smart as I think I am, I am not quite so daft as to believe I have expected every possible action that anyone might try with any object or combination of objects at any point in the story. The permutations are in fact--for all intents and purposes--endless. \ It's therefore unreasonable to think that even the combined second-\ guessing talents of the author and beta-testers will uncover all the unexpected (and sometimes unwanted) quirks, but between you and me, as long as we find most of them from the obvious to the more obscure, the end result for most mainstream players will be pretty much the same.\n" "\BPlease send bug reports, comments, criticisms, and suggestions to Kent Tessman at .\b" pause } #endif ! ifset BETA_TEST routine Help_credits { CenterTitle("RELEASE HISTORY AND GAME CREDITS") "\B\UCredits\b\u" "\nSpur was written by Kent Tessman using the Hugo compiler, roughly between September and December 1995. It was the major proving ground during the development of Hugo v1.3 (unreleased) and Hugo v2.0." "\nSpur has been play-tested by: Michael Kinyon, Ljiljana Kvesic, and Dean Tessman. Thanks also to Volker Blasius, Jason Dyer, Jim Newland, Christopher E. Forman, Mark Tilford, Admiral Jota, Carl Muckenhoupt, and Julian Arnold for various and sundry bug reports, comments, and suggestions." "\n\n\B\URelease history\b\u" "\n\IRelease 1 (December 1995 - beta-test version A)\i\n\ \_ Marked the first semi-public version of Spur, uploaded to the Interactive Fiction Archive at ftp.gmd.de." "\n\IRelease 2 (January 1996)\i\n\ \_ The first official public release of the game after play-\ testing, accompanied by the full source code." "\n\IReleases 3-4 (April 1996)\i\n\ \_ Incorporating version 2.1.0 of the Hugo Library (accompanying the release of Hugo v2.1), as well as a number of minor changes to Spur itself--in particular an overhaul of printing and listing routines to stabilize the formatting of text output. \ Release 4 fixed a minor bug in the version 2.1.0 Hugo Library." "\n\IRelease 5 (August 1996)\i\n\ \_ Following the release of Hugo v2.2, and including some functional enhancements to game play as well as additional detail and flourishes." "\n\IReleases 6-7 (April-May 1997)\i\n\ \_ Rebuilt for Hugo v2.3, fixing a couple of the more arcane glitches." "\n\IRelease 8 (September 1997)\i\n\ \_ A new release to follow Hugo v2.4, particularly with the introduction of further library enhancements (2.4.1) and the most thorough play-testing the game had seen in a while." "\n\IRelease 9 (December 1999)\i\n\ \_ An update to fix an incompatibility with a revision to the library (2.5.01.4)." pause } routine Help_introduction { CenterTitle("WHAT EXACTLY IS GOING ON") "Good question. Seems that you've found yourself in the middle of a gunfight without a clue as to what's going on. You might want to get used to it (the without a clue feeling) because it's not going to go away anytime soon.\n" "The first order of business is to get out of the abovementioned scrape--that's pretty much up to you. Now, chances are that as a result of saving your hide, things are going to get kind of ugly, and you may have to get into the habit of laying low, at least for a while. That, too, is up to you. \n" "But things also aren't going to be that simple.\n" "You see, there's obviously a reason that you're standing on Main Street with your hand dangling over your holster and some guy you barely know facing you ten paces away and doing the same. At least there'd better be. And if that's the case, you'd best be finding out what it is in a hurry. Because, guaranteed, things are going to get a whole lot more complicated before long. (You might want to keep in mind that you're not exactly John Wayne here; expert marksman, quickest draw, and all-round Western hero, you aren't.)\n" "And this--you think you're in a pickle now? Hell, partner. This is only the beginning." pause } routine Help_basiccommands { CenterTitle("BASIC COMMANDS") "You can start by moving around. Try \"go north\", \"go south\", \"walk west\", \"go up\", etc. (or \"n\", \"s\", \"w\", and \"u\" for short). If there's a house in front of you, try: \"enter the house\" or \"go inside\". A closed door might be remedied with \"open the door\", and a set of stairs deserves: \"climb the stairs\". That sort of thing.\n" "Additionally, you can get and drop things you might find about the landscape. Check what you're carrying with \"take inventory\" or just plain \"i\". You can examine things (using \"examine\" or \"x\"), try to open them, taste them, throw them at other objects or people--whatever comes to mind. You can be as descriptive as you like about where you'd like to go or what you'd like to do, since the story understands everything from one-word commands to complete English sentences.\n" "You can wait around--i.e. \"wait\" (or simply \"z\"), \"wait until 11:30\", \"wait for 10 minutes\", \"wait for the sheriff\"--or, if you want, repeat your last command just by typing \"again\" or \"g\". Try \"score\" to get an idea of how you're faring in terms of getting close to any kind of goal. If you make a mistake in your typing, and the story complains that it doesn't know the misspelled word, you may easily atone by typing \"oops\" (or \"o\") followed by the properly spelled word.\n" "You can change the way text is displayed with \"display wide\" or \"display tall\" (or just \"wide\" or \"tall\"), or \"inventory wide\" or \"inventory tall\" (or just \"i wide\" or \"i tall\") to list objects in either sentences or itemized lists. Type \"verbose\" or \"long\" to have the full room description displayed every time you enter a room. \"Superbrief\" or \"short\" will only display the full room description if you ask for it (by typing \"look\"). The default setting is \"brief\" descriptions (or \"normal\"), where the full room description is displayed only the first time the room is entered (or when you \"look\").\n" "At any point in the game, you can freeze your state of affairs using the \"save\" command. You can pick up again later from this same point by typing \"restore\". An adventure that takes a radical turn for the worse and becomes a genuine misadventure can be begun again from the beginning with \"restart\"."; #ifclear NO_UNDO " (And you can take back a move that, in hindsight, might not have been the smartest possible thing to try by typing \"undo\". Be warned, however, that only a finite number of undos in a row is allowed--you can't trace your steps all the way back to 9:02 a.m. on Main Street every time.)"; #endif " Finally, you are able to start or stop recording a transcript of your story with \"script on\" and \"script off\", enabling you to have everything that appears on the screen to be copied to your printer or to disk." pause } routine Help_morecommands { CenterTitle("DEALING WITH THE WORLD AND THE PEOPLE IN IT") "The world of \"Spur\", while small geographically, is anything but limited in the number of things you may do. Don't stop at just \"get key\", \"unlock door\", and \"enter room\". Try:\n" ">Get the skeleton key. Unlock my hotel room door. Open it then enter the room.\n" "Or:\n" ">Pick up my old six-shooter and my old leather holster. Put on the holster then put the gun in it.\n" "You're also going to run into all sorts of people, big and small, friendly and unfriendly, helpful and not-so-helpful. The friendly ones (or even the semi-friendly ones) you can engage in conversation with. In fact, it's almost a necessity so far as any hope you may have of figuring out what's going on and what to do next goes. You can ask questions, tell people things, show or offer objects to them, or tell them to do something.\n" ">ask Grady about his lucky horseshoe" ">tell Lucille about Roy's dead body" ">show my six-shooter to the sheriff" ">Little Jimmy, give the sticky taffy to me" ">give the beef jerky to the old black mare" "\nYou might want to consider just running away from the unfriendly ones." pause }