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:
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:
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:
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.