Here are some mapping hints I find useful for every person who like to create a map. I hope it saves you some frustration.
In addition to that I recommend:
-
Maps & Mods FAF Bois channel at discord for help and discussion
-
Supcom Editor guide - except versioning picture (see step 11)
-
FA Forever Map Editor guide-
Biass' mapping guide-
Lionhardt's mapping tutorials0) GET STARTED
1) HEIGHTMAP
2) STRATA/TEXTURE
3) MARKER
4) DECALS
5) PROPS
6) UNITS AND STRUCTURES
7) BALANCE MAP
8) ADAPTIVE MAP FILES
9) SKYBOX
10) TEST MAP
11) BEFORE UPLOAD
12) UPLOAD
13) AFTER UPLOAD
0) GET STARTED-Take a look at frequently played maps and their structure: heightmap steps, terrain distances, strata use, marker distance/amount, size of buildspace, ...
-Consider drawing the map and its concept before you begin: e.g. blocked path (units/TML), water to hide ACU/Experimental, hill (don't) covers certain units, drop points, ...
-Even consider writing a map story, which is in line with the map and its features
-Take your time to make a good map and a solid in game impression (if people don't like it at first/second experience, they might not play it again)
-I need at least 4-8 weeks for .v0001 of a map. This includes try and error, till I got the right settings/look/features implemented and no known bugs remain.Fileinfo:.scmap - stores heightmap and strata and props, map preview and mini map, position and path of props and decals
_save.lua - stores marker and unit positions
_scenario.lua - stores mapinfo: name, description, version, army count, no rush range
_script.lua - tells the game what should happen once map is loaded (just copy and paste the
default_script.lua into your map folder. editing is only needed for adaptive maps or other special map features)
1) HEIGHTMAP -Can be created in Editor, Photoshop, Inkscape, World Machine, ...
-I use Inkscape for creation, World machine to add erosion and blur*Tokyto's how to videos:
-
Heightmap review-
Mountain making tutorialFile size and settings:-Width/height: Mapsize + 1 pixel (e.g. 512 + 1 = 513)
-Grayscale image,
16 bit-Open exported RAW-file: Count 1,
16bit, IBM PC (in Photoshop)
>Save as .raw: Header 0; IMB PC (in Photoshop)
>Save as .png (FAF Map Editor can read it)
Build heightmap:-Get a feeling for height: Check y-axis (height) in editor
-Consider creating different elevations/heights in editor and export them as heightmap, so you can use the
grey steps e.g. in Photoshop for mapping
!-Use a height difference from max 50 grey steps for the whole map, or you end up with
the black pane bug (areas that could not be displayed in game). If you really need a height difference >50 grey steps, see here how to
combat the black plane bug!-'MaxWaterDepth=25' for amphibious units: Means, the under water movement of units is limited to 'water elevation/level - MaxWaterDepth' (after that it acts like a blocked path)
-Avoid a to detailed main terrain (build space/battle field): It's always a pain if you can't build where you like to, even if you are using height differences of 1 and blur it, there will be terra forming issues or you cant even place a factory because of a resulting strange angle
-Avoid having high slopes at terrain differences (e.g. ramps), if something should be build here in the future
-To avoid terrain issues while building structures or shooting at each other in game, maybe try similar grey steps: e.g. seafloor 55, water surface 60, main terrain 65, plateaus 70, hills 75 grey
-Unit height: ACU 3, Fatboy 3, ML 5, Scathis 6, GC 8, Megalith 8, Ythotha 9 - If you want to cover/block a unit, add at least one grey step: e.g. Ythotha = 10 (9+1) > water 60, main terrain 70, hills 80 grey
-If height difference >24, Fatboy can't hit
-If elevation difference >10, T1 artillery cant shoot up (e.g. plateau)
!-Keep the standard elevation of air units in mind or they will rise/slow down/adjust to right height while flying over hills. I believe 10 (gray steps or units in y-axis) is a good height difference here, since it covers most of the air units (Transport: T1 & T3 = 10, T2 = 8 / Gunships: All = 10
/ Soulripper = 12 / Bomber: T1 & T2 = 18, T3 = 20 / Fighter: T1 = 18, T2 & T3 = 20 / Scouts: T1 = 20 , T3 = 25 / CZAR & Ahwassa = 25)
-In other word: If difference <= 10, T1 arty can shoot up and transports not slowing down. If difference >10, T1 arty cant shoot up and transport ETA increases/slows down due to rising
Finish heightmap:-Since all future steps depends on the heightmap, make it perfect before you proceed
-Press "O" in Supcom Editor or "Ctrl+G" in FAF Map Editor to display elevation/slope - green can be build on, red can't be crossed. But you should always test it in game, because the slopes are sometimes not 100% accurate, especially at the end of blocked areas (e.g. ramp)
!-Check in game if you can build everywhere (with e.g. factorys) - Use "Blur" tool to fix terrain issues
!-Check if units do what you want them to, e.g. transport/bomber flying over hills without rising, ACU/experimetal/arty are (not) covered by hill/water, units (don't) shoot up/down plateau, pathfinding - units don't stuck, ...
!-Rotated or mirrored map? Read step 7) BALANCE MAP
2) STRATA/TEXTURE-Can be created in Editor, Photoshop, Inkscape, World Machine, ...
-I use World Machine for better control and results (e.g. slope/height selection and masks)-Use many Strata (editor allows up to 8) to give your map an overall good and natural look
-Texturing: Play with Albedo and Normal size in editor till you like it. If they have the same scale value and type, the Normal (Decal) will match the Albedo.
-Texturing: Ensure that Albedo and Normal are not overscaled/-sized
*Maybe use
masks as strata for better orientation
File size and settings (Photoshop):-Width/height: Half the Mapsize (e.g. 512/2 = 256)
-Greyscale Image,
8 bit-Use "Select > Colorrange" to make strata
-Use opacity and blur to smooth transition between strata
-Use clouds (Ctrl+F) to generate strata content. Ctrl+Alt+F more contrast between your clouds
>export as .raw
3) MARKER-I use FAF Map Editor for symmetry and easy placement-Use your mexes and hydros to guide the player (it sould be clear who takes which resources)
AI marker:-uveso explains
here how it should be done
!-Get and enable AI-Uveso: Check map for bugs in game with Moholog ("F9") while AI is playing and remove them
-Spawn points have the same effect on the AI as an expansion marker (so don't place an expansion marker in the start base)
!-Only place a maximum of 400 nodes for each layer (land, amphibious, water, air) or the path finding will slow down the computer/game
--> better use 300 or less, in respect of slow computers -Create good routes for the AI: max distance of land/amphibious path nodes to each other: (radius of arty = 30)*2 = 60
-Always connect the AI path nodes - otherwise the Sorian AI wont work
-Units of AI orientate on the marker itself - crossing lines don't count
-Never place AI path nodes directly upon resources or base markers - pathfinding!
-even arrange amphibious and land path nodes in two lanes for better pathfinding: Experimentals and engineers are almost all amphibious, best to give them a separated way (fast lane)
-Amphibious Pathnodes = Land + Water Pathnodes
-place marker in even distance to plateau/cliff, to enable e.g. valley lane and plateau lane (uneven distance will lead to units trying to get up/down hill to close marker)
-If you want the Lobby to display "Yes" the map has AI marker, change the names of the land path nodes in the save file to "['LandPN01']"
(only applies for FAF Editor) -Sorian shortens way if target is closer as 100 units
-GPG AI can skip last way point if target is closer as 40 units
-Check for duplicated/missing marker
Land path nodes:-place good routes and let untis move around obstacles
-use offset from map border, to ensure that the way points are reachable
Air path nodes:-place a grid, determined by mapsize and intelfield (always 16)*
-use offset from map border, to ensure that the way points are reachable and in the middle of every intelfield: X+(intelfield/2) and Z+(intelfield/2)
-I prepared an air grid for 5x5, 10x10 and 20x20 km maps to save you some time. Ozonex put these in his FAF editor content "FAForeverMapEditor_Data\Structure\MarkerPresets" for import
mapsize-intelfield / intelfield = air path node distance
5x5km: 256/16 = 16
10x10km: 512/16 = 32
20x20km: 1024/16 = 64
4) DECALS-"Common" features the most basic decals (e.g. erosion)
-Decals from wreckage vanish after 5 min in game
-Use a lot of decals to give your map character (support natural features)
!-Ensure that the decals are not overscaled/-sized (look good)
-If you want your decals to be more visible from far away and achieve a smooth zoom transition: select all decals and set LOD to values around 700-1000
-Decals bound to structures will always keep there original LOD (even if you select all decals and set a new LOD)
-You can even create you own decals (from e.g. normal map in World Machine). Switch channels of normal map from R,G,B,A to R(inverted blue),G,B(removed),A(red). Save as .dds with compression 'DTX5' and mid maps. Add 'env/decals/' folder to your map and put the dds-file in it. Place the decal via FAF editor.
5) PROPS-I recommend a natural look and placement
!-Always use "snap to land layer" for rocks and trees and test look in game. Because "auto snap to grid" is enabled in game (FA). That means if u place stuff wrong in the editor, it will snap to land layer/grid in game and maybe you end up with flying trees
-If you want to make sure that all props are snapped to the ground: select all via "ctrl + a" and press "delete", now press "ctrl + z" to undo > all props are aligned now
-If you want props under water: move water level to 0, re+align (remove and undo remove) props, raise water to previous level
!-Never place rocks from "RedRocks" and "Swamp" in the water, they are missing "under water" animation
-Check reclaim value of prop itself and total values of all props in FAF Editor
*The map
FA and FAF Props contains all currently available props.
--> check the vaultLeft side: All props in editor order. Right side:
Supreme Props Mod order by size
6) UNITS AND STRUCTURES-Add Units/Structures in SupCom Editor (with right-click at location in map) or FAF editor
-Civilian radar/sonar/shield need enough energy and an energy-storage to work
!-Check for duplicated UNIT_IDs and missing units/structures
-Check reclaim value of unit (
T1-T3 land all factions)
7) BALANCE MAP-This step is really important to ensure fair playing conditions
A) 180° Rotation:-If you "only" like to rotate, build 1/2 of your map and do the steps 1-6 individually
-Heightmap and strata need to be rotated via Photoshop/Inkscape/World Machine/...
-Rotation for marker, decals, props and units can be done by original editor, but I recommend initial symmetrical placement via FAF Editor
B) B2ag's scmap mirror tool-Tool will mirror results from step 1-6 and will create folder with mirrored decals
-Build 1/2, 1/4 or even 1/8 of your map real good and mirror the rest
! Mirror note:-Check/delete duplicated markers/structures an there decals at mirror axis
-Check/fix path node connections. Connections are sometimes fucked, due to different naming in Original and FAF editor
-Marker, props and units will placed mirror symmetrical
-Some prop groups cant be mirrored properly, because the model itself is not centered
-Credit the creator
8) ADAPTIVE MAP FILES!-Make sure the map folder and names are right in script.lua file
!-Check map for bugs in game with Moholog ("F9") and remove them
!-If your map is adaptive add "AdaptiveMap = true," to scenario.lua file (note Editor will erase that line while saving, make sure to add it before upload)
9) SKYBOX!-Only works for map version v60. Supcom Editor writes and reads only v56 maps. FAF Map Editor reads and writes v56 and v60.
-Ex-/import skybox via FAF Map Editor from the v60 FA maps: C:\Program Files (x86)\THQ\Gas Powered Games\Supreme Commander - Forged Alliance\maps
-Adjust fog to blend it in
10) TEST MAP-check all "
!" again and test map thoroughly (e.g. spawn a few units via cheat menu, then test your desired behavior/features (build factorys (around mexes), check pathfinding, units (don't) shoot up/down plateau, units are (not) covered by hill/water, air units are not rising at hill,...)
-Share (-DONT UPLOAD TO FAF VAULT YET- e.g. .zip it and find other ways) and test it with friends or FAF community
11) BEFORE UPLOAD-If you map includes work from others, credit the author in the map description
-Reduce your folder content to the needed files:
- Standard Map: .scmap, _save.lua, _scenario.lua, _script.lua
- Adaptive Map: .scmap, _save.lua, _scenario.lua, _script.lua, _options.lua, _tables.lua
- Individual features: e.g. different map preview, unique decals
!How to upload a map/replace a map version?!-Don't change the map name (name = "Best Map-Name") or the versioning is not working and a new map is created
-Add the right map version to scenario.lua file: "map_version = x,"
-Remove ".v000x" from folder (best_map-name.v0001) and in files (best_map-name_scenario.lua and best_map-name_script.lua) that it will look like "best_map-name" (If you dont do that the upload will create a path like that "best_map-name.v0001.v0001")
-Map upload will create folder name and path in files (except .scmap)* from scenario.lua file via:
(name = "Best Map-Name") + (map_version = 2) = (created folder/path name = "best_map-name.v0002")!7B - Mirrored decals note:*New map version = new decal path in .scmap
-Since the upload did not change the given decal path in the .scmap, you need to make sure, that it matches the upload requirements (name, map_version) of the folder and files. Otherwise the decals can't be displayed!
Bad example: You upload "map_version = 2", then the new path will look like "best_map-name.v0002". But the .scmap decal path still is "best_map-name.v0001" >> No mirrored decals for you. To fix that you need to...
1A) export decals > search and replace ".v000x"in file > delete old decals & import new version
1B) or open .scmap file and find & replace "v000x"
2) delete old map version from map folder to check if the decals of new version are working
12) UPLOAD-Use Downlord's FAF client
13) AFTER UPLOAD-delete the mapping version of your map from the maps folder and download your newly uploaded final map from the vault to check if the upload broke anything
-All working?! Congrats