Creatures 2 Room Editor Tutorial - World Building Basics
What is the world? What is a room? Why are they needed and what do they do?
|
IMPORTANT -
If you are using the Room Editor to transfer room data
to a Creatures 2 world that has agents already in it you should make sure that your new room definitions completely cover the whole map. If you don't do this it is possible that an agent is in a place in the world where no rooms are defined, and if that agent
tries to interact with rooms the likely result is a crash. You have been warned!
The best way to create a complete
new world is to either make sure you cover the whole of
the existing game world with rooms, or create a whole
new world file which has no agents
in. |
If you start Creatures 2 in testing mode you'll find you access to a new menu - called 'Testing' (funnily enough!). One of these menu items is called 'Show Map' - and if you select it it will display a series of cyan boxes and lines
that completely cover the whole of Albia. This is a display
of
the physical world of Albia, and shows rooms, floors and
vehicle cabins.
In Creatures 2 a
room is comprised of 4
walls (left, right, top and bottom) arranged as a
rectangle i.e. opposite walls are parallel to each other and
adjoining walls are perpendicular.
Each room has at least 4
neighbouring rooms, with at least one in each direction - but
there are usually more. The
join between 2 rooms is called a
door. A door is
not quite the same as a wall, and looking at the example below
you can see that Room G has a single wall to the left - but
that wall is actually 2 doors ... one to Room E and another to
Room F.
The concept of a door is very important because each
door has a value for
openness that relates to
a kind of permeability - each agent has a size value and this
dictates which doors it will be able to pass
through.The value for openness ranges from 0 to 255, with 0
being a completely closed door and 255 being a completely open
door. What these numbers actually mean is that an agent can
only pass through a door that has the same or larger value
for
openness, as the agent has for size.For example, a door of
value 200 will allow all agents of size 200 or less to pass
through it ... while agents of
size 201 and above will collide with the door (CAOS
Tutorial 1 mentions agent size altering).
Rooms can also have a floor defined in them, a lower
boundary that isn't the bottom of the room. Rooms A, B and
C
above show a floor surface defined. A floor must be defined
as covering the whole width of a room, it's not possible to
have
a half floor in a room.Floors allow uneven surfaces to be defined
and they also have a concept of how open they are, just like
doors. The
mechanism is identical to doors, and with a combination of
doors, floors and rooms you can cover the world with a
physical layout for agents to navigate around.There are other
properties that rooms have, some are used to simulate the environment
or to provide mechanisms for
agent/environment interaction. Each room is classed as being
one of 4 types of room: Indoors, Surface, Underwater or Atmosphere.
These just break the world into 4 broad categories of room
defined
as follows:
- Indoors - any room that is not outdoors, this does
not include water rooms.
- Surface - a room that is at ground level and is
outdoors. These rooms are heated by the sun and provide most
of the heat input into the environment.
- Underwater - a room full of water and with no
breathable atmosphere. Physics works slightly differently in
underwater rooms.
- Atmosphere - an outdoor room above groundlevel. This
equates to rooms in the sky.
As well as being used to define the physical
layout, the room system is a Cellular Automata ... with properties
that are added, removed or move around the system. It is this
CA system that provide the temperature, wind, light, radiation
and pressure element of each room. To make sense of these
other properties of rooms it is sensible to break them down
into 2 types - Room Properties and Room Sources.
Room Properties
contain a value for the amount of that property within that
room, and are as follows:
- Temperature - The higher the value the hotter the
room.
- Pressure - The higher the value the higher the
pressure.
- Wind - A result of the pressure difference between
the room and it's neighbours. Has both an X and Y component
and a direction.
- Light level - The higher the value the more light
there is in that room.
- Radiation - The higher the value the more radiation
in the room, and more mutation is likely in agents with
genomes.
- Organic Nutrients - A result of agents dying, rotting
or degrading in that room. This property can be used by
detritivores or plants in their life cycle.
- Inorganic Nutrients - An unchanging value that is
used to break the world down into regions. Each room has a
value that, if used consistently, can describe the loose
concept of 'soil type'.
Room Sources provide sources and sinks
for the values of the CA that move from cell to cell.Each update
tick, the
source value for a property will be added (or removed if it's
negative) to that room. The CA
moves these property values to all neighbours, reducing each
time with the number of cells travelled.The sources are as
follows:
- Heat Source - adds a value to the temperature of a
room.
- Pressure Source - adds a value to the pressure of a
room.
- Light Source - adds a value to the light level of a
room.
- Radiation Source - adds a value to the radiation
level of a room.
It should be clear that not all properties of a room
are involved in the CA, only temperature, light, radiation and
pressure are moved around the CA - and the wind property
arises as a result of pressure.
The other properties of a
room are unchanging - or only changed by agent
scripts.
So those are the basics, a room is needed to provide
the physical and environmental conditions for agents to live
in - and many rooms make up the whole map.
Topic Keywords: creatures2 tutorials world