InteractiveFictionPatterns
On this page I'm trying to get a discussion started on the use of patterns in creating InteractiveFiction (IF). You might want to look at the InteractiveFictionPatternsThread first. Feel free to add ''your'' comments and ideas to this page. -- MarnixKlooster -------- There are three levels at which patterns can be usefully applied, viz. analysis, design, and implementation. At each level different problems are addressed. Some examples: Analysis: What are the consequences of splitting a game in multiple largely independent regions? What ways are there to organize scoring, and what are their advantages and disadvantages? Can I have a puzzle that cannot be solved by brute force? How should a hint system be structured? Design: How can I have a two-way door? A telephone conversation? Context-dependent hints? Implementation: How do I create a large number of identical objects using the InformLanguage? How can I use the AdHints library to implement context-dependent hints in the TadsLanguage? First some terminology. A 'game object' is an entity or concept at the level of the player (or reader). For example, a player sees a setting sun, with descriptions that change during play. Such a game object may be implemented by zero, one, or more 'implementation object's, if the implementation language is object-oriented in some sense. -------- '''IF Patterns:''' These patterns have met the full pattern criterea by being fiddled with three or more times - by different people :-) *IntFicHints: Helping the player past puzzle roadblocks. --------- '''IF proto-patterns: ''' * IntFicGiveTheGrammar -- helping the player discover tricky grammar. * IntFicTransporter -- moving the player from one place to another * IntFicLockedItem -- The player wants to use something, but the author wants them to do something else first. * IntFicRope -- Implementing a Rope object. * IntFicInformTips -- Things people have learned about Inform. * IntFicClones -- Making objects which are identical to other objects (coins, peanuts, etc.) * IntFicNpcs -- Other characters in IF. * IntFicParseName -- Use of parse_name routines for IF. -------- Here are some other possible Interactive Fiction Patterns: *IntFicScope: What the player can refer to (or what the player can see? What the player can talk about?) *IntFicScoring: How to implement a score indicative of the player's progression through the story. -------- Before a pattern can be recognized, sometimes it takes a bit of discussion about the forces involved and their possible resolution. Here are some areas where people are talking about specific IntFic problems they've found, and possible solutions to these problems. If you would like to discuss something pertaining to IntFic, feel free to add your topic to the list and start it off: *IntFicLinearityVsBreadth *IntFicBelievableNpcs *IntFicRopeTips -------- [Note: Name discussion deleted, as we seem to have settled on IntFic as a common prefix --LucianSmith] -------- Since in some discussions, people have been wondering what, exactly, a pattern is, here are a couple links to help answer that question: * The Patterns Home Page, at http://st-www.cs.uiuc.edu/users/patterns/patterns.html * An Introduction to Patterns, at http://www.enteract.com/~bradapp/docs/patterns-intro.html -LucianSmith -------- CategoryIntFic
I can't type tabs. Please
ConvertSpacesToTabs
for me when I save.
I'm just doing minor edits. Please divert the usual logging to
RecentEdits
instead.
GoodStyle
tips for editing.
EditPage
using a smaller text area.
EditCopy
from previous author.