Cultimo on Mon, 15 Mar 1999 18:13:57 +0100 (CET)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

<nettime> research Interactive fiction writers tool


Attempt to discern different types used in Interactive Fiction for the
development of an IF GUI/writers tool that helps people sketch, manage and
index links during the creation of a story. I'm planing to develop the
guidelines for a program interface. It will in no way be a program to be
used to develop IF for presentation to aan audience as a game or whatever,
it is a writerstool. I'm planing to design it on the Newton myself, but
the guidelines here could always be used by other people to create their
own versions of the program (since I did put the text here to be commented
by others it is in no way intellectual property to any one person or
company). 

Please comment this. (And I apologize for any bad-syntax or spelling: I'm
not a native speaker)

I did put an HTML version of the document at:
http://www.cultimo.nl/jeroen/if/default.htm There is also a first sketch
of what the interface of the program may look like on the Newton. 

I can be reached at mailto:jeroen-g@bigfoot.com 

VERSION 1, PART1: 
objects, links and maps
13 march 1999

*Types of objects, actions, routines an methods that can be accessed
through the interface of an GUI-based IF writers tool. 

There are several types of elements in an IF on the story level, and those
types have different sub types. I don't mention AI behavior or NPC's since
I consider them part of the makeup of a story - the interface of the story
itself - not part of the environment where a story is created as a sketch
that will later on be turned in a program (a presentation to an audience).
I am aware of the fact that an IF tool could have several uses that are
not directly related to IF. The flow of a computer program could be
described and possible scenarios for all kinds of human actions (an how
about site design). 

Objects that describe components of an IF story 
A -Maps
B - Objects
C - actions 
D - links
E - relations (non-visible links)
F - stories/texts
G - Globals and variables
H - Groups 

