FA Forever Map Editor
- 1 Introduction
- 2 Setting up the editor
- 3 Useful shortuts
- 4 Create a new map
- 5 Basic map settings
- 6 Terrain Heightmap
- 7 Water
- 8 Terrain Type
- 9 Terrain Textures
- 10 Lighting
- 11 Armies
- 12 Areas
- 13 Markers
- 14 Props
- 15 Decals
- 16 Units
- 17 Comand line arguments
- 18 Custom resources
- 19 Making custom resources work in FAF
- 20 New version of the map
FA Forever Map Editor is a new map editor developed for FAF by ozonex. It is currently in alpha, which means the editor is in its testing phase, and some features are still lacking. However, ozonex expects to release a beta version soon.
Read all about the FA Forever Map Editor in this forum topic.
FA Forever Map Editor - to do and changelog.
You can download the current version here.
- Map Editor Tutorial By Spy Emanciator - https://www.youtube.com/playlist?list=PLcbl0rrn9re5hsfVOayFJAT-05OAUvz7Q
Setting up the editor
Before using the editor you need to set up your preferences.
Before loading any map you must specify the paths to your game and maps folder.
- Sup Com Forged Alliance installation path - Path to where the game is installed. It will also work with vanilla Supreme Commander, but always use Forged Alliance to get access to all the new assets. Use "..." to open folder browser. When using Default button editor will try to find the path by itself.
- Maps folder path - Path to where all maps are stored. The Alpha version can only load maps from that folder, so if you have maps in a different folder, you need to change this path or move the maps to the specified folder.
- Backup folder - Path where backups of old maps files will be moved. If empty, backups will be saved in FAForeverMapEditor_Data/MapsBackup/.
- Undo steps - Maximum number of steps saved in memory for Undo and Redo.
- Play map - Settings for using File/Play map. You can select a faction and disable Fog of war.
When the editor crashes or behaves in strange way it may be useful to send log to the developer. You can find them here:
C:/Users/[user]/AppData/LocalLow/ozonexo3/FAF Map Editor/
You can create or modify existing brushes used by the FAF Map Editor. Brushes need to be 512px x 512px grayscale PNG without an alpha channel. When opened, the editor will load all brushes from that folder. Brushes are sorted alphabetically.
You can find them in:
The editor supports several symmetry options for editing maps. You need to select the right one before making changes to the map, because everything you do will be symmetrical based on selected settings. To open symmetry settings go to Symmetry/Symmetry settings....
Tolerance is how far in game units the editor will search for symmetrical objects when selected. Matching objects will be selected as orange. If it can't find a matching object it will display a gray selection where it should be.
Create a new map
To create new map use File/New Map.
- Name - Name of the map. This will be also used to name folders and files. See below for correct map naming conventions.
- Description - Long description of the map. You can describe the history of the map here.
- Texture set - Set of stratum textures loaded to new map. If you know how do you want your map to look like, then select best set.
- Type - Type of map. Use Skirmish for Multiplayer maps
- Width / Height - Size of the map. When selected sizes are not square editor will create square map and clip it using Area.
- Initial height - Initial height of whole heightmap. Try to use the lowest value possible, but remember to leave some space if you want to have water on the map.
- Water - Toggle it on if you want to have water on your map. This can be changed later if you change your mind.
- Water Elevation - the height at which the water level is.
- Depth Elevation - the height at which the water is darker.
- Abyss Elevation - the height at which the water is very dark.
New map created in FAF Map Editor will be saved as:
How you should you name maps:
Editor fix map folder and file names, but you should still remember how that works.
Ignoring your map folder name, after uploading to vault, the map folder will be renamed according to the map name, but with spaces replaced with '_'. For example: A map's name is "Yet Another Gap". And map files are named "yetanothergap_scenario.lua", etc. The map will be uploaded to the vault and will be playable, but every time someone tries to host it from FAF, not from lobby settings, the Four-Corners map will be hosted instead. This bug will annoy people and prevent your map from being added to ladder pool. It happens because the mapbfolder will be renamed to "yet_another_gap.v0666" and FAF will search for yet_another_gap_scenarion.lua.
So a proper map should be named like this: maps/good_map.v0001/good_map_scenario.lua
Basic map settings
Can be found in Map/Scenario menu.
- Name - Map name displayed in game
- Description - Long description of the map. You can describe the history of the map here. Displayed in game when selecting maps.
- Version - Version of the map. Should not be changed manually. To create next version, for upload to vault, click File/Save as new version.
Edit Armys Spawn IDs
Tool for changing order of existing armies. Army order is also order of spawn points. Tool also have Auto-Team preview. To switch armies click on box with army number and then select other army from dropdown list.
Scmap file format exist in 2 versions:
- v56 - Vanilla Supreme Commander map. Most old maps are in this format, because this is how the official map editor saves them.
- v60 - Forged Alliance map. This is a new format version containing additional procedural skybox. Can't be opened by old tools or by the vanilla Supreme Commander game.
If you need to open v60 map in vanilla or old tools, you can export skybox data to file and save it as v56. When done, you can import the skybox again and save as v60.
The heightmap is the base of whole terrain. It defines height for every place on the map. You can use built-in tools to edit it, or export/import to work with other software.
- Brush size - Size of the brush that we want to paint with. You can change it by holding down the B key and dragging over game view'.
- Brush strenght - Strength with witch brush changes are aplayed to terrain. You can change it by holding down the V key and dragging over game view'.
There are 4 types of brush
- Standard - Simple brush for increasing or decreasing terrain height
- Flatten - Finds the average height under brush and moves terrain to that height. Best used as a strong blur.
- Blur - Smoothen the terrain. Good for removing sharp edges and softening the terrain.
- Sharpen - Increase difference in height.
- Target height - Target terrain height for Standard brush. When painting it will change height into the target height. Useful for smooth translation into chosen height.
- Min height - Minimum terrain height allowed by the brush. Terrain will be clipped when it's under that value.
- Max height - Maximum terrain height allowed by the brush. Terrain will be clipped when it's above that value.
- Rotation - Rotation of brush texture. Useful for some custom brushes like mountains.
Brush shape are brush images loaded from Structure/Brush folder. Read more here: Custom brushes
- Set terraing height - Change height of whole terrain to the chosen value.
- Add height - Move heightmap up or down by the chosen value. Positive value will move it up, negative will move it down.
- Export in size - Will export heightmap in different width and height. Useful for transfering heightmap between maps of different size. It can also scale height values when selecting Scale Height.
Export & Import
You can export and import heightmap as *.raw file. It's 16bit texture, that can be edited in many graphic programs like Photoshop. There is also support for *.r16 files from World Machine You can also import *.bmp images, but they are usually 8 bit, so they lost data. Heightmap resolution should be always MapSize + 1, because it require one more vertex data, to create grid cell. For example 256x256 map will have heightmap with resolution 257x257.
Black plane bug
In Forged Alliance there is known bug, that lower parts of your map will become black. It happen, when height difference between the lowest and the highest point is bigger than 50.
There are 2 ways to fix it:
- Reduce mountains height or depth of water
- Add very deep hole somewhere in the map (read more here: http://forums.faforever.com/viewtopic.php?f=53&t=8439 )
Water settings can be found under Terrain/Water menu.
You can turn water on or off on your map. If you don't want to have water, then try to remember to disable it.
Water level is defined by Water Elevation value. Abyss Elevation define where water will have the darkest color. These 2 valus are the main water settings you need to remember about. Depth Elevation don't do much, but need to be between Water and Abyss elevation.
Surface Color allow you to change colors of the water. Sun Color is color of sun reflections on the surface.
- Water color depth - Change of water depth for water color. The deeper the water is, the strongest color it has.
- Water color lerp - How strong water color is applied.
- Sun Shininess - Secularity of the sun
- Fresnel Power - Distribution of on what angle water will lets out the light thru under it, and when block it by reflected light. Low values will give low transparency of the water.
- Fresnel Bias - Offset of dept for fresnel
- Refraction scale - How strong refract light
- Unit Reflection - How strong units reflect from surface of the water
- Sky Reflection - Strength of sky reflection
Terrain types can be painted by going into the TERRAIN > TYPE menu.
Terrain type is definition of what kind of terrain is over each areas. This is used for particle effect like dirt under walking units. Some layers (like lava) don't allow units to walk there, so can be used to block movement over certain areas.
To change area first select area you want to paint from the list on the left and then just paint it. You can change brush size. Types can't be blended together, only one type can be chosen per 1 game unit cell.
Textures define colors of your map. Game allows you to chose from many textures for many different biomes. Remember that the appearance of the texture depends on the lighting setting.
There are total of 10 layers
- Lower - is the lowest, base layer, that is visible, when nothing else is painted
- Layers 1-4 - Default painting layers. You can assign same textures like for Lower and paint them over terrain
- Layers 5-8 - Additional layers. They work only on XP shader. To enable them go to Settings tab and select TTerrainXP shader.
- Upper - Overall layer with transparent noise texture. Don't change it if you don't know what you are doing!
Small V button allow you to temporary hide texture from. It will change to H if layer is hidden.
Always start texturing from the bottom. Begin from selecting lower stratum, and then go up staring from layer 1.
Textures can be found using Resource Browser. When browsing textures you can see small colored box at bottom right. It shows how texture will look at distance (Mip-Maps).
Every layer has 2 textures that can be assigned:
- Albedo - Color texture.
- Normal - Texture of the surface bumps, roughness for lighting. It's usually blue or orange and have "normals" in the name.
You can adjust their scale over map using scale sliders under each texture.
When you selected one of the layers from 1 to 8, you can paint them into terrain by going to Paint tab.
Paint by dragging over terrain. To erase hold left alt and drag where you want.
- Brush size - Size of the brush that we want to paint with. You can change it by holding down the B key and dragging over game view'.
- Brush strenght - Strength with witch brush changes are applied to layer mask. You can change it by holding down the V key and dragging over game view.
- Target value - Target opacity, that brush will change mask into when painting, values can be from 0 to 1 and are linear
- Slope min - Minimum terrain slope value for painting, allow for excluding flat surfaces from paint
- Slope max - Maximum terrain slope value for painting, allow for excluding cliffs from paint
- Scattering - Randomize brush position. It's great for blending textures and adding noisy details to flat terrain.
Linear brush is an improved brush behavior. Supcom terrain shader is not blending layer directly by mask, but it's converting it to be more contrasted. Selecting brush to be linear will compensate for that change, allow painting to be more smooth.
Mask conversion algorithm. You can see that its basically removing values 0 - 0.5 and use only range 0.5 - 1. That's why on standard brush at beginning nothing happens.
(mask * 2) - 1
Lighting can completelychange look of the map, so always remember to spend some time fine tuning lighting.
- RA - Sun direction, for value 0 is from North, for 90 East, for 180 South and -90 West
- DA - Sun height over horizon, at value 0 it at horizon, and for 90 is exactly on top. Usually values between 30 to 60 looks good.
Sun, shadow and ambient
- Sun Color - color at where the sun lights up. Thats the main lighting color. Sun Multiplier is how strong sun is, usually values 1.0-1.5 looks good.
- Ambient Color - light color that is aplied everywhere - in lighted areas and in shadowed areas. This is usually light caused by sky, so you can set it to similar color as sky. Usually is blueish-gray color.
- Shadow Color - Color at shadowed areas. It's not really physical correct, but if you feel that shadows are too dark, and you don't want to change sun and ambient colors, you can change shadow color.
Fog in Supreme Commander maps is not a big deal. For most maps it is very light and visible only at far distances. Start and End are distances from camera, where fog begin to blend, and finish blending. End distance should not be too small, to not hide map at strategic zoom. For Fog Color the best is color of the atmosphere, horizon color. Something between sky color and land color visible from very far.
Remember to not set Bloom to too big value. Even if you don't have it enabled in game, many users still like to play with it. Specular is color and strength of sun reflection from terrain. How specular is applied depend on used stratum textures and if TTerrainXP shader is used or not.
This is new map feature that was added in Forged Alliance expansion. In previous versions of the map files, skybox was just a texture. In v60 scmap file version skybox is defined by few values that are stored in skybox data.
You can just export them from official Forged Alliance maps and import it to your map. Remember, that when saving map as v56, skybox data will be lost. v60 file format works only in Forged Alliance.
Color of the skybox is defined by Horizon color and Zenith color. They create gradient based on height values. Then cloud texture is applied with addional stars/planet/moons billboard textures.
- Position - Updated automaticly by map editor, should be always center of the map.
- Horizon - Height value, where horizon of sky dome will start.
- Horizon color - Color of the horizon
- Zenith - Height value, where will be zenith of sky dome.
- Zenith color - Updated automaticly by map editor, should be always center of the map.
Armies can be added, removed or edited by going into the MAP > ARMIES menu.
For new maps editor create team FFA with all playable armies configured, and 2 extra armies NEUTRAL_CIVILIANS and ARMY_17, that is everything you really need for standard map.
Configuration for multiplayer should have 1 team named FFA. To add team press +Team button
Every playable army should be in this team, and its name should start with ARMY_ and unique number between 1 and 16. Game support max 16 players. To add army press + button under team;
Remember that armies need to be in correct order, first on top of the list need to be always ARMY_1 and next numbers under it. Next army should always be number higher by 1.
For example if you have ARMY_1 and ARMY_3, game will only find 1 army for multiplayer. It need to be ARMY_1 and then ARMY_2.
Remember to rename army in Extra Armies if there is any with the name that you want to use for playable army. Older maps usually have ARMY_9 for civilian defense structures or wreckage, so better is to always rename it to ARMY_17.
Mission army settings
For campaign maps armies have some configuration. Note, that these will not be used in standard game, they are used only in missions.
- Faction - What faction it is, (0 - UEF, 1 - Aeon, 2 - Cybran, 3 - Seraphim)
- Color - Color of the army
Extra armies, are armies, that are not assigned to any team and are not playable. Use these for civilians and for reclaimable wreckage.
Army with civilians should be always named NEUTRAL_CIVILIANS
Areas allow to define custom places on the map, that can be later used in custom scripts.
Editor displays them as yellow lines. You can also select area, that editor will render as playable area. By default it use the biggest area. You can also hide it if you need to see whole map.
By default editor creates AREA_1 that allow to clip map into that area. That allows to make custom size of the maps. Just create bigger map, and reduce its playable area.
Area used for Playable Area is defined in script.lua file.
Markers are objects, that define points of the map such as spawn point, mass ponts, hydrocarbon, spawn point, AI nodes, and many other custom points used by the game or scripts.
Spawn point is just a Blank Marker that has the same name as the Army. When editor find, that name is correct, it change marker graphic to commander icon.
When you created an army in the Armies section of the wiki, notice that it will say, "Army marker not found!". This is intended. You then have to sync the army(ies) with blank markers.
Navigate to the MARKERS menu and add a blank marker. Deselect the Blank Marker button and click on the marker you just created. Rename it to the corresponding army name, for ex. "ARMY_1".
There are 2 types of resource markers: Mass and Hydrocarbon. They define points, where there will be place for mass extractor and hydrocarbon on the map. Resources can be connected with army by Adaptive settings.
With 17 different types of markers, AI markers give informations to AIs for them to function properly during the game.
- Combat Zone - Points a potential conflict zone between armies. AIs will scout frequently and send units to fight if needed.
- Defensive Point/Naval Defensive Point - When the zone is secure, AIs will build static defenses there.
- Protected Experimental - An area where experimentals are being built.
- Expansion Area - AIs will expand with a low amount of factories with some static defenses when the area is safe.
- Large Expansion Area - Unlike the normal Expansion Area, Large Expansion Areas will use more factories and defenses as if it was an actual base. The area does still need to be secure.
- Naval Area - Indicates where to build naval factories. Some defenses will come within the area.
- Rally Point/Naval Rally Point - Rally Points for units coming from factories. Usually placed near expansion areas and start positions.
- Path Nodes - Markers that need to be connected to each others. They work as the path ways for AIs' units.
- Naval Link - [TODO] Not used by stock AI (Supreme Commander's standard AI) or by Sorian AI.
- Transport Marker - [TODO]
- Island - [TODO]
Layers page allow you to hide or show markers of certain types. This is useful if you have a lot of different markers on the map, and don't want to see them all. This is most often used when creating connections for PathNodes for AI. You can just hide everything other and show marker connections, to see connection between all nodes.
Props are just small objects on the map like trees and rocks, that can usually be reclaimed. They give mass and energy when reclaimed, so plan how you distribute them over your map, because it can change balance.
To create props click on + button or Tools/Resource browser to open the Resource Browser, and make sure that Category is changed to Props. Then just drag prop to the list on the left. You can put many props on the list, and when painting it will randomly chose one of them. You can also drop prop from browser into map to create it.
When props are selected, you can paint them by just draging mouse over map. You can modify brush size and strength buy UI slider on the left or by holding B or M keys on the keyboard.
Left Alt inverts brush, and allow you to erase props from the map. Strength value also works for erasing, so you can chose how fast it removes props.
If you want exact precision (for example for buildings) you can change brush size to 0 and use Snap to grid.
Props statistics show how much mass and energy can be reclaimed from all props on the map.
Prop list values
- X button - Remove prop from the list
- Rotation - allow you to chose range of random rotation of each prop of that type. By default its
- Procent - Chance painting prop. When you have more than one prop on the list, you can chose how often each type spawns when painting.
- Load brush set - Import list of the props with their settings.
- Save brush set - Export current prop list.
Decals are just small texture decals that can be placed on terrain to give it much more detailed look. There are Albedo decals, that gives color, and Normal decals, that change surface shape for lighting.
Decal implementation in FAF Map Editor is little different that you can find in other tools. List of the decals is really a "color pallete" of decals, not the decals on the map. At beginning it might feel unintuitive, but it's very useful and speed up whole process. You don't need to find textures from list or find similar decal on the map to duplicate it. There are usually so many decals you can easily get lost in all of them. Instead you just select Decal Type from list, like a color from color palete, and just stamp it on the terrain.
New Decal Type
To create new decal type just click + button on the bottom of decal type list. Editor will create and select new decal type. You need now select render type of that decal and assign textures to it.
For Albedo decal you need to select color texture.
For Normal decal you need to select normal texture (these strange blue or yellow textures).
Decal Types can't be removed. They only display last used decals, like last used colors on color palette. You can only remove decal instances from the map.
When you select Decal Type you want to place on terrain you can click Place decals button. Now just by clicking over terrain you place that decal. Remember to select proper symmetry setting before.
While you are in placement mode, you can use keyboard keys to rotate (E) and scale (R) decal before you place it. Cursor will show you how decal will look on the map.
To create civilian and wreckage units on your map you need to add them to Extra Armies. Map editor by default create ARMY_17 and NEUTRAL_CIVILIAN armies.
Units and unit groups can be re-parented by pressing P key. Every selected will be now parented under main selected group (blue on the list).
Units are stored inside groups. Every group can have other groups under it, so it create trees of groups like folders.
To create new group press + Group button under army or other group.
To rename it double click on it's name.
Prefix is custom naming tag, that is then added to the group name. When you change prefix name, all groups inside that army with same prefix will also change own prefix. Thanks to that is easy to have multiple groups starting with same name, for easier management in the code.
To create wreckage, create Unit Group named WRECKAGE under ARMY_17 or NEUTRAL_CIVILIAN. Editor will automatically render them as wreckage.
To create civilians on the map, just under NEUTRAL_CIVILIAN create group INITIAL. Civilian units will now spawn, when they are enabled in game settings.
Comand line arguments
Render Preview Image - If you want editor to only render preview image of map, then use this command. It allow to generate image with custom width and height. If you want image in png format, then image path need to end with "*.png". In other cases it will save with JPG compression.
-renderPreviewImage [Width] [Height] [ScenarioPath] [PngImagePath]
Map editor and game allows to have custom textures loaded from map folder. This works only for stratum textures and decals. Props can't be loaded, because game won't load blueprints from maps folder.
Create env folder in your map folder, and then inside create needed folders by their type. Note that ResourceBrowser will use Category to load from proper folder
- layers - Stratum texture
- props - Props assets. Editor will display and use them, but they will not work in game.
- decals - Decal textures
- splats - Splat decal textures
To find your resources in ResourceBrowser open select Map folder in Type dropdown.
Making custom resources work in FAF
Initial Map Upload
Editor fix all folder, file names and paths, so it should always work automatically, but you can read these steps if you have any issues with it.
Because the FAF server automatically renames your folder, it can break the paths of custom resources you've set up. To ensure this doesn't happen follow these steps:
- Make sure the folder of your map has the same name as the .scenario file. For example /maps/New_Shiny_map.v0001/New_Shiny_map.scenario
- The server will rename your map folder into the scenario file name (at least it seems to) so if your scenario name differs from the folder name it will be renamed and broken.
- Make sure you don't have any spaces in your folder/scenario names
- Any spaces in scenario name will be replaced by underscore before being used as a map name so make sure there are none. Or alternatively you can have a map folder name with underscores and scenario file name with spaces but as a general rule it's easier to keep a habit of naming your folder and all the files inside of it exactly the same to minimize any potential issues.
- Remember when somebody told you that you don't have to add ".v0001" to your map folder name anymore since the server does it automatically? Well forget about that because if you want your map to properly function in the editor and upon uploading to FAF you have to make sure you manually add a version counter corresponding to your current version to the end of your map folder as well as to the scenario file. For example from "maps/New_Shiny_map/" to "maps/New_Shiny_map.v0001/"
Uploading a new version
FAF Map Editor have feature to prepare all files of new version for you. It will also update paths of custom assets and every path in scenario.lua. Just open the latest version of your map and click File/Save as new version. Files created like that can now be uploaded to Vault.
New version of the map
If you want to upload new version of the same map, then use File/Save as new version in map editor. Editor will create and rename all files for you. When you upload that new version of the map into vault it will hide old versions, and show this one.
FAF vault don't allow to remove broken or old maps. Ask moderators for support on this if you can't upload new, fixed version of these maps.
Also read this forum topic: http://forums.faforever.com/viewtopic.php?f=53&p=165578#p165578