Editor Readme
Editor Readme
For the editors to work they require some resources to be extracted from the
data files for fallout tactics.
tiles_0.bos
entities_0.bos
mis-main_0.bos
1) Launch WinZip
2) Drag-drop the .bos file from explorer into the WinZip window.
3) Type Ctrl+A to select all files
4) Press the extract button on the toolbar
5) A dialog should appear. Make sure use folder names is checked. Make sure
the output directory is the core folder inside your tactics install path.
6) Press extract.
If you repeat this process for each of the .bos files mentioned above, you
should now be able to access the tiles and entities and campaign from the
editors.
Use the map editor to produce a .mis file. See the editor help file for tips.
Then place the .mis file somewhere in your core/missions folder. You should
then be able to access it in multiplayer. Note that for others to participate
in the multiplayer game, they also have to have the same map, in the same
location.
===============[Making a Campaign]===============
To construct a campaign, it is recommended that you work within a different
folder to core. Create a new directory in the same location as core. Then
when you run your tools, use the -path command line option. Eg:
Once you need to distribute your mod or campaign to users, you may do the
following:
1) Can compress all your files within "MyPath" into one .bos file using WinZip
or WinRAR, path names must be preserved.
2) Distribute your mod as a compressed file or installer that installs to the
tactics install path, inside the folder called "MyPath" or whatever your custom
path is called.
3) Users can then run your mod or campaign by running:
Under the SINGLE PLAYER button there are now two new options:
CUSTOM CAMPAIGN
- This will bring up a Load screen, displaying a list of available Campaign
files.
- From here the user can select a custom Campaign file.
- Upon selection, the file will load and the game will go straight into the
Character Selection screen.
CUSTOM MISSION
- This will bring up a Game Configuration screen, similar to the Multiplayer
Game Configuration.
- From here the user can select a custom Mission file by clicking on the MISSION
button.
- Once a Mission has been selected, the user can press START GAME to begin the
mission.
!!!! Please note that all Multiplayer specific options in this screen will have
no affect on the Mission to be played !!!!
//////////////////////////////////////////////////////////////////////////
// USING THE EDITOR
//////////////////////////////////////////////////////////////////////////
On starting the editor, you will be presented with the following choices:
CAMPAIGN EDITOR
- Allows the user to create and edit Campaigns.
LEVEL EDITOR
- Allows the user to create and edit Mission Maps.
ENTITY EDITOR
- Allows the user to create and edit Entities.
PNG TO ZAR
- Allows the user to convert .PNG image files into .ZAR files.
- Convert Directory: this will convert the entire selected directory of images.
- Recurse: this will convert all images in all sub-folders of the selected
directory.
OPTIONS
- Allows configuration of game options.
CREDITS
- See the credits!
- Hold SHIFT or CTRL to reveal the Developer Quotes and Caption Competition.
EXIT
- Exits the editor.
//////////////////////////////////////////////////////////////////////////
// LEVEL EDITOR HELP
//////////////////////////////////////////////////////////////////////////
General Definitions
Mission Maps
- Each single mission in Fallout: Tactics takes place inside a Mission Map.
- Each separate Mission Map is stored in a .MIS file. The .MIS file contains all
of the mission data, including Tile and Entity placement, Scripting, etc.
Regions
- Each Mission Map is split into areas defined as Regions.
- A region is 256 World Units on a side (approximately 43 Floor Tiles)
- A World Unit is equal to 25cm in the real world, and is the smallest
measurement possible in the Level Editor.
Tiles
- The geometry of a Mission Map is built up out of Tiles. Tiles are single
pieces of geometry that can be placed together to form landscapes, buildings and
other objects.
- Different Tiles have different physical properties. Most can be stood on by a
character, but others can be seen through, shot through, climbed or even walked
through.
- Each tile has a bounding box. This box is a three-dimensional representation
of the space that tile takes up. This space is translated into collision data,
meaning that tiles can block the way, stop bullets, etc.
- Tiles should not be allowed to occupy the same space as eachother. If tiles
have intersecting bounding boxes, they will be displayed in pulsing red, as an
indicator that there is a problem.
Clips
- A selection of Tiles in the Mission Map can be copied into the clipboard, and
then saved out for future use. This selection is called a Clip. Clips can be
saved, then loaded and pasted into a Mission Map. Due to a limitation in the
editor, the clipboard is not usable between different maps, that is where clips
come in handy.
Tile Set
- A selection of Tiles in the Tile List Directory can be built up and saved for
future placement. This selection is called a Tile Set. Tile Sets can be saved,
then loaded and used to place tiles into a Mission Map.
Entity
- Any object in a map that requires active interaction is an Entity. Entities
can be of many different types and have wildly differeing properties depending
on their purpose.
- Example Entities include Actors (the player characters and non-player
characters), Weapons (from knives to mini-guns), Chemicals (including First Aid
Kits and Mentats), Miscellaneous Items and Breakables.
==========================================================================
MENUS
==========================================================================
===============[FILE MENU]===============
New (CTRL-N)
Create a blank .MIS file. This opens the "New Level" Dialogue.
Open (CTRL-O)
Open an existing .MIS file
Save (CTRL-S)
Save the current .MIS file
Save As
Save the current .MIS file under a new name
Quit (CTRL-Q)
Quits the editor out to the main menu
===============[EDIT MENU]===============
Undo (CTRL-Z)
Undo the last action. Currently has infinite undos.
Redo (CTRL-Y)
Redo the last action that was undone.
Undo Options
Set the options for Undo (number of undos, buffer size)
Cut (CTRL-X)
Copy (CTRL-C)
Paste (CTRL-V)
Unselect (CTRL-U)
Selects nothing
Delete Entities
Removes all entities from the map
===============[VIEW MENU]===============
Origin (ON/OFF)
Toggles visibility of the center of the .MIS file - Red Lines
Region (ON/OFF)
Toggles visibility of the region boundaries - Blue Lines
===============[TOOLS MENU]===============
New Occlusion Data
Forces the generation of new occlusion data. Occlusion data is used to hide
any tile that would not normally be seen without roof/wall popping, increasing
display speeds.
Re-Sort Tiles
Refreshes the tile sorting data.
Make Picture
Outputs a full size JPG of the map, using whatever settings are active [ie, if
you have invisible objects on, they will be part of the render]. Saves the JPG
in the same place as the .MIS file. Been known to crash on certain machines.
Having your virtual memory settings set to something large (400MB or more) will
help.
Refresh Border/Grids
Updates the fading from black that appears at the edge of a map, relative to
the camera boundary.
Ethereal/Not Ethereal
Flags the tile as transparent but not solid, or vice versa. Default flag for
Floor tiles with large holes in them.
Window/Not Window
Flags the tile as transparent but solid, or vice versa. Default flag for
Window Tiles.
Climbable/Not Climbable
Flags the tile as climbable [i.e., a character will be able to grip and climb
it], or vice versa. Default flag for Ladder tiles.
Invisible/Not Invisible
Flags the tile as invisible [will not be displayed in the game], or vice
versa. Most used for plugging large holes in floor areas to assist the roof
popping.
Exit/Not Exit
Flags the tile as part of the exit grid for this level, or vice versa. The
exit grid is toggled on/off in the game using Triggers.
Dump Actors
Exports a list of Actor entity attributes to a text file on the root of C:.
Only used as a rough guide to calculating the entire XP value for a mission.
================================================================================
FIELDS AND WINDOWS
================================================================================
===============[STATUS FIELD]===============
File Path
Displays full path for current .MIS file.
Coordinates
Shows the coordinates of the cursors current position, relative to the
currently selected level.
Res:
The resolution of the "snap-to" grid that new tiles will snap to when placed.
Entering a value of 99 allows the user to drag out a region to be filled with
randomly spaced tiles.
FPS:
The frames per second.
===============[MODES FIELD]===============
Contains the buttons for the different editing modes: Select, Tile, Entity,
Entity Edit, Auto Group, Man Group, Level (explained elsewhere)
===============[MODE-FUNCTIONS FIELD]===============
Displays different information and functions depending on the Editing Mode
chosen.
===============[MAIN WINDOW]===============
Contains a visual representation of the current .MIS file.
Tiles and Entities are placed and manipulated in this screen.
Operations within this screen differ between the different Editing Modes.
===============[HEIGHT FIELD]===============
A graphical representation of all of the levels in the .MIS that can have tiles
placed on them.
Tile Details:
Displays the full name of the tile.
Ycoord:
Displays the Level the tile has been placed on.
Flags:
Displays any flags that the tile has built into it.
MGrp:
Displays the name of the Manual Group that the tile is a part of.
AGrp:
Displays the name of the Auto Group that the tile is a part of.
UGrp:
???? For debug only.
Occl:
The group that must be popped for this tile to become visible.
Map
Walls - Bright Green
Objects - Dark Green
Stairs - Yellow
Actors - Team Color
Vehicles - Blue
Scale
Displays the current scale of the map. Useful values range from 0.1 to 5.
OK Button
Closes the Mini Map Window.
================================================================================
EDITING MODES
================================================================================
Load Clip
Loads a clip from an external .CLP file into the clipboard. From there it can
be pasted into the world (CTRL-V).
Save Clip
Saves the clipboard to an external .CLP file. A selection of tiles must first
be selected, then copied (CTRL-C) into the clipboard.
Placing Tiles
Tile placement occurs in the Main Window.
Left-Click in the editor places a single tile.
Left-Click-Drag in the editor places multiple tiles.
Placing one tile over another tile with the same bounding box dimension will
replace the latter tile.
!!!! PLEASE NOTE: There are occasional errors where the flags attached to Tiles
are not brought in when that tile is initially placed in the map. To fix this
problem, ALWAYS use the TOOLS\UPDATE TILES USED and then the TOOLS\NEW OCCLUSION
DATA tools (IN THAT ORDER) before saving a map for public consumption !!!!
Tag Field
Allows you to place entities with a tag already attached to them.
Placing Entities
Entity placement occurs in the Main Window.
Left-Click in the editor places a single entity.
Note that the entity will only be placed on "valid" positions within the map.
For example, it cannot be placed on open space where there are no tiles for it
to rest on.
New Group
Creates a new group with a name defined by the user.
All currently selected tiles will automatically be added to the new group.
Delete Group
Deletes the currently selected group, never to be seen again (no undo!). This
DOES NOT delete the tiles associated with that group.
Set Bottom
Left-Click in the Main Window sets the bottom-most limit of the Camera
Extents.
Time
Force Start Hour
When this option is check on, the map is forced to start at the hour in the
Start Hour field when the player enters the map.
Start Hour
Defines the start hour (in a 24 hour clock) and thus the light level of a
mission.
To test a level's lights at night, set this field to 22 and click on the Force
Start Hour toggle, then refresh the screen (by pressing R).
Game Type
Used to define the type of Mission Map.
Single Player Mission Maps are flagged as custom by default. Multi Player
Mission Maps must be flagged as the appropriate type of mission desired.
Is Bunker
For Single Player Mission Maps. Flags this map as a Bunker Map.
Allow Vehicles
Allows the player to enter this map with any vehicles that they have taken
into the World Map.
All Mission Maps flagged as Bunkers should also have this flagged.
Minimap
Opens the Minimap window, where the user can select and configure a map for
the PipBoy (see elsewhere for details)
Team
Allows you to set the alignment matrix for different teams.
Player
Allows you to create, edit and remove Player controllers.
Speech File
Allows you to select the appropriate speech file for the mission. The Chat and
Speech nodes used in Speech are built from this file.
The current speech file is displayed at the bottom of the LEVEL MODE area.
Speech
Allows the user to create, edit and remove Chat and Speech nodes. These nodes
are then assigned to different actor entities within the map.
Triggers
Contains the Triggers used for scripting. All Triggers are made up out of
Conditions [which must become true before the rigger will execute] and Actions
[which will execute once the conditions become true].
Add
Add a new zone at the center of the screen.
Remove
Remove the currently selected zone.
Top
Set the top-most corner of the zone.
Bottom
Set the bottom-most corner of the zone.
Height
How tall the zone is. A setting of 1 is usually adequate for a single-level
zone.
Name
Enter a name for the currently selected zone.
Color
Select a color for the currently selected zone.
SoundZone
This flags the selected zone as one that interacts with ambient sound.
===============[ENTITY LIST WINDOW - F8]===============
Lists all of the entities placed in the level (and I mean ALL, down to the non-
removable punch entities used by the actors).
==========================================================================
BUILDING LEVELS
==========================================================================
Introduction
This is a guide to creating new levels and modifying those that are already
built.
In general, the measurements in this document are based on floor tiles.
Number of Regions
When creating a new mission, use the default 10x10 regions. Regions with no
tiles in them take up no space.
Boundary Tiles
Allow for 12 tiles on each side of your map to be sacrificed to the camera
boundary. Place your boundary on the inside of these tiles, essentially in the
middle of the 13th tile.
===============[Think Bigger]===============
General
One of the overall problems is the amount of floor-space we have and the sizes
of rooms. So we need to think bigger.
The 66/33% Rule helps, but in general buildings need to be larger than you
would logically expect them to be. Reality has no place here :).
Corridors
Corridors must be a minimum of 5 tiles wide.
Underground, natural corridors [like caves] should be 5 tiles wide, except for
deliberate choke points.
Wall Heights
If you want a 2-story-tall room [for example, a warehouse that is 2 stories
tall but has no 2nd-floor floor tiles], then you'll need to compensate for the
amount of space that the second story obscures by enlarging the room.
Road Width
Roads need to be a minimum of 8 tiles wide, a maximum of 12.
Stairwells
Stairwells should be a minimum of 2 tiles wide and 3 tiles long.
Allowing for the roof-caps that will cut into the space this provides, it
still means that there is 10 world units of width to a staircase, just enough
for 2 people to walk past each other.
Always facing the camera. Never build stairs that slope away from the camera
[and thus conceal themselves from the player].
==========================================================================
FLESHING THE LEVEL OUT
==========================================================================
Less Clutter
Keep the 66/33% rule in mind when populating a level with objects. Remember,
you probably only have 20% left of the floor-space to put objects on.
Keep it subtle: 2 bookcases will usually do the work of 3.
Floor Tiles
Because we can't take up floor-space with objects, we need to take it up with
interesting floor-tiles instead.
If a room is looking a little bare and plain, use some of the various floor
tiles to flesh it out.
==========================================================================
CHANGING EXISTING LEVELS
==========================================================================
==========================================================================
GENERAL RULES
==========================================================================
Avoid Line-Up
Corridors that are one floor unit wide are too thin. Corridors that are three
units wide will visually have the top of the front-edge wall line up with the
bottom of the rear-edge wall in a confusing manner. Avoid this at all costs!
Lights
All lights should be tagged with the "night only" tag, unless they are
underground or otherwise out of direct sunlight. This is to avoid the bleaching
affect that lights have on daylight maps.
//////////////////////////////////////////////////////////////////////////
// SETTING UP ACTORS
//////////////////////////////////////////////////////////////////////////
An actor is any living (or once living) object in a map. Robots, Raiders, Human
characters, anything. It also includes corpses if you want to add a few to a
special map. Actors are controlled by an AI Controller and also by their
Nature.
===============[Player Index]===============
The Player Index is a way to group several actors together under one type of
AI. If you have a group of raiders on patrol they would be one player index,
the guards at the gates would make a second index, and so on.
The human player is always player index number 1 (Human).
Player index 0 is a special index for any scenery entities such as lights,
waypoints and spawn points
Name each player index something informative and make sure it is set to
computer control (except for index 0 and index 1)
Setup each index AI as needed.
===============[AI Controllers]===============
Each player index has a controller type, changed by using the "Setup AI"
button.
Any AI setup under this button will affect any actor using that player index.
Controller Type defines what the actors do when they are not in combat. This
can be following a set of waypoints, standing still, wandering around, etc.
Move Target Tag is used when the controller type is set to waypoints or random
waypoints. It tells the AI which waypoints to use.
Move Type Priority tells the actor how determined they are to do what the
controller tells them too. If you set this high the actor will ignore anything
around them to try to follow its orders. If set above 8 an actor will run
rather than walk.
Working Zone is the area the actor spends most of his time in. This is not
mandatory.
Retreat Zone is where the actor will flee too if in trouble. If this isn't
set they will flee to the edge of the working zone.
Never leave zone. If this is set an actor will NEVER leave the working zone.
Be careful about using this, as it can cause some strange AI behavior, such as
refusing to take that last 2 steps so they can punch the player.
Aggression states how likely the actor is to attack an enemy, and how likely
they are to chase them down if they try to flee.
Communicate dictates how far around them the actor will inform friends when
they are attacked or when they see an enemy. 10 means the entire map, 0 means
the group doesn't communicate.
Mobility dictates how often the player will move when set to waypoints/random
waypoints/perimeter. If set at 10 they will constantly walk the path, 1 means
they will take a few small steps towards their next point and wait before moving
again.
===============[Entity Edit]===============
After placing the actors in the map it is possible to refine their AI more.
Click on entity edit, and select an actor.
Level is a base added to the characters current level. This modifies skills
as well so a higher level actor will have higher skills.
Race Type is the type of actor. There is little need to change this flag.
Gender should be fairly easy to understand. If not, seek help :)
Start Posture is what pose you want the character to default to. Useful for
solid emplacements or ambushes. Note that some characters done have the ability
to go crouched or prone.
Random Speech is the actors floating text. I'll go into more detail in the
speech section.
Click Speech is an actors speech when talked too.
Enable Scripted Events sends a message to the trigger handler any time this
actor performs an action using a skill. More details in the trigger section.
Is Recruitmaster/Quartermaster are both fairly self-explanatory, and shouldn't
be played with.
Can Barter/Can Gamble once again is to enable Bartering/Gambling for a
specific character
Tag Name is used to track specific actors and entities. Can be used in
triggers to select a single special actor in an otherwise normal player index.
It is also used to link keys to doors and switches to anything else. More in the
trigger section
Broken
Player Index lets you change an actors player index inside the editor. The
name associated with this player index is also displayed at the top of the
entity edit column.
Animation Rotation is the direction a character is facing. Most useful in
stationary actors to have them facing a useful and realistic direction.
Base/Skin/Hair/Team let you change an actor's colour clowning so that not
everybody looks the same.
Nature is used to make a character behave in a certain way. See natures
section
Tactic is also covered in the natures section
Use Cover defaults to on. When checked this actor will seek out cover when
attacked.
Use Sneak defaults to off. When turned on the actor will try to sneak if out
of LOS from the human player.
Sleeping defaults to off. This AI will sleep until woken by an Alarm, damage,
or close proximity to the player.
Item Tag is used for "looter" type characters. It specifies the tag name of
the item the character should try to get. Rarely used.
Taunts enables combat taunts (should always be set to racial unless you
specifically need a character to be silent during combat)
Trap allows you to add a trap to an item. Useful for doors and chests. Trap
entities can be found in \weapons\traps
Always Friendly means a character will never turn on the player (regardless of
how much you torment them :P)
Make Dead changes the actor to a corpse.
Start Burrowed is used for scurry robots only. It will start them hidden under
the ground, and they will pop up within a 10 metre radius.
Death Type lets you specify how a "Make Dead" character died.
Unconscious knocks the actor down. If the unconcious time is set to -1 the
actor stays that way until woken by healing. Otherwise, it will count in seconds
from when the mission starts
Immune friendly means that specific character will not be harmed by friendly
fire.
Injuries can be added to an actor. Be careful, as a character cannot walk with
two broken legs, or fire a weapon with a broken arm.
Hand/Armour overrides allow you to give a different weapon or armour to vary
your characters a bit more. Be reasonable with this, don't give raiders power
armour, etc.
Inventory items can be added to special actors from here as well.
Count is the number of the selected item (yellow) the entity will have.
Non-lootable is the number of the item that the player cannot loot. If you
have 30 bullets and you only want the player to see 5, then this should be 25.
===============[Nature]===============
Each actor can have an individual nature, chosen from the entity edit menu.
There are currently 8 natures to choose from.
===============[Tactics]===============
Hold means the character will try to remain in it's current position. There
are certain conditions that will cause a holding player to retreat, but for the
most part the player will try to hold it's combat position.
Advance is for characters you want to charge toward the player. Good for when
the computer player is attacking something defended by the player.
Retreat will cause the entity to run from any attacker. They will still return
fire, but will be backpedalling
Flank in will make the entity skirt around the attacker.
================================================================================
WAYPOINTS
================================================================================
Waypoints are a way of making actors walk around on the map in a realistic
way. Anything from patrols walking around a raider camp, to a citizen going
about their daily chores can be done with waypoints.
In the editor each waypoint is marked with an entity. Each waypoint in the
path must have the same player index (Normally 0) and the same tag name. The
waypoint entity can be found in the Misc directory.
There are two kinds of waypoint, "waypoint" and "waypoint_dir"
Waypoint_Dir will make the entity face in the direction indicated when they
reach that point.
===============[Ordered Waypoints]===============
Ordered waypoints are a list where the actor knows to walk from point A to
point B in a certain order. Each of the waypoints has an Index, starting at 0
for the first point in the path. When an actor reaches a waypoint they check
against the Next Waypoint list to find where to go next. Normally ordered
waypoints are in a loop, so that an actor walks from index 0, to index 1, to
index 2, etc eventualy ending up back at index 0, where they start the path
again.
It is possible to give a list of next waypoints that the actor can pick from,
instead of a single index. In the Next Waypoint list field just provide it a
list of different index numbers, each seperated by a comma. This is good for
creating a random wandering pattern, while maintaining some form of order.
For example: At waypoint 3 the next index is set to 4,5,6 which means that an
actor who walks to waypoint 3 will next goto either waypoint 4, 5 or 6.
It is possible to weight which waypoint will be selected next by putting the
more waypoints you prefer the actor to goto in multiple times, for example:
3,3,3,3,4 will give an actor a 80% chance of going to waypoint 3, and a 20%
chance of going to waypoint 4.
If a waypoint specifies either -1 or a blank for the next waypoint, then
actors will stop when they reach it.
===============[Actions at Waypoints]===============
================================================================================
ALARMS
================================================================================
Alarms are another special type of entity that works in conjunction with the
Squealer nature.
Each alarm is attached to a player index. When an actor with the squeeler
nature sees an enemy they search the world around them for an alarm. If they
find one it run to it and activate it (using the magic hands animation). When
activated it will cause any sleeping actor with the same player index as the
alarm to wake up.
If the human player uses an alarm before a computer-controlled actor then the
alarm is disabled, and can no longer be used.
================================================================================
SWITCHES
================================================================================
==========================================================================
SCRIPTING
==========================================================================
===============[Triggers]===============
If entities are the bones of scripting then triggers are the flesh that goes
over the top to make it complete.
You can use triggers to change how actors react to each other, to open and
close doors, or just about anything else you need to do.
In general the less triggers used the better. A mission that relies too
heavily on triggers will look and feel forced to a player. It is normally better
to let the actors run the mission, with triggers only where needed.
Triggers are made up of two parts, the Condition and the Action. When all of a
trigger Conditions are met the Action happens.
Several triggers and actions affect entire player index numbers, while others
only happen to a single actor. When a "list" box appears it contains a list of
all entities with a tag name set. This is how you can affect a single actor
within a large group.
===============[Actions]===============
Actions are what happens when a trigger is set off. There can be as many
actions set off as you want, but as with most things the less it has to do the
better it looks in the long run.
A Blocking action is one that will wait until it is executed before the action
after it in the cue can be executed.
Center View will center the view for the specified player on a tagged entity.
Shouldn't really be needed, as Force Speech has auto-centering.
Player Retreat Zone will change the retreat zone for the specified player
index.
Player Move State - Deactivate will deactivate the actors of the specified
player index, effectivly removing them from the map.
Player Move State - Stationary will change the specified player index to
stationary.
Player Move State - Follow will make the specified player index follow a
certain actor. Make sure the actor you specify has a unique tag name.
Player Move State - Waypoint will make the player index follow the waypoints
you specify, starting at index 0.
Player Move State - Flee will make the player index flee from where they are,
moving to their current retreat zone.
Player Priority will change the players priority settings, ie: move state,
aggression, mobility, etc.
Set Variable will set a variable that can be used in the conditions. All
variables are strings, with a unique name. If the Campaign Variable box is
checked then the variable is stored in the campaign data and can be checked in
other missions. All campaign variables should be prefixed with C_<variable
name>
Set Timer can either start a timer or add/subtract time on a current timer.
All times are measured in seconds, and timers can either increment or decrement
as needed.
Stop Timer will halt the specified timer.
Wait will cause a pause in your list of events, so you can have an event that
will happen over a period of seconds or minutes as needed. Make sure this event
type is set to Blocking or it will do nothing.
End Mission will drop the player out of the mission to whichever screen you
specify in the drop down menu.
Toggle Exit Grids will turn the exit grids on or off, letting players leave
the level if they are turned on.
Set Speech ***redundant DO NOT USE ***
Set Click Speech changes the speech node the character will use when clicked
on.
Set Random Speech will change the floating text that appears above the
specified entity.
Set Mission State will change which missions are open for players to visit.
Don't use without consulting with Ed.
Play Wav will play a sound file that you specify, centered on a tagged entity.
Kill Entity will kill an actor in the manner that you specify. Good stress
relief - set all actors to explode when you start the map when you need to blow
off steam.
Set Object Script State can be used to set object state to true or false.
Covered later on..
Set Team Alignment Matrix will change the relationship between two teams. The
change is one way, so to make two teams take a dislike to eachother you need to
do this twice, reversing the teams each time.
Display World Text will make a popup window appear in the players screen with
a message on it. The message is a tagged string from the speech file. See
speech for more details.
Start Combat Mode only works in turn based mode, and it forces the game to
switch to the turn based combat style rather than normal real-time movement.
Add experience will add an amount of experience to a tagged actor. If several
actors have the same tag name each actor gets the experience.
Force Speech will A) (for windowed text) center the camera on the selected
entity and they will say whatever speech node you specify. Or B) (for floating
text) simply force the entity to float the specified text.
Entity Speek ***Redundant DO NOT USE ***
Change team changes the team index for a player. Perfect for traitorous
dogs/turncoats.
Entity Chat ***Redundant DO NOT USE ***
Give Item to NPC will take a specified item from the player, and give it to an
NPC. (make sure the condition checks to see if the player has that item first)
Give Item from NPC to Human does the opposite. Great when you want a side
quest to reward a player.
Play Bink Movie does exactly that. Shouldn't be needed bar some specific
missions.
Lock/Unlock Door will do just what it says. It will not Open or Close a door
however.
Jam/Unjam Minimap used in Mis23 to prevent use of the minimap.
Ping on minimap will "ping" a circle of a specified color from a specific
location. Good for indicating objectives, but keep in mind the player may not
rely on the minimap at all.
Add Items to Quartermaster list is used to update the quartermaster's
inventory at BOS bunkers.
Add text to debrief text list will add some specific text regarding a mission
objective in a certain order.
Display debrief window and text will popup the debrief and and text that has
been added to it.
Modify RecruitPool List is used to change the Pool of recruits a t the BOS
bunker.
===============[Conditions]===============
For a trigger to "go off", all of a set of conditions must first be met.
There is no limit to the number of conditions you can assign to each trigger
(within reason :) ).
All of the conditions in the list must assign as true before the events will
occur.
Always. This trigger is always considered true, so the event will go off.
Useful for a trigger that is meant to happen at the start of a mission.
Never. The opposite of always. This trigger will never go off. Useful when
testing something and you need to disable the trigger without deleting it from
your list.
Speech Occurred is called when an actor says the matching speech node. More
details in the Speech section.
Skill Used. When the tagged actor uses the specified skill the trigger
occurs.
Variable. You can set and check variables inside the editor. This can be
used for when a player talks to actor X they are now allowed to do something
new. Variables are set as strings. If the campaign box is checked, then it
checks against campaign variables, otherwise only variables local to the map are
checked against.
Timer is called when the timer you specify matches the values you set in the
drop down menu.
The Most is mostly used for multi-player maps. You can specify this to go off
when a player index has the most of a wide range of factors, such as the most
alive, the most kills, the most hit points, etc
The Least works the opposite to The Most.
Quantity - Team works similar to The Most, checking if the team specified has
a certain number (or more than/less than) of a specified type.
Quantity - Player is the same, except it checks each player index rather than
each team.
Quantity - Unit is the same, expcept checks against tagged units rather than
team or player index.
Object Script State checks the state of tagged entities or containers to check
if they are open or closed.
All Alive at exit grid checks to see if all player characters left alive are
at the exit grid.
Can See checks to see if one player can see another. Use with caution, as Can
See has a range of 100 metres, and doesn't take LOS into account.
==========================================================================
SPEECH
==========================================================================
What fun is it having a world where nobody will talk to you? A world where
nobody can tell you how nice you are to save them, or where nasty raiders can
not tell you to go shove a cucumber up your bunghole? Well here's how to make it
happen. It may look complicated at first, but its quite simple when you get into
it, and lets you bring a level to life.
A speech file is a simple text document that contains all the spoken text for
a mission, as well as the brief/debrief messages and any tags for the minimap.
The format for a speech file must be followed closely so that the editor can
read it in correctly.
Each line of text, or node, is done in the format:
Speech_node_name = { speech }
For example:
M01_Hawkeye_A00_W= { WAZZUP! }
Mission No.
Character
Variation
Window(blank for floating)
The speech needed for each mission can be found in the mission speech files,
found in \\Avatar\Fallout\bos\core\locale\missions\
Each node is auto wrapping, and will delete any end-of-line characters it
finds. To add in an end-of-line use the special text: \n
The next step is to load the text file into the editor.
This is a simple task: go to the levels tab and select speech file. Browse to
your speech file and double click on it.
Now that the speech is loaded into the editor you need to assign each line of
speech to a node. Briefing and debriefing text are done automatically, so there
is no need to assign them.
In the levels tab select Speech.
Click on add..
Make sure you rename the node to something obvious and informative by
selecting the field above the Chat box.
For Conversations:
Check "Windowed"
The nodes are picked at random from these boxes. In most cases you will only
need a single line.
If you want an event to happen when the character speaks a certain line of
text then add a unique name in the event field. These can be used in the "speech
occurred" condition. This can be used in conjunction with the change speech
event to form a conversation tree.
If there are not enough lines to fill all the boxes then leave empty spaces as
is.
Once all the speech nodes are in place you can assign the actual speech to the
actors. Each actor can have one dialog node and one chat node assigned at a
time, and if they do not have anything set they simply will not talk to the
player.
Select the actor you want to add the speech too using the Entity Edit mode.
Use the rolldown menu labelled Random text to add a floating text node.
Use the rolldown menu labelled Click Text to add a dialog node.
The speech file you created for your mission also contains 3 other types of
messages apart from speech.
Mission brief/debrief text. If you have a line in the speech file with a
lable like: mission_XX_brief = { text } then that text will be shown to the
player when the first start the mission. For debrief text use
mission_XX_debrief = { text }
Minimap Objectives information is also stored in the speech file. The tags for
these are the same as a line of speech, using mission_XX_MM_01 = { text }.
Adding these into the minimap is covered in the next section.
World Text Message should be rarely used, but from time to time you may need
them. What they are is a popup window with your text displayed in it. Normally
it would be better to use an actor to give out messages to players in the form
of speech. The format for them is exactly the same as for a speech node, but it
is displayed using the event display_world_text.
===============[Killing Text]===============
So that characters don't keep saying the same thing over and over again, you can
add a "Speech Occurred" trigger that checks for the speech event, and when it
happens, the Action will change the speech to whatever you specify. If you want
them to shut up, leave the rollout blank.
==========================================================================
FINISHING TOUCHES
==========================================================================
===============[The Minimap]===============
The minimap (or Pip Map) is a useful way of giving players tactical information
before they enter the map.
It can contain a view of the whole map with certain locations marked in so
players do not go in blind.
HIDDEN MESSAGE: A big thanks to the entire Fallout: Tactics team for their
contributions to the creation of this document, and their excellent work on the
game. We hope you, the user, find it helpful, and we're sorry it couldn't be
more complete :) Mod away, folks! - ]ed[
//////////////////////////////////////////////////////////////////////////
// CAMPAIGN EDITOR HELP
//////////////////////////////////////////////////////////////////////////
General Definitions
Campaign File
- A Campaign in Fallout: Tactics is a way of presenting the player with a group
of Mission Maps.
- Each separate Campaign is stored in a .CAM file. The .CAM file contains all of
the campaign data, including Mission placement, Random Encounters, the World Map
Image, etc.
Mission
- Missions are placed in the Campaign by first assigning them tags in an
external campaign text file and then importing it. Missions include both Core
Missions (Single Player Mission Maps) and Unique Encounters
Random Encounter
- Random encounters are different to Missions in that they may only be entered
due to chance. They are also allocated in a different manner to nornmal
Missions, using a percentage chance per World Map Tile as opposed to a direct
location.
==========================================================================
MENUS
==========================================================================
===============[FILE MENU]===============
New (CTRL-N)
Create a blank .CAM file.
Open (CTRL-O)
Open an existing .CAM file
Save (CTRL-S)
Save the current .CAM file
Save As
Save the current .CAM file under a new name
Quit (CTRL-Q)
Quits the editor out to the main menu
===============[EDIT MENU]===============
Undo (CTRL-Z)
Undo the last action. Currently has infinite undos.
Redo (CTRL-Y)
Redo the last action that was undone.
Undo Options
Set the options for Undo (number of undos, buffer size)
===============[VIEW MENU]===============
Show Totals (ON/OFF)
Toggles visibility of the total average chance of a random encounter within a
Square.
===============[TOOLS MENU]===============
Import Image
Imports the World Map Image. This image must be in PNG format. This first
opens the Tile Size dialogue (leave as default if your map is the same size as
Fallout: Tactics), and then opens an file window.
Import Data
Imports the entire Campaign.TXT file.
Import Core
Imports only the Core Mission (mission maps used for Core Missions) data from
the Campaign.TXT file.
Import Special
Imports only the Special (Unique Encounter) Mission data from the Campaign.TXT
file.
Import Random
Imports only the Random Encounter data from the Campaign.TXT file.
Import Landscape
Imports only the Landscape (mission maps used for Random Encounters) data from
the Campaign.TXT file.
Import Prefabs
Imports only the Prefab Characters data from the Campaign.TXT file.
Import Recruits
Imports only the Recruits Pool data from the Campaign.TXT file.
Import QM List
Imports only the Quarter Master inventory data from the Campaign.TXT file.
================================================================================
FIELDS AND WINDOWS
================================================================================
===============[STATUS FIELD]===============
File Path
Displays full path for current .CAM file.
Res:
The first two numbers define the resolution of the area of effect (in tiles)
that will be affected by a left/right click in the Main Window.
The third number defines the percentage amount raised/lowered by each click.
FPS:
The frames per second.
===============[MODES FIELD]===============
Contains the buttons for the different editing modes: Pos, Core, Special,
Random and Landscape
===============[MODE-FUNCTIONS FIELD]===============
Displays different information and functions depending on the Editing Mode
chosen.
===============[MAIN WINDOW]===============
Contains a visual representation of the current .CAM file.
Missions and Encounters are placed and manipulated in this screen.
Operations within this screen differ between the different Editing Modes.
Any operation involving a percentage will have that percentage displayed per
tile, as well as have that tile color-coded dependent on the percentage (Green
for 0% up to Red for 100%).
================================================================================
EDITING MODES
================================================================================
===============[POS MODE]===============
Allows you to select the starting position for the campaign (the place where
the player will start when they first enter the worldmap).
Left-click in the main window to select the starting position.
===============[CORE MODE]===============
Contains a list of defined Core Missions.
By left clicking on an entry in the list, you can then left click in the main
window and position that Core Mission.
===============[SPECIAL MODE]===============
Contains a list of defined Special (Unique) Missions.
By left clicking on an entry in the list, you can then left click in the main
window and increase the percentage chance of the player encountering that
mission per tile.
The % chance is displayed in the main window per tile.
===============[RANDOM MODE]===============
Contains a list of defined Random Encounters.
By left clicking on an entry in the list, you can then left click in the main
window and increase the percentage chance of the player encountering that
mission per tile.
The % chance is displayed in the main window per tile.
===============[LANDSCAPE MODE]===============
Contains a list of defined Landscape Maps for use by the Random Encounters.
By left clicking on an entry in the list, you can then left click in the main
window and increase the percentage chance of the player encountering that
mission per tile.
The % chance is displayed in the main window per tile.
//////////////////////////////////////////////////////////////////////////
// ENTITY EDITOR HELP
//////////////////////////////////////////////////////////////////////////
===============[General Definitions]===============
Entities
- An entity is any object within a mission map that requires interaction.
- Entities are constructed using the Entity Editor outside of the Level Editor.
- There are some attributes of entities that can be edited once it has been
placed into a Mission Map.
- As stated elsewhere, there are different types of entities, each suited to a
particular purpose. These different entity types have totally different
attribute structures.
===============[Entity Definitions]===============
Actor
- Actors are one of the most common entities.
- Everything in Fallout: Tactics that can have an AI attached to it (and also
Speech) through the Level Editor has to be created as an Actor Entity.
- This includes NPCs, critters, turrets, etc.
- The Player Characters and Recruits Characters are Actor entities
Vehicle
- Used to create Vehicles (pretty obviously).
Breakable
- Any object in the game that can be targeted, damaged and destroyed.
- For example, the explosive barricades.
Deathtrap
- Used for objects that will do damage to the user when the object changes
state.
- For example, the Brain Extractor machine.
EffectSpawn
- Used to spawn any effect sprite under certain conditions.
- For example, the extra explosions that surround a pertol tanker when it is
destroyed.
Light
- Used to light Mission Maps.
Radiation
- Used to place radiation in Mission Maps.
Scenery
- Used to create non-interactive entities. NOT USED
ScenerySpawn
- Used to spawn ambient scenery animations, such as newspapers flapping in the
winds. NOT USED
SpawnPoint
- Used as the spawning point for actors, either in Single Player or Multi
Player.
StateBreakable
- Used to create an object that can become destroyed or broken when certain
conditions are met.
- For example, a power node that must be destroyed when a certain switch is
thrown.
StateScenery
- Used to create an object that must have multiple states which are toggled by
external conditions.
- For example, the alarm lights in the BOS bunkers which change from green to
red.
WayPoint
- Used to create an object that Player Controller AIs can use as a destination
in Mission Maps.
- For example, any patrolling NPC in a mission follows a set of pre-defined
waypoints.
- You should be able to use the default Waypoint Entity found in the
\ENTITIES\MISC folder
Alarm
- Used to create an object that will trigger other events when it is used. NOT
USED
Container
- Used to create any object that must contain items.
- For example, any locker, chest or crate.
Door
- Used to create a door that must be capable of sliding open/shut and being
locked.
- For example, the automatic doors in a Vault.
PowerNode
- Used to create an object that must be destroyable, but which will also repair
itself over time.
- For example, the self-repairing power nodes.
RotatingDoor
- Used to create any object that must be capable of being opened/shut and/or
locked.
- For example, the giant doors in the Raider missions, or any standard wooden
door.
ScienceSwitch
- Used to create a switch that can be toggled using the science skill.
Switch
- Used to create a switch object.
- The state of a Switch entity is usally checked against when triggering other
events or entities.
Ammo
- Used to create ammunition items.
Armour
- Used to create armour items.
Book
- Used to create book items, which can give the character a bonus to a specific
skill.
- For example, Maddock's Tricks and Traps which increases the character's Traps
skill.
Consumable
- Used to create any consumable item. Most consumables have an affect (positive
or negative) attributed to them.
- For example, Foods, Chems or Stim Packs.
Geiger
- Used to create a specific Geiger Counter item.
GenericItem
- Used to create GenericItems that serve no specific purpose.
- Most quest related items are made as GenericItems that have quest specific
tags.
Holodisk
- Used to create Holodisk Items, which when used will write a block of pre-
defined information to the PipBoy.
- For example, the General's letter to his wife.
Keys
- Used to create Keys, which must have the same Tag Name as the door it is
intended to unlock.
- Keys can be used on doors from an active hand, or can simply be in a
character's inventory.
Lockpick
- Used to create Lockpick items, which enhance a characaters skill in Lockpicks
when in an active hand.
RepairObject
- Used to create an object that can be damaged and repaired.
- Repair objects have a difficulty field at the top of their attributes which
defines what percentage chance a character will have when using the repair skill
on that object.
SkillConsumable
- Used to create items that require a skill roll to consume.
- For example, First Aid Kits and Doctor's Bags.
Trap
- Used to create Trap items.
- For example, Pressure Mines
TrapTrigger
- Used to create trigger items to be used in conjunction with explosive
entities.
- For example, the Remote Detonator item that triggers explosive packs.
VehicleWeapon
- Used to create the specific Tank Turret weapon.
Weapon
- Used to create the blistering array of weapon items.
- Weapons can be set up with multiple modes (minimum of one mode) which are
accessed in the game by right-clicking on an equipped weapon.
CaptureItem
- For items to be used in Multiplayer Capture the Flag maps.
==========================================================================
MENUS
==========================================================================
===============[FILE MENU]===============
New (CTRL-N)
Create a blank .ENT file. This opens the "New Level" Dialogue.
Open (CTRL-O)
Open an existing .ENT file
Save (CTRL-S)
Save the current .ENT file
Save As
Save the current .ENT file under a new name
Print
Print the current .ENT file
Update
----
Open CHR
Open an existing .CHR file
Save CHR
Save the current entity as a .CHR file
Quit (CTRL-Q)
Quits the editor out to the main menu
===============[EDIT MENU]===============
Undo (CTRL-Z)
Undo the last action. Currently has infinite undos.
Redo (CTRL-Y)
Redo the last action that was undone.
Undo Options
Set the options for Undo (number of undos, buffer size)
===============[VIEW MENU]===============
Sprite (ON/OFF)
Toggles visibility (usually) of the sprite applicable to the racial type
selected. Please note that the sprite sometimes fails to display.
===============[MAKE MENU]===============
The Make Menu is a shortcut button that performs the same functions as the
Edit Menu\Edit Character Stat/Trait option. Only applicable when editing an
Actor entity.
===============[LEVEL MENU]===============
The Level Menu is a shortcut button that performs the same functions as the
Edit Menu\Edit Character Skill/Perk option. Only applicable when editing an
Actor entity.
================================================================================
FIELDS AND WINDOWS
================================================================================
===============[STATUS FIELD]===============
File Path - Displays full path for current .MIS file. Unfortunately this field
sometimes displays over the top of the Make and Level Menu buttons.
===============[MODES FIELD]===============
Contains the buttons for the different editing modes: New, Edit, View, Make
and Level
!!!! PLEASE NOTE: Several entity types will not display a name heading at the
top of the window, but will display a blank collapsible window bar. This bar may
represent a collapsed window which contains extra attribute data. Please click
on and expand any blank bar to make sure you're not missing an attribute field.
!!!!
===============[MAIN WINDOW]===============
Displays the sprite related to the current .ENT file.
===============[DIRECTORY FIELD]===============
Contains a Change Dir button that allows the user to select a directory of
entities to edit.
Below the Change Dir button is a field that displays a list of all of the
entities in the currently selected directory.
Single clicking on an entity will bring up its properties in the ENTITY
ATTRIBUTES field.
Single clicking on a different entity after editing the currently selected one
will result in the edited entity being force-saved (which cannot be undone), so
be wary when using this function.
//////////////////////////////////////////////////////////////////////////
// MAKING MULTIPLAYER MAPS
//////////////////////////////////////////////////////////////////////////
Fallout: Tactics allows a reasonable degree of freedom with its scripting for
multiplayer missions, and the creative minded could no doubt create some fairly
unique gameplay in their maps. This document will outline all the basics, and
then move onto specifics to make sure you can get your map working.
===============[Design]===============
The first thing to think about when building a multiplayer map is the design.
Decide what type of gameplay you want your map to have, and sketch a design. You
should also think about the theme and setting of your map. This is a very
important stage, and you will find that it will make things much easier, and
your map more playable if you can work out exactly how you want it to look and
play before you begin construction. Also think about the mode you expect your
map to be played in. TB mode is more fun in tighter maps, whereas CTB plays
better on larger scales. Try to include choke points, defensive points, multiple
entries in your initial design (more on map features to follow.)
For your first pass, keep it simple. A top down sketch will suffice, being
mindful to include any major features. Your second design pass should include a
good degree more detail, even to the point of outlining the complete structure
of the map on paper. Most of the structure is drawn here, and it saves a lot of
time and effort when spotting potential bad features of the map.
===============[Map Features]===============
Map features are what makes your map fun and interesting to play. Most are
fairly obvious, for instance an Assault map should have a good defensive
position with plenty of cover, but it shouldn't be too easy to defend. Any maps
with a specific flow of movement (ie Assault or CTF) should also include a mix
of chokepoints and open spaces. The most important map features are outlined
below:
Chokepoints
- are also important in goal based missions. If you are making a single flag
capture map, try to make it so that the players will all get funnelled into the
same area. For assault maps, give the player many routes to take, but once they
get near the base, they should be "choked" into about 3 entry points, otherwise
the defenders will find it too difficult to defend.
Obstacles
- are good for controlling the flow of the game. If you are making a vehicle
based mission, then it is a good idea to make areas where foot soldiers can go,
but vehicles can't. The best example is "Motor Sports". Note how all the roads
are clear, so a player who chooses to drive is given the advantage of speed and
armor, but there are also points where the player will need to be on foot. There
are also the auto gates at each player start, which prevents the player with the
fastest trigger finger getting off to a good start.
Mini Objectives
- can also provide a more interesting scenario for the player. It could be
anything from a gate that provides direct access to the players goal, but to
switch to open the gate is in a well defended position. Another mini objective
could be a turret in centre of the map, which is powered by a node somewhere. If
you really wanted, you could probably create a complex switch puzzle that nukes
the opposing team, but remember that the bottom line for gameplay can be
simplified to "Is it fun?"
Skills
- are a major part of FO:T, and you should take advantage of this when designing
your map architecture. Reward the player who has a character with 120%
lockpicking, but don't reward too much, because then everybody will take
characters with uber lockpicking abilities when they play your map. Put nice
dark places for sneaky characters; weigh up the pros and cons of short-range
weaponry vs long-range weaponry. Many of these features can come about by
accident, but be aware of their uses.
===============[Construction]===============
So now you have a spiffy design whipped up, and it's time to start building your
level. It is assumed that a reasonable knowledge of the Level Editor has been
attained.
Simplicity - Try to keep everything pretty simple. You may want to make a big
pretty map with lots of bushes and scenery around, but remember that gameplay is
the main idea here.
Theme - This should've been decided when you were planning out the design of
your map, and there are a few good reasons. The first is purely aesthetic. A map
that pits a tech style base against a raider stronghold is interesting, and can
make a map look good without too much attention to detail. The second reason is
that the less tile variations the engine needs to cache the better. It will run
faster, and use less memory, so try to re-use cool looking tiles. The third
reason is so that your map is memorable. A map that is easily remembered will
get played more often, and who doesn't want to see their map getting regular
play :)
Work within the limitations - because FO:T uses an isometric engine, players
and objects can easily get hidden or disguised. Try to work around these limits
so that gameplay is not hindered by the interface. Ladders and stairs should be
in full view, entry points should be easily spotted, and in general, the player
should not be able to exploit the game.
Gameplay first - and then creative flair. You should have the gameplay of your
map playing exactly as it was intended before your start putting in eye candy. A
nice looking map is a bonus, but once again remember that gameplay is the most
important feature.
Line of Sight - is an often overlooked aspect, but is very important. In a map
with 16 players, keeping all players out of the enemies LOS can be difficult. If
you are aware and plan for it, it makes the task less daunting, and will save
you quite a few late revisions.
===============[Skirmish]===============
Skirmish mode is the simplest form of Multiplayer, with either every man for
himself, or team skirmish, depending on how the map is setup:
General tips:
Try to design the map keeping all design aspects in your head, arguably the
most important facet in Skirmish is LOS.
Give a nice scattering of cover. Empty spaces aren't fun or tactical.
Be conscious of "camping sites" Anywhere with 360 degrees of defence is a
potential gameplay breaker. 3 walls max on any small buildings is a good limit.
As you design the map, think of how easily a player with 6 characters could
defend a given position. If you think it could be a potential camp site, it
probably is, so make sure you include weak points.
Be fair to all players. If your map has only 7 equally balanced starting
positions, then set the player limit to 7, don't add in an extra disadvantaged
spawn point just to make an even number.
Team Skirmish
Set the game type to "Skirmish" on the level tab.
Specify the amount of players. Remember you have a max of eight teams, to try
to keep any teams even. (ie a max of 17 would be stupid, because the teams
wouldn't be even)
Click on the "teams" button, and adjust the team matrix so that all teams hate
each other. If you want the teams to have names, specify them here.
Make sure the player list is empty, except for Scenery, and the default human
player. Set both to disabled.
Add in your "SpawnGeneric" ents. Feel free to give desired team numbers
accordingly.
If you choose to, you can select "No team" on the MP setup screen to play Free
for All.
Special Instances
If you want to name individual players you can add them into the player list,
and set them to "Human" Set team to 0 unless you want players to be assigned to
a specific team. If there aren't enough player groups for everyone in the game,
nameless player groups will be assigned.
If you care where the individual player groups are spawned, then use
"SpawnPlayer" ents with the appropriate player numbers assigned.
===============[Assault]===============
Assault is a team based mode of play, generally with a defending team and an
attacking team. It is possible to have two teams trying to assault each others
base too, and theoretically you could have an 8-way assault map, but this
contravenes the golden rules of Multiplayer Mapping.
General Tips
Good defensive positions are important for Assault, but don't make them
impregnable. It is very easy to make an impregnable map, so think about it in a
gameplay sense. Imagine half of your max players (assuming two teams) all set up
with sniper rifles, mines and plenty of medical gear. The attackers need a good
fighting chance, so be very wary of how much the bias tends toward the
defenders.
Make it clear what the player's goal is instantly. Not too difficult, but it
can be overlooked.
Try to keep a fair bit of space between the attackers and defenders. The games
last longer and are more tactical if you give the defenders time to set up a
decent defence.
As always, keep it simplistic.
Specifics
Assault maps need a goal. It can be just about anything, as long as you can
link it to a trigger. Generally you would use a switch or a destroyable entity,
but within the rules, you could have somebody to assassinate, a bomb to disarm,
or whatever you should choose. Most of the official FO:T maps use switches
because they require the player to get right up next to it to pull it.
Destroyables can be shot from a distance, but this is not necessarily a bad
thing, as it provides a different challenge.
Specify the maximum amount of players. Theoretically there is no limit, but 18
is the recommended maximum.
Make sure the player list is empty, except for Scenery, and the default human
player. Set both to disabled.
Set up your teams. In an attackers vs defenders scenario, use "team_attackers"
and "team_defenders" to access localised text.
Use "SpawnTeam" ents to differentiate the teams. Put whichever team you want
in the "desired team" field.
Special Instances
If you want to name individual players you can add them into the player list,
and set them to "Human" Set team to 0 unless you want players to be assigned to
a specific team. If there aren't enough player groups for everyone in the game,
nameless player groups will be assigned.
If you care where the individual player groups are spawned, then use
"SpawnTeam" ents with the appropriate player numbers/teams assigned.
===============[CTF]===============
CTF is like assault, but it requires you to get a capture item (flag) and return
it to your own capture item. Once again, two opposing teams are the standard,
but it is possible in theory to have up to 8 teams. For every capture, the team
is awarded a point. When a team reaches the capture limit (which is defined by
the server) they win.
General Tips
Symmetry is usually good in a CTF map. It means you can play on either team,
and be familiar with the base etc. It also means that teams should be fairly
well balanced.
Make it obvious where the flag should be. Coloured lights are also kind of
cool to indicate flag rooms (the flag room needs to be obvious without the
flag.)
Defences/Multiple entry point stuff outlined earlier is good for CTF.
The most tried and tested CTF style is that of two equal bases and a largish
"no-man's land" in between.
Specifics
Flags are the central item in CTF. Make sure there is one for each team, and
that they are colour coded accordingly. The Flag entity can be found in the
"misc" directory. The "Capture Team" field should index the team that owns the
flag, not the team who wants to capture it.
Specify the maximum amount of players. Theoretically there is no limit, but 18
is the recommended maximum.
Make sure the player list is empty, except for Scenery, and the default human
player. Set both to disabled.
Set up your teams. Name them something appropriate (ie Red/Blue)
Use "SpawnTeam" ents to differentiate the teams. Put whichever team you want
in the "desired team" field.
Special Instances
If you want to name individual players you can add them into the player list,
and set them to "Human" Set team to 0 unless you want players to be assigned to
a specific team. If there aren't enough player groups for everyone in the game,
nameless player groups will be assigned.
If you care where the individual player groups are spawned, then use
"SpawnTeam" ents with the appropriate player numbers/teams assigned.
===============[Scavenger]===============
Scavenger mode is very similar to Skirmish, but has the added goal of retrieving
a certain amount of special items. This means that players must play as if they
were playing Skirmish, but it also means that camping is no longer a valid
tactic.
General Tips
Keep all the Skirmish rules in mind when making a scavenger map.
Try to make all items even distributed according to spawn points, it won't be
fun if other players have a distinct advantage over others.
Try to make the tagged items something fairly unique and obvious.
Specifics
CaptureItem entities that must be scavenged all need to have the same TagName.
Specify the maximum amount of players. Theoretically there is no limit, but 18
is the recommended maximum.
Make sure the player list is empty, except for Scenery, and the default human
player. Set both to disabled.
Set up your teams the same way you would set up Skirmish.
Add in your spawn points. Generally you should use "SpawnGeneric" entities
with no player or team specified. Remember the same rules applied in Skirmish
mode should work here.
Custom multiplayer modes are where creative thoughts can roam free. The only
real bounds of custom multiplayer are that there must be spawn points, and end
conditions.
General Tips
Custom is not limitless. While there is quite a bit of versatility, if it
can't be done using existing triggers, it can't be done. You could create a
racing map. You probably couldn't create an isometric Speedball map, but that's
not saying you can't try.
Try to use the strengths of the game. Scenarios involving shooting of things
work well, because that's what the game is about.
It should be fun. Bottom line. If you want people to be playing your map, they
need to enjoy it.
The more scripting you use, the more data has to be shared between clients.
Keep it as simple as possible.
Specifics
While all generic modes have hard-coded scoring etc, for custom modes you will
need to use manual triggers for scoring, and resetting of maps. The pertinent
triggers are as follows
MP - Team meeting condition wins: will compare a quantity to the <fraglimit>.
Should persist. (Always/Preserve)
MP - End Game: will assign the win to whichever player you specify.
MP - Team with the most wins: Lets you compare various quantities between
teams to decide a winner - ie The team with the most kills wins. Should be used
in conjunction with the MP - Game Timed Out Condition.
MP - Team with the least wins: The inverse of the above, can be used to
specify conditions like "The team with the least deaths wins"
The same rules with spawn points are applied in custom modes. If you want
teams, use "SpawnTeam" entities.
The only truly important triggers, are the Multiplayer victory triggers. Make
sure these are in and appropriately scripted.
Playtest. Because there are no set guidelines to follow, making it work is up
to you.
Create a final trigger, call it something meaningful, like "GAME TIMED OUT -
Defenders". It should be set up as follows
- Conditions
MP - Game Timed Out
- Actions
MP - End Game: team_defenders
When the attackers reach the score defined by the server, the game should jump
to the victory screen. If the defenders wipe out the defenders the set number of
times, they are the victors.
===============[Golden Rules]===============
Design - You should be able to see your map in your mind, play it in your mind
before you even open the editor. You should be able to put it down on paper, or
explain its gameplay to someone in a paragraph. Design is the most important
thing when making a multiplayer map.
Simplicity - Keep it simple. Nobody wants to spend 10 minutes learning how to
play a map, the want to jump in and play it straight up. Also, from a design
point of view, the simpler it is, the less can go wrong.
Work within the limits - You need to know both your limits and the engine
limits. If you are making your first map, don't try to build an epic 8x8 region
map using 7 different tilesets. Start easy, and work up to it. Remember the
engine can block the view of items or players, and can be advantageous to one
team or another.
Keep it tactical - It's a tactical game, so make your maps tactical. If you
have too many wide open spaces, fill them with cover. If you find your map is
too cramped, take out a wall or two here and there.
Fun - The bottom line for any gameplay experience boils down to three words:
IS IT FUN? If you don't enjoy your maps, chances are no-one else will. This
little mantra is the unofficial motto of the Microforte script monkeys. If it's
not fun, it needs to change.