A - MAPS
There are two types of maps (maybe three, later more on that
subject): Scenes and Maps. A1 - A map contains links, stories/text
objects, actions and scenes as its visual objects. A map can also contain
other maps. The relations between the objects is given by links. Without
links there are no relations. The links are causal (based on actions or
links), or temporal (though temporal in this context might be an action
with the condition that it has to be done at a certain time, or a link
with a time element in it: you go there and arrive three hours later). A
map shows all the variables it contains: if you choose option X it has
this and this consequences, if you choose option Y or Z, this happens. A1a
- Maps can be used to describe a chain of actions with or without
conditions to show their consequences. A1b - Maps can be used for a
conversation A1c - Maps could be used for other types of direct relations.
Maybe (I'm not an expert on this) it could be used to describe AI
reactions, NPC behavior, a way the program reacts/is designed. A2 - A
scene contains objects, stories/text objects, maps and other scenes as its
visual objects. The relationship between them is given by the fact that
they share the same space. Among the objects can be such things as walls,
rooms (buildings with different stories, etc) and roads. Roads can used to
join objects, walls can be used to separate them. (and then there are
doors, but more about that in the link segment). The scene can have a
relationship with other scenes as a variable of itself, or it contains
objects that can be variable: an action can change the layout of a scene
or the behavior of an element in a scene (when you press a button
somewhere a hidden door is revealed, when a wizard is released he goes to
this building before you do and throws a bomb). An action in a scene can
be represented by a map that shows all the variables caused by the
actions. A conversation (i.e. an action) can be shown by a map A3 - Maybe
there is a third kind of map-object that contains the temporal element:
thins that can possibly happen at a certain time. This could be
incorporated in a program to make it possible for non IF writers to use
the tool. Film-makers and theater makers also use a space and scenery as
its main component.  [up]


B - OBJECTS 
Objects are contained by scenes, are scenes (for example: in
the case of buildings and roads) and play there part in actions and
stories/text objects. Persona are objects, too. Objects can be depicted by
drawings, other scenes and / or text objects. On the story level objects
can be variable (behave differently based on actions), global (variable
global: you may pick them up somewhere, or total global: you have them
with you all the time). On the program level an object can be global, but
by that is meant something totally different: you can use the same object
several times. It is a symbol of the actual object as used in flash. A
wall is one of these objects (though a wall can contain different doors,
different paintings, have a different structure, but that is up to the
designer or storyteller. And besides that a door can have different keys,
but then a door is as an object part of the scenery describing the wall)
Objects can be static (they are simply there), or they are dynamic (they
play a part in the story as a reaction to an action or they cause an
action as with a button). Characters are dynamic unless they are dead (but
maybe you find something in their pockets) [up]

C - ACTIONS 
Actions can be text objects or descriptions or they can be
maps themselves. They can be part of scenes, maps It might be wise to
differentiate between actions and events. An action is being performed and
an event happens (in most cases an event happens because of an action) -
Actions and links are the potential cause of existence of variable
universes. Actions are an integral part of the story because they are
linked to in maps and are part of the story/text-objects or objects in a
scene and they can be the condition for a link, or another action. - But
at the same time they are part of the story in a non-visible way: actions
have relations, they have hidden links. An action can be based on
knowledge gained by another action. It can be based on an object picked up
somewhere else. An action can be made possible by another action. - And
finally an action -possibly- causes an event in which case it changes
something. The change, the event is dependant on the action. That too
might be a non-visible relation.  [up]

D - Links 
Links are used in maps and objects (an object that gives a means
for transportation or change) and they are there to show a type of
relationship visible to the user/player (It might not be directly visible,
but that is part of the game interface). They are visible as a sign on a
map. They can contain, text objects, drawings, scenes, and/or objects.
There are several types of links. Links are based on a choice (by a free
agent) or based on an action (causal), or can be based on an event
(outside the agent). D1- event based on action: when the user/agent does
something it leads to an event D2 - Transitions: you go somewhere or you
change something and there is no way back to the former state. A door
closes behind you D3 - Conditional: Those links have a dependency to an
action. They are only possible if certain conditions are met. D4 -
unidirectional: You can go back and forth. A road is a unidirectional
link, objects in a room are linked unidirectional, a button that can be
pressed again and again can cause a unidirectional link on a map, etc.
(maybe that is a special type of conditional link) D5 - Jump: that type of
links might be only of interest on the program level, or they are of
interest on the scene level. A jump transports the player from one room to
another room that has no physical connection, or it lets you jump from one
state to another. Or they are just a tool for the writer to create a link
to a part of the story that is not on this map. - There are several types
of jump links that are important for a GUI IF program: D5a - A ME link:
links to a description of the map or scene itself (can be a pure
description, can be the story told at the moment of entrance). Maybe this
kind of link is of no use. D5b - Entrances: the place where a player
enters a part of the story depicted in a map or scene. D5c - Exit: The
place where a player leaves the story part depicted by a map or scene and
goes to another. Can be the place where one continues the main story (exit
a map/scene with more detail) or can be a a link outside of this map/scene
etc.  [up]

E - RELATIONS 
Actions , links, variables and possibly stories/text-objects
can have relations that are not a direct/visible part of the story.
Relations are an expression of the underlying logic of a story. E1 - Chain
of events : an a action is performed, something happens, which makes
another action possible that causes another event. E2 -
Conditions/dependencies: an action, link or variable condition can be
dependant on one or more actions, objects. There could be several types
based on logic: OR, AND, XOR, NOT E3 - Knowledge: can be found in a
certain part of the story, but is not conditional to an action (though in
most cases it can be) E4 - based on variable: scenes, objects can have
variables [up]

F - Story / text object 
A text object is always part of something else. It can be
part of a map, a scene, an object, an action, a link. At the
same time it *IS* the story.
As story-part: 
All actions, scenes, objects, links can be represented as
text objects:
- Conversation: A conversation can be a simple question
on which an answer can be given or it can be a map object
which contains a lay-out of a complete conversation with
all the possible variables.
- DO: you do something
- GO: you go somewhere
- Choice: You choose something
- Look: You look at something and the object is described
- event: something happens
Non Story-parts: 
A note, a description (a text-object containing a
description can also contain a sketch of an object in a
scene), a description of a relationship. 
[up]

G - Globals and variables 
G1 - Total Globals: the book you get at the beginning of a
story, a place you can always go to.
G2 - Variable globals: an object you may or may not
have. Variable globals can become total globals in another
part of the story because you need it to go to that other
part.
G3 - Variables: Variables can be conditional / temporal /
unidirectional / transitional.
- Map Variables: On a map a variable is depicted by its
choices and the links that go from there.
- Scenes containing variables: A variable can be put in a
scene as a map with links to the variable states based on
actions, choices.
- Scenes that have variables: Scenes can have variables:
they are a copy of each other with some changes. They
have links based on actions, time or choice and they have
a relationship based on the fact that they are variables of
one another
-Text Variables: Text have variables: based on certain
conditions another story is told.
- action variables: based on certain conditions (causal
temporal) certain actions can or can not be performed 
[up]

H - Groups Objects
Story parts/text objects, actions, maps, scenes can be
grouped in several ways
H1 - Map group: They are placed in a map (share the
same link or links)
H2 - Spatial Group: They are placed in a scene (share the
same space)
H3 - Group of variables: they are made variables of each
other (are mutually exclusive based on certain
conditions/actions/choices)
H4 - Event group: they are part of the same (chain of)
event(s), that can be conditional, unconditional,
transitional etc. An action is performed, so something
happens, so something changes and - maybe - as a cause
the reader/player goes to another part of a scene or map
and all that is told in a story. 
[up]

Jeroen Goulooze

---
#  distributed via nettime-l : no commercial use without permission
#  <nettime> is a closed moderated mailinglist for net criticism,
#  collaborative text filtering and cultural politics of the nets
#  more info: majordomo@desk.nl and "info nettime-l" in the msg body
#  URL: http://www.desk.nl/~nettime/  contact: nettime-owner@desk.nl