About this document
In this document, I will outline some of the basic ideas upon which Oneiro was designed. Some of which is described mearly exists in our minds and hearts, but a great deal is also available in code.
Introduction to entities
The basis of the game enviroment is the entity, which could be anything from a rock or a bullet to a singing head or an elevator. A group of entities can be created by attaching entities to other; complex things such as human beings can thus be composed of multiple entities.
Consider the effect of a sword blow on an outstretched arm. Picture the arm being severed from the body, flying through the air spraying blood over the clothes of bystanders. When landed, would not the arm be a perfect meal for a dog or perhaps a rather stylish weapon to finish off the previous owner with?
Any entity with enough free internal space can in addition to being connected to other entities also serve as a container. Anything small enough can be put into a container, including the creatures controlled by the player. This will allow for interesting situations such as being locked into a chest, or devoured by a giant, and have to carve your way out with a pocket knife.
Properties of entities
All entities share a number of properties. Among the values we will refer to as the stats you will find scientific values such as volume, mass and power which use standard SI units, but also values such as perception and luck which are on an Oneiro specific scale.
In the default implementation we will provide a basis of just under twenty stats that will be common for all entities (including rocks and amoeba). The stats vary with time and the changes will be related to the activities of the entity; a rock may not change notably over the years but an arm may grow stronger from birth till middle age, after which it might grow weaker again and eventually wither away.
The circle of life
In the last section, natural death is hinted. This game kernel is constructed to allow the world to be dymamic, as opposed to static MUDs like CircleMUD where the world will always look the same after a reset. In our product, a shop owner may die and leave a job open. A creature or player with enough skills in the area needed may take over the business. The new owner might drive a harder bargain than his predecessor or be really lazy and open the shop a couple of hours late. People will die and people will be born. New species may appear, and old ones may become extinct.
A player will not only have one creature at his/her disposal, but rather a whole family. Children will inherit not only posessions, but also to some degree skills from their parents. Looking after your kids will be important as the parents will inevitably die of old age or otherwise.
Hopefully your family will live in an active community where the rich help the needy. A city working together will have a greater chance of surviving plagues and attacks.
One of the pillars of the Oneiro concept is the AI of the entities. Different entities will react differently to activities in the world. Pulling a lever might open a trapdoor while pulling an arrow will inflict pain on the entity which it has pierced, before letting go. Guards patrolling the streats might on occasion arrest and/or slay spotted criminals. Conversations with NPCs might be possible to some degree, including exchange of rumors and locations of shops and inns.
The code for these behaviours is divided into several modules that may be combined and shared. Some behaviours may come with the line of work, others may be the result of a disease. A very special case of AI is the Actual Intelligence (*cough* in some cases at least *cough*), that is when a player is controlling the entity.
There is so much more to say, but so little time to write it. Further documentation is availble for those who are interested. Feel free to ask questions in our forums.