Requirements

    To run YAMA you need either

1)	BSD Unix
2)	ATT SYSV.2 Unix (in theory SysIII and pre SYSV.2 should work)
3)	SunOS
4)	Xenix 386
5)	An IBM PC

YAMA needs about 2-3Mb of disk space minimum for sensible operation. When
running it takes about 500K of memory.

Introduction

    YAMA is a multi-user game writing system designed for speed and power rather
than to explore the latest 'object oriented' game writing craze. It provides
the speed by using a simple precompiled interpreter language based upon tables
rather than any complex syntactic and lexical structures.

The YAMA World Model

    YAMA uses a model based upon three simple item types: Objects, Rooms, and
Players, these are used to build up a game world controlled by the game tables.
For speed reasons some of the game system is still controlled very much by
hard-coded logic. These being aspects of the model like darkness, invisibility
sizes and weight.
    The world model, combined with a set of variables is used by the tables
as a database to query and modify. The table language is simple, but powerful
and includes simple loop constructs (a GOTO and GOSUB!), as well as actions, and
conditions. Using this the rules for the game can be phrased and defined.

An example section from a table might look like this

;examining the bed
examine $ANY $ANY EQ IFIRST BIGBED MSGCR {A really nice soft bed.} DONE
;general cases of examine, for nothing specials
examine $ANY $ANY EQ IFIRST NOITEM MSGCR {You see nothing special.} DONE
examine $ANY $ANY MSG {You see nothing special about } PNAME !IFIRST MSGCR {.} DONE

	
    Although very fast and powerful, the system has been found to have a few
problems. It is very easy for code to become messy and hard to handle, as
objects etc are embedded in the general cases. 

Communications And Portability

    Currently YAMA runs on both BSD, and SYSV unix systems, as well as
Xenix and DOS. It is designed so that the communications, which are very 
non-portable are isolated from the main game system, which expects its own
'virtual' communications interface. The telnet, shared memory, and RMOL 
chat drivers then sit upon this interface. Currently only one of the three
drivers may be running in the system. It is hoped to extend the system so that
RMOL and telnet may be running at once, and to extend telnet to allow
communication with more users than the maximum number of file descriptors
permits, by using seperate programs (possibly remotely even) to combine
user data.
    Hopefully an AMIGA port will follow soon, and possibly ports for other
operating systems, if people are willing to do them.