I know his is stuff for the wiki, but I need to figure out how to organize/structure it first, so I just start writing away, maybe it helps the new mappers.Where to store the map?
Currently, there are two (three) places to put maps in, where the game recognizes and loads them.
- Multiplayer maps - These are stored in \StreamingAssets\Maps
- Singleplayer maps - These goto \StreamingAssets\Challenge
- Campaigns - These need a bit manual editing to make it work. I will describe it later or on demand
Each map consists of 3 files:
mapname.bwd - this holds metadata about the map, the players, the alliances, the description text
mapname.bwm - this is the actual map data with all the grounds, units, dialogs, triggers,...
mapname.png - this is the image shown when selecting the map ingame
The editor will take care of creating these files, you only need to save/load the .bwm file.Getting started
Select new map, pick a default ground for the map, enter the size and give it a go.Setting up the editor
First you will see a blank map, I would recommend to re-arrange the windows to your preference. A few things should be (in my opinion) always be visible somewhere:
- Tools -> here you select and see in what mode the editor currently is. The 4 modes are: select, place, delete and clone. I have dragged and pinned it on top of the map window.
- Hexinspector -> this one shows the most important data about the selected hex. What ground it is, what mapobjects are placed, which unit and so on. This is handy to quickly alter some values.
Otherwise, I have arranged the placeable objects on the left side and all the others on the right.
I have attached a pic. In the end, it is up to you, what you find comfortable to use.A few basics
The first thing you want to fill out when creating a map is all on the Description window. Map name, description, display size, amount of players (humans or AI), alliances are all set here. You should also create and load an image (png format), this will be displayed ingame.The wonderful hexes
In BWK, its all about hexes, so a map is defined by what the hexes on each positions contain. Think of these as layers on top of each other:Grounds
A hex always has an assigned ground -> snow, grassland, water, you get the ideaRoads
A hex can have a road type assigned as well. The road has no direction, the road directions are calculated by surrounding hexes with or without roads.MapObjects
A mapobject is placed on top this. Mapobjects are fences, bunkers, smoking wrecks and other assets. This also points into a certain direction (north, northeast, southeast, south, southwest, northwest). Several mapobjects can be placed on a hex. For example you can create a smoking bunker.Units
A unit is also placed on a hex (duh) and has a direction. Units are also assigned a team, can be a container for other units and even generate resources (depots are treated as units as well). There are also units that are not assigned to a certain hex but are for example loaded in a depot or are just defined to be brought into action by some triggers.Paint the map
Time to give that map some color. Use the grounds display, click on one you see fit and paint away on the map. Same works for roads, mapobjects and units. On the latter you can also preselect a team and directions.
If you made a mistake, use the delete tool. ctrl-click will erase the type you currently have focused (ground, road, mapobject, unit) while alt-click will reset all but the ground.
Play around with the selection tool, shift-click will select rectangles, shift-ctrl-click circles. You can "paint" selected hexes with the hexinspector by modifying values directly there.
The clone tool is more advanced. You need to select what you want to clone. Again, depending on what type you selected you will clone just the unit, road or the mapobject.
You can move units with selecting them, then activate the clone tool and shift-ctrl-click the target location.A few hints
Start with placing the ground hexes, then add roads, some mapobjects to make it pretty, then place units for the teams.
At this point, you might as well save it, fire up the game and give it a go.And thats it?
Thats the basic to create a running map, yes. But there's a whole lot more the editor can do and this is where the fun starts.
Mission targets: here you can define primary and secondary goal for each team. There are several different targets, I will describe them later.
Units: you can define units that are not placed at the map at the start of the battle.
Squads: The AI handles squads of units best. Here you can create them, give them a behavior pattern, a mission and an operational area. This is where the AI will move the units and defines the area where the squad can operate.
Dialogs: You can define dialogs which consist of nodes (these are the text windows displayed with the attached speakers), the transitions (these are the answer options you can click). You can build whole dialog trees and bind actions to player choices.
Triggers: Now this is where it's getting interesting. There are a lot of different trigger types, for example when a unit enters a hex, when a turn starts, when you discover a hex... You can bind a lot of actions that will all be activated when a trigger fires. Actions could be: place a unit, show a dialog, set a mission target, activate an AI squad and a whole lot more. In my opinion, this, and all the resulting possible combinations is what makes the BWK engine really powerful.
Variables: used for counting, mostly used in mission targets and triggers. For example you can count how many depots you have conquered and fire a trigger when it reaches, lets say 3, then display a dialog to tell how great you were.
Warnings/Errors: the editor recognizes a lot of mistakes you can do. Try to build maps with as less warnings/errors as possible.
I hope this helps as a quick guide to get started.