From 31fcc507e7f1d44ec41a6d2c9b3dbadd4e5de851 Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Wed, 16 Jul 2008 13:19:43 +0000 Subject: more documentation, world.html --- doc/world.html | 182 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 doc/world.html (limited to 'doc/world.html') diff --git a/doc/world.html b/doc/world.html new file mode 100644 index 0000000..70c8fbe --- /dev/null +++ b/doc/world.html @@ -0,0 +1,182 @@ + + + + + + The Osirion Project - Editing the world + + +

+ The Osirion Project - Editing the world +

+

+ One of the goals of the project is to create a game world that is + easy to adapt and extend. At the moment of writing, the game reads the + world description from ini/world.ini and a list of buyable ships + from ini/ships.ini. These ini-files are plain text files that can be + edited with any text editor. +

+ The world description files are server-side. This means that editing your local + copies will not affect the world when you connect to a remote server. Someone + connecting to your server will also receive your modified world. +

+ I recommend you do not edit the original game data, but to make a copy + into your personal osirion directory. The files found in this directory will + get precedence over the original game data. Your modified files will be used + and the original files can still be updated when a new version is available. +

+ On Linux your personal osirion directory is ~/.osirion. On windows, your + personal osirion directory is the home subdirectory of the main distribution. + +

+ File structure +

+

+ A world description files uses the windows ini-file syntax. Every section starts + with a section name enclosed in square brackets. For example, a section called + planet would look like: +

+[planet]
+
+

+ Every section contains a list of value=key pairs to describe the properties + for the current section. A planet would probably have a radius and a texture and the + planet section could look like: +

+[planet]
+radius=32
+texture=planets/iceworld
+
+

+ Lines starting with a semicolon are considered comments and are ignored: +

+; The iceworld, a very dark and cold place
+
+

+ world.ini +

+

+ The world.ini file describes the objects in the game world and their basic properties. + In the context of the engine, an object is called an entity. +

+ [entity] +

+

+ Entities come in two flavours: basic geometrical shapes and entities with models. Both have a similar + definition and set of properties. A simple entity is considered decoration by the engine and won't change + direction or location. +

+ Every in-game entity should have a label key. If the entity in question is going to be used as a base, + or any object the could be referenced in possible scripting, it should have a unique label. The label + should be lowercase and not contain spaces. A player-friendly name can be provided through the name key. + + + + + + + + + + + +
label =[string]the in-game label of the entity
name =[string]the in-game name of the entity
+

+ Set the shape key to define a basic geometrical shape: + + + + + + + + + + + + + + + + + + + + +
shape =axisa 3d-axis with X, Y and Z lines. +
cubea cube
diamonda regular octahedron with an axis
spherea polyhedron approximation of a sphere
+

+ The size of the entity can be set with the radius key: + + + + + + +
radius =[float]the radius of the entity in game units
+

+ An entity with a model can be created by setting the model key. The radius of a model is automaticly + calculated: + + + + + + +
model =[string]filename of the model in the maps/ directory, without extension.
+ +

+ The color key sets the colour of the entity.This colour will be used to draw the entity in case of + a geometrical shape, or to draw model faces that have the common/entity texture. The default entity colour is white. + + + + + + +
color =[float] [float] [float]entity colour with RGB values in the 0.0 - 1.0 or 0 - 255 range
+

+ The location sets the in-game position: + + + + + + +
location =[float] [float] [float]x, y, z values of the entity location, z is up
+

+ Orientation can be set thought the direction, pitch, and roll keys: + + + + + + + + + + + + + +
direction =[float]direction angle the entity is pointing to. 0 degrees is north, 90 degrees is west, default is 0 +
pitch =[float]pitch angle, default is 0 +
roll =[float]roll angle, default is 0 +
+

+ [planet] +

+

+ A planet. +

+ [star] +

+

+ A star. +

+ ships.ini +

+

+ Ships that can be purchased go here. + + -- cgit v1.2.3