Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Version 2 and Version 3 of content/LevelHowTo


Ignore:
Timestamp:
Jan 4, 2007, 5:04:00 PM (17 years ago)
Author:
bknecht
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • content/LevelHowTo

    v2 v3  
    11= How to create Orxonox Levels =
    22
    3 This HowTo shows how to compose levels for Orxonox and add them to the menu.
     3To create a level in Orxonox is really easy. One does not have to program anything or compile the code again, because our levels are created with XML-Files. There the objects in the level can be defined. On this page we explain what one can do with the XML-Files and how to create a new level for Orxonox with them.
    44
    5 see also: [wiki:MappingForOrxonox Maping for Orxonox with GTK-Radiant]
     5The objects we can add are rooms (BSP-files), spacecrafts (OBJ-files) and moving objects (MD2-files). How to that exactly is best explained with the examples below.
     6
     7If you're interested in creating rooms and BSP-levels check out this page: [wiki:MappingForOrxonox Maping for Orxonox with GTK-Radiant]
    68
    79== Adding a menu entry ==
    8 ...
     10Before you can play a level in Orxonox you have to add the level as a menu entry in the game. To do that you have to alter the DefaultCampaign.oxc file in the data/levels directory (or data/worlds in older versions).[[br]]
    911
    10 == XML level file syntax ==
     12Below there is a example for that file:
     13{{{
     14#!xml
     15<Campaign>
     16  <name>default</name>
     17  <identifier>0</identifier>
     18  <description>The one and only default debug campaign</description>
     19  <WorldList>
     20
     21    <GameMenu>
     22      <identifier>0</identifier>
     23      <name>GameMenu</name>
     24      <path>levels/Menu.oxw</path>
     25      <nextid>1</nextid>
     26    </GameMenu>
     27
     28    <SinglePlayerWorld>
     29      <identifier>1</identifier>
     30      <nextid>2</nextid>
     31      <name>Demo Mountain Lake</name>
     32      <path>levels/sp_demo_mountain_lake.oxw</path>
     33      <menu-entry>1</menu-entry>
     34    </SinglePlayerWorld>
     35
     36    <MultiPlayerWorld>
     37      <identifier>2</identifier>
     38      <nextid>0</nextid>
     39      <path>levels/mp_level_arena.oxw</path>
     40    </MultiPlayerWorld>
     41
     42    ...
     43
     44  </WorldList>
     45</Campaign>
     46}}}
     47Now to add your level you have to add an !SinglePlayerWorld (or !MultiPlayerWorld) entry to the !WorldList. Be sure to add an identifier a name and the most important: the path of your OXW-file. The number of the identifier and the menu-entry have to be incremented. Close every <tag> you open.
     48
     49== XML level file (OXW) syntax ==
     50
     51Level files have the extension OXW (for '''O'''rxono'''X''' '''W'''orld). The order of the things you add does not matter.
    1152
    1253=== Example ===
    13 ...
     54{{{
     55#!xml
     56<WorldDataFile>
     57  <name>Meteroid</name>
     58  <screenshoot>pictures/menu/ss_meteroid_512x512.png</screenshoot>
     59
     60  <LoadScreen>
     61    <BackgroundImage>pictures/load_screens/default.jpg</BackgroundImage>
     62
     63    <ElementCount>16</ElementCount>
     64    <BackgroundPS>0,0,1.0,1</BackgroundPS>
     65    <BarPS>.65,.87,.3,.05</BarPS>
     66    <BarImage>pictures/load_screens/default_bar.png</BarImage>
     67  </LoadScreen>
     68  <WorldEntities>
     69
     70    <TurbineHover>
     71      <name>Player</name>
     72      <abs-coor>522,-389,419</abs-coor>
     73    </TurbineHover>
     74
     75    <SpaceShip>
     76      <name>Player2</name>
     77      <model>models/ships/reap_#.obj</model>
     78      <abs-coor>312.19, 172.36, 60.74</abs-coor>
     79    </SpaceShip>
     80    <SpaceShip>
     81      <name>Player10</name>
     82      <model>models/ships/reap_#.obj</model>
     83      <abs-coor>315.53, 185.09, 14.04</abs-coor>
     84    </SpaceShip>
     85    <SpaceShip>
     86      <name>Player6</name>
     87      <model>models/ships/reap_#.obj</model>
     88      <abs-coor>306.53, 190.09, 23.50</abs-coor>
     89    </SpaceShip>
     90    <SpaceShip>
     91      <name>Player14</name>
     92      <model>models/ships/reap_#.obj</model>
     93      <abs-coor>330.19, 172.36, 25.74</abs-coor>
     94    </SpaceShip>
     95
     96    ...
     97
     98    <MovieEntity>
     99      <abs-coor>413.5,183,36.3</abs-coor>
     100      <name>media/hero.mov</name>
     101      <fps>15</fps>
     102      <axis>90</axis>
     103      <size>75,38.5</size>
     104    </MovieEntity>
     105
     106    <SpaceShip>
     107      <name>Player4</name>
     108      <model>models/ships/fighter.obj</model>
     109      <abs-coor>313,181,0</abs-coor>
     110    </SpaceShip>
     111
     112    ...
     113
     114    <TurbineHover>
     115      <name>Player5</name>
     116      <abs-coor>324,174,2</abs-coor>
     117    </TurbineHover>
     118    <TurbineHover>
     119      <name>Player9</name>
     120      <abs-coor>309,188,42</abs-coor>
     121    </TurbineHover>
     122
     123    ...
     124
     125    <SkyBox>
     126      <name>Sky</name>
     127      <Materialset>pictures/sky/simple_space</Materialset>
     128      <Size>10000</Size>
     129    </SkyBox>
     130
     131    <ModelEntity>
     132      <name>comet</name>
     133      <abs-coor>300,50,-400</abs-coor>
     134      <model>models/comet.obj, 2.5</model>
     135    </ModelEntity>
     136    <ModelEntity>
     137      <name>comet2</name>
     138      <abs-coor>0,0,400</abs-coor>
     139      <model>models/comet.obj, 1</model>
     140    </ModelEntity>
     141
     142    ...
     143
     144    <Terrain>
     145      <name>Meteroit</name>
     146      <abs-coor>300,50,0</abs-coor>
     147      <model>models/environments/meteorit.obj, 2.5</model>
     148    </Terrain>
     149
     150  </WorldEntities>
     151
     152  <Music>sound/music/allgorythm-once_upon_a_time_in_a_small_club.ogg</Music>
     153
     154    <LightManager>
     155    <Lights>
     156      <Light>
     157       <diffuse-color>1,1,1</diffuse-color>
     158       <abs-coor>300,800,0</abs-coor>
     159      </Light>
     160    <Light>
     161       <diffuse-color>1,1,1</diffuse-color>
     162       <abs-coor>100,200,50</abs-coor>
     163      </Light>
     164    </Lights>
     165    <ambient-color>1,1,1</ambient-color>
     166  </LightManager>
     167
     168  <GraphicsEngine>
     169    <GraphicsEffect>
     170        <LenseFlare>
     171          <name>lense flare</name>
     172          <add-flare-texture>pictures/lense_flare/sun.png</add-flare-texture>
     173          <add-flare-texture>pictures/lense_flare/lens2.png</add-flare-texture>
     174          <add-flare-texture>pictures/lense_flare/lens1.png</add-flare-texture>
     175          <add-flare-texture>pictures/lense_flare/lens3.png</add-flare-texture>
     176          <add-flare-texture>pictures/lense_flare/lens4.png</add-flare-texture>
     177          <add-flare-texture>pictures/lense_flare/lens1.png</add-flare-texture>
     178          <add-flare-texture>pictures/lense_flare/lens3.png</add-flare-texture>
     179        </LenseFlare>
     180    </GraphicsEffect>
     181  </GraphicsEngine>
     182
     183</WorldDataFile>
     184}}}
    14185=== World Entities ===
    15186...