User:Aquanim/DraftMapMakingGuide
Contents
Minimal Brief Guide
For more detail on each of these steps read the later sections of the document.
This guide assumes that you are using a version of Zero-K installed through Steam. You can still make maps if you installed by some other method but you may need to modify some of the later steps.
Download Tools
- 7zip - https://www.7-zip.org/download.html
- pymapconv - clone or download https://github.com/Beherith/springrts_smf_compiler somewhere, then copy pymapconv.exe and nvdxt.exe to a new directory to keep things simple
- map blueprint - clone or download https://github.com/Aquanim/ZKMapBlueprint
Create Images
For a 10x10 (TitanDuel-size) map, create the following images with a tool of your choice:
- A height map grayscale image with dimensions 641 x 641, saved as an 8-bit .bmp or a 16-bit .png. (The latter is preferred but not all tools offer 16-bit output.) The brighter a pixel is the higher the corresponding part of the map will be.
- A texture map colour image with dimensions 5120 x 5120, saved as a .bmp
If you want a different size map see the heightmap and texture map sections below.
Put these images in the same directory as pymapconv.exe from the previous step (may not strictly be required but keeps things simple).
Compile Your Map
Run pymapconv.exe and fill in the following fields...
- An output file name - ideally this should be the name of your map, possibly with a version number. File extension .smf, will also generate a .smt. IMPORTANT: Do not rename these files after compiling!
- Use the buttons to select the texture and heightmap images you made in the previous step.
- I expect the minimum/maximum height values to be overridden by mapinfo.lua later but you might as well set them.
- Scroll down to the NVDXT option and make sure it says "-Sinc -quality_highest". Also probably a good idea to tick the CLEAN option.
- Untick everything else, press "Save options as" if you like, then press the "Compile" button.
Construct .sdd File
- Copy into map blueprint
- Rename map blueprint
- Edit mapinfo.lua
- Test the map
(The minimap in the lobby will be blank, don't worry about this for now.)
Metal and Startboxes
Now that you can look at your height and texturemap ingame this is a good time to sort out your metal spots and start locations. Holding SPACE ingame will display a dialog box which (among other things) gives the X and Z coordinates of wherever your cursor is. This will be helpful when setting up the following config files.
- Edit metal
- Edit startboxes
Optional Extras
You can skip this for now, but refer to the sections linked below if you want...
- Features (geovents, trees, rocks, etc)
- DNTS (fancy map details and specular map)
- Fancy mapinfo stuff (lighting, water effects, etc)
- Skybox (???)
- Other nonsense (particle effects, sound, etc)
Upload
- Make a Springfiles account
- Pray to your deity of choice that whoever approves Springfiles accounts checks in this month
- Upload your map
- Pray to your deity of choice that Springfiles is actually working this week
- See your map on the ZK website
Tools
Startbox Editor Widget
Load your map in ZK, press Alt-F11 to access the widget list, press "Search" and enter "Startbox". Enable the Startbox Editor. The ingame description doesn't say much so let's consult the widget source file:
...well, that's not a good sign. Scroll down a bit further:
That's more like it. Follow those instructions to create your startboxes, then open your infolog.lua (in the main zero-k directory) after you exit to retrieve the startbox information for copying into map_startboxes.lua. It's probably a good idea to turn the widget off after you are done with it.