Kokatrix history simulator

Sami Mäkelä






Chapter 1 Introduction

Kokatrix history simulator can be used to generate worlds with several communities that have buildings and inhabitants with relationships. Whole history of the world is stored.

1.1 Time

Time is always represented as a floating point value. It's the time in years since the beginning (0.0).

Chapter 2 Elements

Entities can be from different races which determines average age and some other attributes. Entities also belong to countries that determine a great deal of their behavior, like how often they move, how many children they have, on what age they get married etc. Also communities belong to countries. Communities are used to determine the location of entities so that it is easy to implement event scripting and some other things. There are also buildings, that are used for living and working in. Different types of buildings can be defined. Entities also have professions, they are used to determine in what kind of buildings the entities want to live or work in. Finally there are different types attributes which can add events to person's life story. Attributes can also be inherited.

Races, country, profession and other attributes are used together to determine an entity's lifestyle. This means that for example the country or an attribute of a person can change the person's age. The difference is that the average age must always be determined in the race.

2.1 Races

Races are supposed to be things like humans, orcs or elves. They have different physical attributes for males and females. The attribute Sexes tells how many of the born creatures of this race are females or males.

Important attributes for races are: To copy the data from males to females or from females to males, use the Edit-menu.

2.2 Countries

I guess these countries are more like cultures than actual countries. Anyway communities have a country they belong into, and persons too. Currently all countries must be predefined, but it's easy to add a feature to make copies of countries.

They have these attributes:
2.3 Professions

Professions are used to determine in what kind of buildings the persons want to live. Also stuff like lords, kings and wizards are professions.

Professions should define following attributes:
2.4 Communities

Communities are towns or other communities. They belong into a country and they have buildings. Communities can affect to the lifestyle of the persons that live in it in the same way as countries, races and professions. Communities can be predefined, or they can be founded by persons.

Communities can have attributes, which tell what kind of places they are. The attributes can be got from the map, where different colors represent different attributes. The Info/Colors field can be used to define what different colors mean. The attributes can also be added and removed as events (needs to be fixed, currently can only set the whole list).

2.5 Buildings

The creatures in the simulation can build different kinds of buildings and live in them. The features of the buildings are determined with building types.

Building types have following attributes: To control how many buildings of certain type can be built into a community, following dependancy attributes can be used:
2.6 Artifacts

Artifacts are important items that the persons can find or make. They can be given to other persons. The attributes Give event and Get event are executed when this item is got or given.

2.7 Persons

The lifestyle of a person is determined by it's race, country, profession and community. In addition to these, a person might have special attributes. The important fields for special attributes are: The initial persons in the world can be created using Seed event. It's also possible to make predefined persons. These persons can then be born into the world with a special event (not yet implemented).

Chapter 3 Events

Predefined events can be added to the world. The target of an event can be a person, building, community or whole world. First part of an event selects it's target. For this selection, requirements can be used.

3.1 Requirements

Simplest form of requirement is just to have a test. This won't work if you want to select best from several alternatives. Then if-then-else can be used to decrease or increase how good the alternative is.

A test is a proposition in or-and-not normal form. It should be easy to figure out how this works.

3.1.1 Communities

Following atomic tests can be applied to communities:
3.1.2 Persons

Following atomic tests can be applied to persons: Tests for different elements can be tested by using the Complex editor menuitem, and then button Add item. I'll have to add a tool to test personal requirements for persons.

3.2 Selection

Persons can be selected in the following ways:
  1. Single person just specifies the person. This is used for generated events.
  2. Multiple persons selects amount of persons using a requirement. The persons that have the best result in the requirement are selected. If some randomization is wanted, it's possible to use the Mod requirement.
  3. Town selects amount of persons from a town.
  4. Percentage selects a rate of persons from a town.
  5. Relatives selects relatives of a person.
  6. Named selects named persons relative to the event or person. Not yet implemented.
Following relations are implemented:
3.3 Life events

Lifestyles include these kind of events. They have following fields:
3.4 Person events

Here is a list of events that can happen to persons: Events can be given names in the Info editor. Then they can be executed using Named event.

3.5 Other events

For communities, there are two important events, Seed and Epidemic. The seeding event addss Amount new persons to the community with specified race, profession and country. The Genome can be used for attributes like skin, eye or hair color. The Epidemic event can be used to add diseases or other similar stuff.

The Disaster event can be used to add events for several people in the specified area. Attribute Duration tells how long time the disaster lasts. Other events for world tell

Chapter 4 Other stuff

4.1 Timelines


This document was translated from LATEX by HEVEA.