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