Main
Introduction
Tutorial
Technical
Status
Download
Links
Tutorial
Kokatrix is an application for generating and editing worlds for RPGs.
Kokatrix also includes a simple game engine for moving in the created worlds.
Basic editing
Kokatrix has a modular architecture. The core part of Kokatrix defines the
datatypes and editors for these datatypes. Extensions are used for more
complex tasks.
Main menu
The main window has buttons to select what kind of elements to edit.
It also has File-menu for loading and saving the world, and Plugin-menu
for starting up extensions.
Short explanation of different kinds of elements:
- People are the inhabitants of the world
- Countries define the culture of the people
- Professions define the behaviour for people
- Races define the physical attributes for the people
- Attributes modify the aspects of persons
- Buildings are where the people live and worl
- Building types tell what the buildings are like
- Towns include buildings and inhabitants
- Town attributes tell what the buildings are like
- Locations can include people too
- Families are needed to determine some things
- Societies are not currently used. There will be events for joining and
parting societies like there are events for joining and parting locations.
- Events are currently just stubs
- Items are stuff that people and buildings have
- Item types tell what the items are like
- Materials: items are made of materials
- Obstacles are stuff that are outside at the communities
- Obstacle types tell what the obstacles are like
- Plant types are now just used for agriculture
- Map objects are graphical elements of the game
There is some data in the world that is not related to elements. This data
can be edited using Info-button in the main menu.
The current extensions in the plugin menu are:
- Undo dialog for undoing editing actions
- Stats for showing statistics about the world
- Export GEDCOM creates a GEDCOM file of the families. GEDCOM is a data
format that can be loaded by genealogical programs
- Simulation creates the inhabitants and towns of the world using
simulation
- Game starts running the current world as a game
Element editor
When a button in the main window is clicked, an editor for the elements with
selected kind is started. Just select the element you want to edit, and you
can edit it directly. If you want to create a new element, use the menu to
create copies of the current element.
If you want to edit several items simultaneously, use the Complex Editor.
The editor window has three parts. The leftmost
part is a tree widget, which can be used for grouping the elements in a tree.
In the middle, the elements of the current tree are shown. Many of these
elements can be selected simultaneously. The right-most editor is different
for different kinds of elements. The Apply-button sets all the selected
elements to be equal to the value of the editor. The Set-buttons next to
each field in the editor set that field to be the value of the currently
edited value in every selected element. ?-button has a tooltip that tells
the purpose of the associated field.
Queries
The elements of trees are queries. The queries are edited in or-of-ands
normal form. For example the query in the screenshot selects adult males or
unemployed people. An empty query selects nothing. A query where there is one
and-element added but no atoms selects all elements of a kind.
The check-boxes can be used to negate query atoms.
Most of the query atoms are different for different kinds, but Prefix-query
for selecting elements by name and Set-query for selecting elements from a set
work for all kinds of elements.
Sets can be constructed using queries, but elements can be removed from them.
Undoing
With the undo feature, old worlds can be restored. The dialog shows the
editing actions, to select the world before an editing action, click on the
name of the action and click Set state -button. Undo-button cancels last
action. Limit-field sets the number of worlds stored. The worlds are stored
quite efficiently, so even if the worlds are large, undo-feature doesn't
take very much space.
Simulation
The simulation plugin is used to populate the world with communities, people
and buildings. Clicking Start-button runs the simulation forward. Clicking
the map opens a window with statistics about communities.
Map
The world map can be changed using the field Map in the Map-tab of
Info-editor dialog. In the same tab, the meanings of different colors can be
specified. Every color has associated attributes for towns. Based on the
location of a community it's color is looked up from the map, and the
attributes associated with that color are added to the town.
Races, Professions and Countries
Races can be used to specify how long creatures should live and
how many children will the creatures get when they give birth (twins etc.)
When a new race element is added to world, a seed event is needed to get them
into simulation.
Professions tell what the creatures do for living. Professions also
determine how rich the persons are. The Lifestyle/Common/Building tab can be
used to tell what kind of buildings the creatures with different kind of
professions use. Different kinds of buildings can be defined with the building
type editor. In this editor, it's possible to define how many inhabitants a
building can have and what kind of workers the building needs.
Country of a creature determines the creature's culture. The tab
Lifestyle/Country can be used for numeric parameters.
Lifestyle/Common/Death Reasons -tab defines the reasons why the creatures die.
Lifestyle/Common/Events -tab defines what kind of events happens to the
creatures. Lifestyle/Common/Fallback -tab can be used to define what happens
of the events fail. Lifestyle/Common/Names -tab can be used to set the names
that these creatures give. Lifestyle/Common/Attributes -tab can be used to
add special attributes.
The life-event dialog tells how many times an event happens, when is the
first time it happens, and how many times it happens.
Variables
In world generation, there is much randomness. The numeric variables can be
exact or within a range. They can also be given by a gaussian distribution
or with a list of probabilities. It is possible that for example wealth or
other feature of a creature should be modified by a special attribute. Then
a modifier can be used to multiply or increment the value. Sometimes a
numeric value for a person depends on another numeric value. Then Variable or
Attribute can be selected instead of Float. Date variables define a
year and optionally a season.
World events
To make something happen in the world, select Events-tab from the Info-editor,
and add some events. Some important events are Communities/Seed and
World/Disaster.
See Hissim documentation (html pdf)
for more information about world generation.
Generating towns
When the world is being simulated, some details are omitted. These details
can be added after the simulation, or during the simulation incrementally.
Items
Some important items (artifacts) can be handled by the world simulator, but
most items should be added later. Lifestyle/Common/Misc-tab has an item field
that can be used to tell what kind of items the persons have. Building types
have a similar field. Item types have information about how the items should be
handled: do the creatures always carry them or do they keep them in some
location of their homes or workplaces. When the items have been configured,
the town-editor plugins Add items and Remove items can be used to add items
to buildings and creatures of communities.
Buildings and roads
The buildings that the creatures build have to be added to the maps of the
communities. In the town-editor, use Edit network plugin. This opens a
graphical SDL view that shows the current road network of a community and a
GUI dialog that can be used to launch other dialogs or to generate the
community map automatically. The other dialogs can be used to edit the map
by hand.
The SDL-view has few useful key bindings: Backspace restarts the gui dialog,
'f' add curves to the roads, 'u' connects some buildings that were left
unconnected. '1' .. '0' and '+' and '-' change the scaling factor. Right
mouse clicks move the view. Tab switches to the map object of the community.
Another Tab switches back.
Obstacles
The communities can have other objects than buildings, for example stones or
trees. They are called obstacles. These can be added by hand or be
automatically generated from the information associated with town attributes.
Editing media
The objects can have different graphical states. Each state can have several
animation frames. Each frame can be edited with a pixel editor.
In the
SDL-view, left click will do the selected action, and middle click can be
used to select color from the image.
Editing map objects
Areas can be edited using the Edit graphically- plugin. Just like in the
media editor, the left click will do the selected action, and middle click
can be used to select cell from the map.
Placeholders
Some semantic information has to be included into the areas. For this
purpose, the areas have the placeholder field. For example, the inhabitants
of the buildings might have their own rooms. For this, there are Person
placeholders. They can be used to give inhabitants and workers of a building
default places. The owners for the places are given using Add building areas
-plugin for towns. Otherwise the inhabitants would have random places.
Also it will help the NPCs if the areas include information about if they
are doors etc.
Generating map object for communities
The graphics for background and roads need to be set first using the tab Map
in the Town-editor. Then use Generate maps- plugin. To add areas for buildings
in the communtity, use Add building areas -plugin. To add items for
buildings and persons, use the Add items-plugin. To setup the item locations,
use Setup item locations- plugin. To activate the map, use Activate- plugin.
The graphical objects for creatures need
to be added using queries.
Game engine
When everything has been generated, plugin Game can be started. Press ESC
to start a menu, and then start character selection dialog.
Then you can select a character to play with. If the screen stays black,
the community where that character lives has not yet been loaded, or it
doesn't have a map object. To be sure, load in all communities.
Main
Introduction
Tutorial
Technical
Status
Download
Links
Last modified:
Sunday, May 9, 2004