Navigation
Community
Configuring
Creating
FAQ - General
Info for Sauerbraten Users
Introduction
Known Issues
Main Page
Notes
Playing
Troubleshooting
 

Info for Sauerbraten Users

Playing

Some general differences:

Controls


Variables (sauer cubescript variables)


Creating

Running

Cube 2/Sauerbraten lets you run the client in an entirely standalone mode, and edit maps in that. In the Intensity Engine you will need to either connect to a running server, or run your own (see README-standalone.txt). The reason for this is a stricter separation between the client and the server in the Intensity Engine.

Controls


Map files


Cube 2 maps are comprised of a map.ogz and optionally a map.cfg. In the Intensity Engine, each map occupies a directory under packages/base, and includes

    * map.ogz: The ogz file as in Cube 2
    * map.js: A script file that sets up the map, including game logic, entity classes, etc.
    * Optionally, entities.json: A file containing the permanent entities for the map

Note that map.ogz and map.js are the filenames used. The engine looks for those files specifically in the map directory, if you give those files other names it won't find them. In other words, the directory name is the map name, and inside a map directory the names are standardized.

The ogz file does not contain the entities, instead they are in the separate entities.json file. This file is loaded and executed by map.js. Having it as a separate file allows easier editing as well as a more modular way to add entities to running maps.

When a map is uploaded, the contents of the map directory are wrapped in a tar.gz file.

Entities


Entities can be added by aiming the mouse at a spot and pressing F8 (when in edit mode). Select the class and an entity will appear there. Do NOT create entities with /newent (it may crash the server, and in any case will not give the right results).

For creating lights, there is also a GUI, which you can access at: editing commands->ents->light.

Edit entity details by right-clicking on the entity. Then change the variables you want to.

When you upload a map, entities are exported to entities.js by default, and uploaded with the map. You can also export entities manually to other files as you work.

Saving changes


When you upload a map, a tar.gz file is created from the map directory's contents, as mentioned above. This is uploaded to the asset server and stored in the /files directory of that asset server. The server running the map will then get the new version of the map from there, and then notify all connected clients to do the same.


Creating a new map

See here.


Importing maps from Cube 2/Sauerbraten


There are some technical details about importing maps:
  • Map entities in .ogz files are ignored by the Intensity Engine, as it uses a different (more dynamic) method for storing and streaming them. But entities can be migrated with a bit of work. One helpful thing is that entities are written to the console when an ogz file is loaded that contains them, this output is in JSON and can be placed in an entities.json file.
  • You will need to create a map.js file, as the map.cfg isn't used. The tools/convert_cfg.py and tools/mapmodels.py can help.
  • You will probably need some textures that are in Cube 2/Sauerbraten but not available in the Intensity Engine, as many of the textures there are not freely distributable, or simply because they haven't been added.

First, create a new map from scratch, as detailed above. Then:

  • Before running the client, find the directory holding the map. This is in your user directory (not the install directory), on Linux it will be ~/.intensityengine_client/packages/base/MYMAP/map.ogz, and on Windows the directory will be under Documents and Settings for your user. Note that the map name is map.ogz, unlike Cube 2/Sauerbraten (maps are kept in separate directories to tell them apart).
  • Replace that map.ogz with the Cube 2/Sauerbraten map you want to import, by renaming it to map.ogz and placing it instead of the existing map.ogz.
  • Run the client, log in, and enter the instance that you repurposed before. You should see your map now, instead of the 'empty map' map. But, only you see it so far, not the server or other people.
  • In the client, enter the menu (Escape key) and select "upload map". This will package the current map files and upload them to the asset server.


Updated on Oct 23, 2009 by Alon Zakai (Version 4)