diff --git a/README.md b/README.md index 4973bdd..aba135b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Inform 7 At Play + **Inform 7 with illustrative examples of play** Build rich worlds using natural language, as easy as: @@ -25,64 +26,57 @@ It's just a place to take off your boots, but the coat hooks are made of filigreed platinum and the shoehorns are made of solid gold, which hardly seems practical. -> +> > There is a shiny apple here. -> -> **\>`eat apple`** +> +> **\>`eat apple`** > (first taking the shiny apple) > You eat the shiny apple. Not bad. +### [How to make places\.](places/) -### [How to make places\.](places/) ![80%](https://progress-bar.dev/80) The real world is a place, and has several places inside it. You can have your imaginary world follow the time-honored tradition of making rooms people can walk in compass directions to get to. -### [How to fill those places with things.](things/) +### [How to fill those places with things.](things/) + ![90%](https://progress-bar.dev/90) Things fill the real world and your world should probably have them. -### [How to use verbs and actions.](actions/) -![30%](https://progress-bar.dev/30) +### [How to use verbs and actions.](actions/) + +![50%](https://progress-bar.dev/50) Let people unbend paperclips, ring bells, ride horses, and flip coins. -### [How to put semi-convincing people in your places.](people/) -![20%](https://progress-bar.dev/20) +### [How to put semi-convincing people in your places.](people/) -### ["When play begins:"](setup/) ![20%](https://progress-bar.dev/20) +Heck is other people. + +### ["When play begins:"](setup/) + +![80%](https://progress-bar.dev/80) + How to do some fancy setup to polish your world and make it unique. -### [Common Mistakes (and How to Fix Them)](naming/) +### [Common Mistakes (and How to Fix Them)](naming/) + ![1%](https://progress-bar.dev/1) Sometimes Inform doesn't understand what you're trying to tell it to do. Here's how you can avoid or figure out some common problems. -### [Annoyingly complicated rules for naming things.](naming/) +### [Annoyingly complicated rules for naming things.](naming/) + ![1%](https://progress-bar.dev/1) Don't even bother reading this until you run into a problem with naming people, places, or things. ### [I have no idea what any of this means.](faq/) -![70%](https://progress-bar.dev/70) - -What is Inform 7? Who are you? How do you do any of this? What are you talking about? - - . - . - . ---- +![70%](https://progress-bar.dev/70) -## TO DO: Reminders to myself: - -### Technical -- Inform 7 output -> markdown converter (python?) -- Figure out a way to let github code blocks wrap so it can work on mobile. - -### Content - -- Do a "how to do Hit Points if you REALLY must" section. +What is Inform 7? Who are you? How do you do any of this? What are you talking about? diff --git a/actions/README.md b/actions/README.md index 2b4defa..35ef5d1 100644 --- a/actions/README.md +++ b/actions/README.md @@ -183,12 +183,15 @@ Here you're telling it to understand a whole command as a "mistake": > The statue does not understand how serious you are about this It doesn't really matter if the action is an actual "mistake". It could -be something you want the player to do. Using the `mistake` command +be something you want the player to do. Using the `mistake` command lets you just print out a message and tell Inform not to do anything else. ## Actions without a thing: report -### @TODO: + + +### @TODO + ```inform7 Report smelling: say "Then again, you don't have the best sense of smell. Maybe if you smell specific things it will be easier to discern a smell.". ``` @@ -196,6 +199,7 @@ Report smelling: say "Then again, you don't have the best sense of smell. Maybe ## Make a brand new action ### @TODO + ```inform7 Understand the verb "pinch" as pinching. ``` @@ -205,15 +209,16 @@ Understand the verb "pinch" as pinching. --- ## TO DO: Reminders to myself: + - Overriding the current verb set - - list of the current verb set + - list of the current verb set - Creating new verbs - "If" - Rulebooks: the verb lifecycle - - Before - - Instead - - Check - - Carry out - - After - - Report + - Before + - Instead + - Check + - Carry out + - After + - Report - Relations and state for nouns, changing state diff --git a/setup/README.md b/setup/README.md index 007ff9b..2a67c05 100644 --- a/setup/README.md +++ b/setup/README.md @@ -15,7 +15,7 @@ The boring place is a room. > **An Extremely Boring and Tiny World** > An Interactive Fiction > Release 1 / Serial number 230205 / Inform 7 build 6M62 (I6/v6.34 lib 6/12N) SD -> +> > **boring place** > > \> @@ -50,13 +50,13 @@ When play begins, say Now you get: > You're in an imaginary world. You probably shouldn't have pressed that button that said "Teleport me to an imaginary world." Now you've done it. -> +> > **A Fictional World I Created** > An Interactive Fiction by The World's Most Interesting Person > Release 1 / Serial number 230205 / Inform 7 build 6M62 (I6/v6.34 lib 6/12N) SD -> +> > **nappy dugout** -> +> > \> ## An interactive fiction? @@ -77,7 +77,14 @@ Now it will say: > **A Fictional World I Created** > An unreal place you can walk around in by The World's Most Interesting Person -## Look at yourself +## Improving the defaults + +Inform has a lot of good default messages for trying things. + +You can make your own messages that give your interactive story your own unique +flavor. Some examples: + +### Looking at yourself Sometimes the player might try this: @@ -95,23 +102,96 @@ And now: >\>**`look self`** > You are a weird alien with tentacles instead of arms. - - . - . - . - ---- - -## TO DO: Reminders to myself: -- Use no scoring, the serial comma and American dialect. -- Use full-length room descriptions. -- Releases: - - Release along with a website. Release along with the source text. - - The release number is 12. -- Fun default verb rules for things like `jump`, `pray`, `sing`, `wake up`, -- Using rules: - - Understand "use [a closed openable thing]" as opening. - - Understand "use [a open openable thing]" as closing. - - Understand "use [a switched off device]" as switching on. - - Understand "use [a switched on device]" as switching off. - - Understand "use [an edible thing]" as eating. \ No newline at end of file +### Looking at things that don't have a description + +```inform7 +The field is a room. +There is a dry stone in the field. +``` + +>\>**`look stone`** +>You see nothing special about the dry stone. + +We can do better than that, right? Here's how to say something else: + +The description of a thing is usually "You look at [the noun] very closely indeed, and to be completely honest, it looks about how you'd expect. You think for a moment that there might be something slightly special about it but then, upon looking just a little closer, you see that there isn't." + +Now we get: + +>\>**`look stone`** +>You look at the dry stone very closely indeed, and to be completely honest, it looks about how you'd expect. You think for a moment that there might be something slightly special about it but then, upon looking just a little closer, you see that there isn't. + +### Looking at your empty inventory + +Normally when you check your inventory you get a boring message like this: + +>\>**`inventory`** +>You are carrying nothing. + +Overriding this message requires some special Inform 7 magic with this odd-looking command: + +```inform7 +The print empty inventory rule response (A) is "You look everywhere but finally come to realize that you have no possessions." +``` + +Now: + +>\>**`inventory`** +>You look everywhere but finally come to realize that you have no possessions. + +## Making `use` useful + +By default, the verb `use` isn't something Inform understands. You can set +up some rules to make life easier for players. + +```inform7 +The garage is a room. + +There is a bird cage in the garage. +The cage is an closed openable container. + +There is a disconnected light switch in the garage. +The switch is a switched off device. + +There is a peanut candy in the garage. +The candy is edible. +``` + +Let's see how use works by default: + +>**garage** +>You can see a bird cage (closed), a disconnected light switch and a peanut candy here. +> +>\>**`use cage`** +>That's not a verb I recognise. +> +>\>**`use switch`** +>That's not a verb I recognise. +> +>\>**`use candy`** +>That's not a verb I recognise. + +We can do better by setting up some default rules for using things. + +```inform7 +Understand "use [a closed openable thing]" as opening. +Understand "use [a open openable thing]" as closing. +Understand "use [a switched off device]" as switching on. +Understand "use [a switched on device]" as switching off. +Understand "use [an edible thing]" as eating. +``` + +Now things work a little better: + +>\>**`use cage`** +>You open the bird cage. +> +>\>**`use switch`** +>You switch the disconnected light switch on. +> +>\>**`use switch`** +You switch the disconnected light switch off. +> +>\>**`use candy`** +>(first taking the peanut candy) +>You eat the peanut candy. Not bad.