capturetheflag/mods/ctf/ctf_map/map_maker/README.md
ANAND dc83862df6 Add support for per-map physics modifiers (#488)
Three new map meta fields are now available to map makers:

- `phys_speed`: Speed multiplier
- `phys_jump`: Jump multiplier
- `phys_gravity`: Gravity multiplier
2019-12-07 10:23:02 +01:00

3.5 KiB

CTF Map - Map maker

Creating a new map

1. Dependencies

  • Minetest 5.0.0 or later.
  • ctf_map modpack (by copying the folder from this game to minetest/mods)
  • worldedit and worldedit_commands.

2. Find an area

  • Can use Minetest Game and any mapgen.
  • It must be a cube, and the barrier will be in the exact center.
  • It should be around 230x230 in surface area, but this can be lesser.
  • Feel free to modify the area to your needs.

3. Select the area

There are multiple ways do this, this is the simplest in most cases.

  • If you haven't modified the map at all, do the following to speed up barrier placement:
    • Stop Minetest.
    • Open up the world's world.mt
    • Set backend to "dummy".
    • Save.
  • Using worldedit, select the area.
  • Type /gui, and click "From WE" then "To WE".
  • Check that the center location is the right place for the barrier to go.
  • Check that the bounds extend far enough.

4. Place barriers

  • Set the middle barrier direction. The barrier is a plane defined by a co-ordinate = 0. If the barrier is X=0, then it will placed with every node of the barrier having X=0. If the barrier is Z=0, then it will placed with every node of the barrier having Z=0.
  • Click "place barrier". Note that this command does not have an undo.

5. Meta data

  • Set the meta data

6. Export

  • Click export, and wait until completion.
  • Copy the resultant folder from worlddir/schems/ into ctf_map/ctf_map_core/maps/.
  • Profit!

Documentation

Map meta

Each map's metadata is stored in an accompanying .conf file containing the following data:

  • name: Name of map.
  • author: Author of the map.
  • hint: [Optional] Helpful hint or tip for unique maps, to help players understand the map.
  • rotation: Rotation of the schem. [x|z]
  • r: Radius of the map.
  • h: Height of the map.
  • team.i: Name of team i.
  • team.i.color: Color of team i.
  • team.i.pos: Position of team i's flag, relative to center of schem.
  • chests.i.from, chests.i.to: [Optional] Positions of diagonal corners of custom chest zone i, relative to the center of the schem.
  • chests.i.n: [Optional] Number of chests to place in custom chest zone i.
  • license: Name of the license of the map.
  • other: [Optional] Misc. information about the map. This is displayed in the maps catalog.
  • base_node: [Optional] Technical name of node to be used for the team base.
  • schematic: Name of the map's schematic.
  • initial_stuff: [Optional] Comma-separated list of itemstacks to be given to the player on join and on respawn.
  • treasures: [Optional] List of treasures to be registered for the map, in a serialized format. Refer to the treasures sub-section for more details.
  • start_time: [Optional] Time at start of match. Defaults to 0.4 [0 - 1].
  • time_speed: [Optional] Time speed multiplier. Accepts any valid number. Defaults to 1.
  • phys_speed: [Optional] Player speed multiplier. Accepts any valid number. Defaults to 1.
  • phys_jump: [Optional] Player jump multiplier. Accepts any valid number. Defaults to 1.
  • phys_gravity: [Optional] Player gravity multiplier. Accepts any valid number. Defaults to 1.

treasures

treasures is a list of treasures to be registered for this map in serialized format.

An example treasures value that registers steel pick, shotgun, and grenade:

treasures = default:pick_steel,0.5,5,1,10;shooter:shotgun,0.04,2,1;shooter:grenade,0.08,2,1

(See here to understand the magic numbers)