Map Creation

From Zero-K
Revision as of 15:23, 4 March 2024 by Aquanim (talk | contribs) (→‎Creating maps)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Maps are 7z archives which, at their most basic, consist of three image files packaged in a particular way. They can be found in Zero-K/Maps and be zipped or unzipped with 7zip. Maps can contain more than their three image files, including:

  • Metal spot layout.
  • Start area configuration.
  • Tree, rock or any other models to be placed as map features.
  • Arbitrary code and units changes that can arbitrarily modify the game. See Mod Creation.

Creating maps

<Removed some links to the old Spring wiki since you would probably get malware if you go there.>

Ask for help in #zkmap in on the Zero-K Discord server.

Startboxes

Further information: Startbox API

Startboxes are loaded from /mapconfig/map_startboxes.lua and can be generated ingame with the Startbox Editor widget included with the game. ‎Alt + F11‎ to toggle.

Metal Configuration and Spot Graphics

Metal spots on maps are done via Lua configs. They can be generated ingame with the dbg_mouse_to_mex_portable.lua widget, available at TheMooseIsLoose's github.

Download that repo as a zip and extract into your map folder. Load the map in ZK, enable cheats, and then enable Mouse to Mexes in your ‎Alt + F11‎ widget menu. Click to create new metal spots, the values and positions will be automatically saved to your game data directory. Copy and paste the content from MexSpots_YourMap to your /mapconfig/map_metal_layout.lua.

Running maps

Local testing

To run a map locally put it in Zero-K/Maps then start the game. Untick 'Only featured maps' in Settings → Lobby and start a singleplayer skirmish game. Select 'Advanced', click 'Change Map' and select your map from the list.

Multiplayer

Upload your map to https://springfiles.springrts.com/upload/ to make it downloadable and playable by others. Some admin action to feature/support the map may also be required.

See also