From: appelo@dutiak.tudelft.nl (C.J. Appelo)
Subject: formalised world simulation
Organization: Delft University of Technology
Date: Mon, 21 Dec 1992 09:56:34 GMT


This is an informal English version of my plan for studying
world simulation in adventure games. It is written for those
who want to keep up with the latest research and development
in interactive fiction.

--------------------------------------------------------------

From December 1992 until June 1993 I will be working on a
project that may be a first step towards a new generation of
adventure games. The project will be a formal approach to
world simulations. The project will result in some kind of
framework designed for the construction and maintenance of
world simulations. The framework must be suitable for use with
text and graphic adventure games (as well as fantasy role
playing games). Other purposes, like simulating theatre plays,
will not be excluded.

Requirements
The framework has to support all features common in text
adventures as well as graphic adventures. Apart from this the
framework will support many features not encountered in
adventure languages. Specifications will be written that state
which features are required in the new framework. Also, the
result should form a basis on which further construction of
more specialized modelling can be achieved.

World Simulation Model
One of the first things to do in this project is to design a
model for world simulations in which all aspects of (the new
generation) adventure games can be positioned. A semantic
network, schedulers, actor modellers, an interpreter, a plot
manipulator and databases for text, graphics and sound will
all be part of this model, including the communication between
all of them.

Classes and Attributes
Objects, actors, locations, properties, relations, actions and
other elements of adventure games will be considered and their
relationships will be determined. Inheritance is used for
structuring these elements, that will be the building blocks
of the semantic network. The elements and their relationships
will be formalised.

Communication
There will be communication between objects in the semantic
network, between the actors and their actor modellers, between
the network and the plot manipulator, between the network and
the interpreter, etc. All communication will be formalised.

Framework
A new language can be designed, making use of encapsulation,
inheritance, polymorphism, prototyping, concurrence,
constraints, persistence, demons, fuses, dynamic properties
and other features that are not supported in current adventure
languages yet (including physical modelling, virtual time and
communication between all actors). If it appears that a new
language is not needed, a framework can be constructed within
an existing language that supports all of the above. A third
possibility is that an extension to an existing language is
built.

Future Expansion
The project will keep in mind future enhancements of the world
simulation and the new framework for support of emotional
modelling, intelligence modelling and knowledge modelling of
actors and other new possibilities.

Disclaimer
This project will produce a first version of a new framework.
The size of the problem domain forces me to say that it is not
certain that all features mentioned above will be totally
covered in this first version. Also I know that speaking of a
new generation of adventure games sounds a little ambitious.
However, I think that one should aim high to achieve the best
results.

Any results that are worth a discussion will be published on
rec.arts.int-fiction. The first results, probably about using
propositional calculus, can be expected within a month.

Jurgen.

===================================================================
| Jurgen Appelo                  |                                |
| Delft University of Technology |   When Technology Is Master,   |
| The Netherlands                |   You Reach Disaster Faster.   |
| appelo@dutiag.twi.tudelft.nl   |                                |
===================================================================