The naming convention for AP levels will be "level-*.xml" where * is the usual regular expression definition of *. Files will be laid out as follows: <?xml version="1.0" encoding="iso-8859-1"?> <resources> <section name="Description"> <integer name="ID" value="1" /> <string name="SelectDescription" value="Level 1" /> <string name="LevelDescription" value="Try to get the basketball into the wooden bin." /> </section> <section name="World"> <world name="world" size="10 10 10" box="brushed_metal.jpg" clouds="clouds.jpg" /> <camera name="camera" radius="10" elevation="20" azimuth="-50" /> </section> <section name="Goals"> <goal name="Goal1" ID="0" type="inside" objectID="0" position="-0.470661 -2.15585 -1.21291" radius="0.6" delay="3" /> <goal name="Goal2" ID="1" type="outside" objectID="1" position="0.459 -1.1 2.91" radius="1" delay="0" /> </section> <section name="Objects"> <object name="shape0" ID="0" shape="sphere" type="shape" texture="basketball.jpg" position="-1.94491 0.0227595 2.2884" forward="0 0 1" up="0 1 0" scale="0.4 0.4 0.4" mass="15" on="false" stationary="false" movable="false" rotatable="0 0 0" /> <object name="bucket1" ID="1" type="bucket" texture="wood.jpg" position="-0.470661 -2.15585 -1.21291" forward="0 0 1" up="0 1 0" scale="0.6 0.6 0.6" mass="1" on="false" stationary="true" movable="false" rotatable="0 0 0" /> <object name="conveyorbelt2" ID="2" shape="box" type="conveyorbelt" texture="conveyor.jpg" position="-1.90794 -1.0161 0.936078" forward="-0.1 0.6 0.88" up="0.01 0.88 0.46" scale="1 0.1 2" mass="1" on="false" stationary="true" movable="false" rotatable="0 0 0" /> <object name="trigger3" ID="3" connectionID="2" shape="cylinder" type="trigger" texture="" position="2 1.94 2" forward="0 0 1" up="0 1 0" scale="1 1 1" mass="1" on="false" stationary="true" movable="false" rotatable="0 0 0" /> <object name="seesaw4" ID="4" shape="box" type="seesaw" model="seesaw.ms3d" position="2.54804 -2.41397 -1.93944" forward="0 0 1" up="0 1 0" scale="0.4 0.04 1" mass="1" on="false" stationary="false" movable="false" rotatable="0 0 0" /> </section> </resources> Explanation of arguments (for a more in depth description of some of the arguments and how they're used see the doxygen documentation): Description/ID: a unique identifier for this level Description/SelectDescription: the string which will appear in the select level list box Description/LevelDescription: the string which will appear in the level loading dialog box World/world/name: name of the worldbox World/world/size: size of the worldbox along each dimension (worldbox is centered on the origin) World/world/box: texture to use on the worldbox World/world/clouds: texture to use for the background World/camera/name: name of the camera World/camera/radius: camera's distance from the origin World/camera/elevation: camera's vertical angle World/camera/azimuth: camera's horizontal angle Goal/goal/name: name of the goal Goal/goal/ID: a unique identifier for this goal Goal/goal/type: type of goal, can be one of the GoalType enum's Goal/goal/objectID: ID of the object associated with this goal Goal/goal/position: for inside/outside goals, the position of the goal Goal/goal/radius: for inside/outside goals, the radius of the goal Goal/goal/delay: how long the goal needs to be satisfied Object/object/name: name of the object Object/object/ID: a unique identifier for this object Object/object/ConnectionID: if this object is connectable, the ID of the connected-to object Object/object/shape: shape of object, a specific set of keywords is recognized here, see Object docs Object/object/type: type of object, a specific set of keywords is recognized here, see Object docs Object/object/texture: filename of the texture to use for the object's material Object/object/model: milkshape model to use as the object's model Object/object/position: position of the object Object/object/forward: forward vector of the object Object/object/up: up vector of the object Object/object/scale: scaling factors for the object Object/object/mass: mass of the object (assuming constant density) Object/object/on: initial activation status of the object Object/object/stationary: initial stationary status of the object Object/object/movable: movable status of the object Object/object/rotatable: axes which the object can be rotated about