Adventure Game OS (AGOS)
This is a living document and is likely to change fast.
AGOS is a whole operating system within the metaphor of classic text adventures such as Colossal Cave and Zork. It's key purpose is computing as play and exploration.
What AGOS is:
- An adventure game.
- An OS with basic applications.
- A novel file system.
- Single use.
What AGOS is not:
- A replacement for your current OS.
- Designed to be 'useful'
- Real (yet)
AGOS is OS as art, it is OS as play and it is OS as novelty. It is the computing of curiosity and joy. It is not the system of business and productivity.
It throws most of the traditional concepts of an operating system out of the window or bends them to its own very specific needs.
When a computer running AGOS is first booted the user will be prompted to input a name for their character and choose their stats. This will be the users character from then on in.
Once a character has been created, and every time the system is booted, the user will begin in their home. This is the only location in the system where the user is fully safe.
Moving outside of the home into other rooms is the only way to gather the programs that you need to use the system however.
Outside of the home directory the user is always at risk of death by misadventure or attack from predators. If the player dies then the user, and all of their data is irretrievably erased and a new character must be created.
The character has access to the following that move everywhere with them.
- spell book
The inventory is what the character can use to store documents to carry around with them. The inventory can hold up to 10 documents and is the only way to move a document from one room to another. Any kind of document can be held in the inventory, including spells (executable programs).
The spell book is similar to the inventory but can only hold up to 5 executable. The character can only cast (run) spells that are currently in their spell book. To cast a spell in their inventory or in the current room the character must imprint (copy) the spell to their spell book before it can be case.
The user only ever has access to use the standard set of commands and the spells in their spell book.
The following commands are always available to the character:
GO - Move to a different room. go north
TAKE - Pick up a document. take book
DROP - Drop a document. drop book
IMPRINT - Copy a spell to the spell book. imprint transmute
EXPEL - Remove a spell from the spell book. expel transmute
LOOK - Get a description of the current room. look
INSPECT - Get a Description of a document. inspect book
Rooms (directories) are the locations within the AGOS world (directory tree).
Each room can contain any number of documents of any type, but can only ever contain doors to a maximum 8 other rooms ( N, S, E, W, NE, SE, SW, SE ).
In the background always running is a management program called The GM. The GM has the following function:
- Updates the location of any other creatures adventuring around AGOS too. Will one venture into the players location?
- Keep track of the players health
- Spawn new creatures and traps as they disappear
AGOS needs a peculiar file system to support it. Effectively each file or directory has a 256 byte header which when inspected gives you information about it.
- 1 byte - lock
- 1 byte - flags
- 4 bytes - size
- 110 bytes - internal description
- 110 bytes - external description
- 30 bytes - short name
lock - a special value used to lock a file or directory in such a way that it can not be opened unless a special 'key' program sets it to 0. Any non 0 value means this item is locked.
flags - bit 0 is the executable flag. bit 1 is the directory flag. the rest of the bits are unused at this moment.
size - If this is a file then it holds the number of data bytes that follow this header that make up the files contents. If this is a directory then it holds the number of items in this directory, the addresses (4 bytes each) of which will follow the this header as data.
internal description - For a room this will be the string printed when the user looks at the room. it should be a short description of the surroundings.For a file this might provide a description of the contents.
External description - For a directory this is what the door to the directory looks like. For a file this could be a description of what the book looks like.
short name - This is a short name for files that should be used to pick up the file and such. Think of this as a books title.