capturetheflag/mods/ctf/ctf_map/map_maker
2021-08-30 08:20:09 -07:00
..
textures ctf_map: Convert to modpack; split map maker into separate mod (#475) 2019-11-28 10:51:59 +05:30
gui.lua Map Maker Improvements (#757) 2021-02-14 20:53:41 -08:00
gui.png Map maker changes by gameit (#887) 2021-05-26 07:19:14 -07:00
init.lua map_maker: Refactor GUI into separate file 2020-01-19 06:38:53 +05:30
map_maker.lua map_maker: Refactor GUI into separate file 2020-01-19 06:38:53 +05:30
mod.conf Make worldedit an optional dependency of map_maker 2021-08-30 08:20:09 -07:00
README.md Map maker changes by gameit (#887) 2021-05-26 07:19:14 -07:00

CTF map-maker mod

Making a new map

Youtube Tutorial

https://youtu.be/orBsC9wViUw

Dependencies

Find an area

  • The area can be maximum 230x230 blocks in surface area, but it can be lesser.

  • Modify the area to your unique ctf_map

    • you could add
      • buildings
      • lakes
      • hills
      • etc.
  • 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.

The guiwindow

gui-window

There are many ways of placing the barrier:

  • Go to the center of the map and click on Player Pos and then on To WE
    • set a radius and a height for the map
  • Or select the area of the map via WE
    • Go to one corner of the map and type //pos 1 in the chat
    • Then go to the opposite corner of the cube and type //pos 2 in the chat
    • Click on From WE to import the positions
    • If h is negative change it to the positive number (-130 -> 130)
  • Both radii must be the same!
  • The rotation of the map has to be z=0 (currently x=0 creates bugs and errors)
  • Click on Place Barriers (Note that this has no undo)
  • After the barriers are placed, click on Givme Flags to get 2 flags and place them at the bases.

Meta Data

The guiwindow only shows the most important things. You have to add the missing in the map.conf later.

Exporting

  • Click on Export to export the map-files. This may takes some time

Map Meta

The metadata of each map are stored in the map.conf file and includes all important information about them:

  • name: Name of the map.
  • author: Author of the map.
  • hint [Optional]: A helpful tip for players to understand unique maps.
  • roation: The rotation of the map. [x|y]
  • r: Radius of the map.
  • h: Heigt of the map (If it's an odd numer, make h=h+1 107->108).
  • team.i: Name of the team.
  • team.i.color: Color of the team.
  • team.i.pos: Position of team i's flag, relative ot the center of schem. The y-positions of the flags must be an integer! 30,-32.5,60 -> 30,-33,60
  • chest.i.from and 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 if chests in zone i
  • license: Name of license of the map.
  • other [Optional]: Additional information about the map. This is displayed in the maps catalog.
  • base_node [Optional]: String of the node around the flags.
  • 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 of day when the match starts. Default 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.

license

  • Every map must have its own license. Once you've chosen your license, simply add the following line to the map.conf file:

    license = <name>
    
  • If attribution is required (for example if you modify other's map and you have to tell who is author of the original map), that has to be appended to the license field. If you want to tell more infomation, you can use:

    others = <description>
    
  • If you don't know which license to use, this list of CC licenses can help you.

  • We can only accept Free Software licenses, e.g.CC BY-SA 4.0.

  • Please know what you are doing when choosing a certain license. For example, you can read information about various licenses and/or consult a lawyer.

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)

initial_stuff

initial_stuff are the items given to players at their (re)spawn. The initial_stuff field is located in the map.conf file. At least a pickaxe and some torches should be given in the map's initial_stuff.

An example of initial_stuff value that registers a stone pickaxe, 30 cobblestones, 5 torches and a pistol is given below.

initial_stuff = default:pick_stone,default:cobble 30,default:torch 5,shooter:pistol

screenshot

Every map must have its own screenshot in map's folder. It should have an aspect ratio of 3:2 (screenshot 600x400px is suggested).

It should be named screenshot.png.

skybox [Optional]

Six images which should be in map's folder.

  • skybox_1.png - up
  • skybox_2.png - down
  • skybox_3.png - east
  • skybox_4.png - west
  • skybox_5.png - south
  • skybox_6.png - north

You have to include skybox license in license in map.conf file. We can only accept Free Software licenses, e.g. CC0, CC BY 3.0, CC BY 4.0, CC BY-SA 3.0, CC BY-SA 4.0. Before you test your skybox images in local CTF game, run the update.sh file in the games/capturetheflag/ folder.

You can find some good skyboxes with suitable licenses at opengameart.org or www.humus.name.

Editing exported map

The easiest way to edit exported maps is the following:

  • Create a world using singlenode mapgen. Enable WorldEdit and ctf_map mod,
  • Go in the world's folder, create a folder named schems, and place the map.mts file inside,
  • Start the game, /grantme all and enable fly (there is no ground in singlenode mapgen),
  • Do //1 to set the position where you will generate the map,
  • Do //mtschemplace map (where map is the name of the mts file without .mts).

When you finish:

  • Place //1 and //2 exactly in opposite corners of map (cube),
  • Do //mtschemcreate <new_name> to create new edited .mts file. It will be saved in schems folder.