Fred Designers Manual

What’s on the Screen	
The Grid	
Objects	
The Background	
Position Indicator and 3D Compass	
The Infobar	
Concepts	
Wings	
Waypoints and Waypoint paths	
Mission objectives	
Events	
Marked objects and the current object	
User Interface	
The Toolbar	
Pointer button	
Move button	
Rotate button	
Axis button	
Y, Z, XZ, YZ, XY buttons	
List button	
Lock button	
Create Wing button	
Disband Wing button	
Zoom Selected button	
Zoom Extents button	
Show Distances button	
Rotate around Object button	
Object list pull down	
The Mouse	
Left click	
Right Click	
On ship menu	
Stuff in the Menus	
Revert (File menu)	
Delete (Edit menu)	
Delete Wing (Edit menu)	
Display Filter (View menu)	
Hide Marked Objects (View menu)	
Show Hidden Objects (View menu)	
Show Ship Models (View menu)	
Show Outlines (View menu)	
Show Ship Info (View menu)	
Show Coordinates (View menu)	
Show Grid Positions (View menu)	
Show Horizon (View menu)	
Double Fine Gridlines (View menu)	
Anti-Aliased Gridlines (View menu)	
Viewpoint (View menu)	
Save/Restore Camera Position (View menu)	
Speed menu	
Editors menu	
Groups menu	
Level Object (Misc menu)	
Align Object (Misc menu)	
Mark Wing (Misc menu)	
Control Object (Misc menu)	
Next/Previous Object (Misc menu)	
Adjust Grid (Misc menu)	
Error Checker (Misc menu)	
Show Sexp Help (Help menu)	
The Editors	
Ships (shift+s)	
Select Ship	
Ship Name	
Ship Class	
AI Class	
Team	
Cargo	
Wing	
Hotkey	
Persona	
Score	
Prev	
Next	
Delete	
Reset	
Weapons (weapon subeditor)	
Player Orders	
Misc	
TBL Info	
Initial Status	
Initial Orders	
Arrival / Departure	
No Warp Effect	
Wings (shift+w)	
Select Wing	
Wing Name	
# of Waves	
Wave Threshold	
Hotkey	
Reinforcement	
Ignore for Counting Goals	
No Arrival Music	
No Arrival Message	
No Dynamic Goals	
Prev	
Next	
Delete Wing	
Disband Wing	
Initial Orders	
Hide Cues	
Arrival / Departure	
No Warp Effect	
Objects (shift+o)	
Position	
Point to:	
Waypoint Paths / Jump Nodes (shift+y)	
Select Waypoint Path	
Mission Objectives (shift+g)	
Display types	
Current objective type:	
Name	
Mission Goal text	
Rating	
Score	
Team	
Objective Invalid	
Don’t Play Completion Sound	
New Obj.	
Events (shift+e)	
New Event	
Insert Event	
Delete Event	
Repeat Count	
Interval Time	
Score	
Chained	
Chain Delay	
Directive text	
Directive Keypress Text	
New Message	
Delete Message	
Name	
Message text	
Message Properties	
Update Stuff	
Team Loadout (shift+p)	
Select Team	
Available Starting Ships	
Amount used in wings	
Single Player Start	
Available Weapons Pool	
Amount used in wings	
Player Entry Delay	
Background (shift+i)	
Number of Stars	
Takes place in subspace	
Nebula	
Reinforcements (shift+r)	
Add	
Delete	
Uses	
Delay After Arrival	
Asteroid Fields (shift+a)	
Select Field	
Enabled	
Density	
Average Speed	
Min / Max values	
Mission Specs (shift+n)	
Title	
Designer	
Game Type toggles	
Multiplayer game type	
All teams at war	
Red Alert Mission	
Scramble Mission	
Disallow support ships	
Max respawns	
Music	
Mission Description	
Designer Notes	
Briefing (shift+b)	
Select Team	
Prev	
Next	
Save View	
Goto View	
Add Stage	
Insert Stage	
Delete Stage	
Cut to Next Stage	
Cut to Previous Stage	
Camera Transition Time	
Voice Wave File	
Briefing Music	
Text	
Usage Formula	
Current Icon Info	
Debriefing (shift+d)	
Select Team	
Prev	
Next	
Add	
Insert	
Delete	
Voice Wave File	
Text	
Recommendation Text	
Usage Formula	
Shield System	
Command Briefing	
Select Team	
Prev	
Next	
Add	
Insert	
Delete	
Briefing Text	
Ani Filename	
Wave Filename	
Campaign (shift+c)	
Other menu	
Initial Status	
Available missions	
Campaign Name	
Type	
Campaign Description	
Briefing Cutscene	
Branches	
Right click options	
S-expression Trees	
Rules	
Putting it all together	
Start by placing a few ships.	
Set up ship attributes	
Make the groups of ships wings.	
Assign initial orders.	
Multiple Waves.	
Arrival time	
Ship weapons	
Player Orders	
Mission Objectives	
Events	
Loadout Ships	
Loadout Weapons	
Adjust the background	
Assign reinforcements	
Asteroid Fields	
Mission specs	
Briefing setup	
Debriefing setup	
Campaigns	

Introduction
Welcome to the wonderful world of mission and campaign editing.  This document is designed to get you started, as well as answer questions that may arise as you are creating missions and campaigns.  It is recommended you print this out and refer to it as you work with Fred.  If you don’t have a means to print this out, you can instead load it up and refer to it when necessary (or keep it loaded as the same time).

The sections following this one work in a linear fashion from the most basic and fundamental principles and concepts up to the most advanced.  If you need to refer to something within this document, keep in mind that the further into the document it is, the more complex it is likely to be.  You may need to refer to earlier sections if something isn’t clear.  We recommend reading or skimming this whole document with Fred up and running, so you can see what is being explained and play with it a little bit.

What’s on the Screen

The Grid
The grid is used primarily as a reference for objects.  The grid is normally aligned with the XZ Plane, but this can be adjusted to any of the 3 axial planes.  The grid is composed of a larger grid and a smaller, dimmer grid within the larger grid (which provides finer detail close to you).

Objects
Various objects in a mission appear at their starting locations in Fred.  Objects include ships and waypoints.  Depending on what display options you have selected, ships can appear as textured models, wireframe models or spheres.  Waypoints always appear as spheres.
The color used for sphere or wireframe rendering indicates what an object is.  Blue for friendly ships, red for hostile ships, blue-green for neutral ships, brown for unknown ships, purple for waypoints, and green for player ships.

The Background
The background is composed of the starfield, nebulas and background images.  These are all editable by you, the mission designer.

Position Indicator and 3D Compass
In the upper right hand corner of the view window is the camera position indicator (x, y and z coordinates) and a 3D compass.  The compass has three arms, colored red (x), green (y) and blue (z).  They show the orientation of the world’s axis system relative to the camera orientation.  For example, if the green arm is pointing straight up, then the positive Y axis is straight up.  If the colors appear dim it is pointing away from you, and if bright, pointing toward you.

The Infobar
The infobar (located along the bottom of the window) has several cells, which are, from left to right: 1) context information cell, 2) number of marked objects counter, 3) viewpoint indicator (who’s eyes you are looking through in the view), 4) modified mission indicator (blank if mission hasn’t been modified), and 5) the grid scale indicator.  The small grid squares are 1 x 1 unit each, while the larger, brighter grid squares are 10 x 10 units big.

Concepts

Wings
To make things easier, you can turn groups of ships into wings (not required).  This can make it easier to do things like issue orders to all the ships at once, etc.  A specific ship in a wing can still be explicitly referred to if you wish to do so.  Ships that are grouped into a wing will take on the name of the wing plus a number to indicate their position in the wing.  Wings cannot use a name already used by a ship or waypoint path.  Wings are formed by marking a group of ships and then selecting the “form wing” option on the toolbar.

Waypoints and Waypoint paths
Waypoints are objects (invisible in the actual game) that are used for navigation purposes by the AI controlled ships (i.e. any ship a player doesn’t control).  A waypoint path is a collection of 1 or more waypoints linked together to form a path for an AI ship to fly.  Every waypoint has a waypoint path it is a part of, and can’t be in more than one path.  You can give these paths any name you wish, but it can’t conflict with the name of any ship or wing.  A waypoint is then referred to by it’s waypoint path name and it’s position in the path separated by a colon.  For example, if you have a waypoint path called “Charlie”, then the first waypoint in that path would be referenced by “charlie:1”.  Since waypoints are objects as well as ships, they can be used for certain operations, such as distance checking, etc.

Mission objectives
Progress of the player(s) in a mission is determined by the mission objectives, which you the designer have full control over.  Each mission objective is controlled by an sexp tree, which determines if the objective is satisfied or failed (see “sexp trees” section for information on what an sexp tree is and how it works).

Events
The various events you might want to occur in a mission is controlled by the events editor.  Each event is an sexp tree.  It makes complex behaviors possible that wouldn’t be possible with simpler methods.

Marked objects and the current object
You can mark a group of objects and operate on them all at once in some cases (where this is supported).  When you mark a group of objects, a count of how many objects you have marked will appear in the 2nd cell of the infobar (see above for into on this).  These objects will also be highlighted in yellow.  There will also always be one object that is highlighted in white instead of yellow, and this represents the current object.  For anything that can only operate on one object, it will use the current object.  The current object also acts as the anchor for the marked group, for example, when rotating objects, the current object acts as the origin of rotation.

User Interface

The Toolbar

Pointer button
This switches to select mode.  The cursor will only select objects.

Move button
This switches to move mode.  The cursor will now move the selected object if it is clicked and dragged.

Rotate button
This switches to rotate mode.  The cursor will now rotate the selected object if it is clicked and dragged.

Axis button
Rotate the selected object(s) around the local axis.

Y, Z, XZ, YZ, XY buttons
Constrain motion to selected axis or plane.

List button
Select a ship in the mission by name.

Lock button
Lock the current selection set.  Moving and rotating will affect all selected ships.

Create Wing button
Create a wing with selected ships (up to four ships.)

Disband Wing button
Makes the ships that were in the selected wing no longer part of a wing, but does not remove them from the mission.

Zoom Selected button
Move camera so that all selected ships are in view.

Zoom Extents button
Move camera so that all ships are in view.

Show Distances button
Display the distance between selected ships.

Rotate around Object button
Sets the viewpoint or camera pivot to that of the selected ship.

Object list pull down
Lists all objects available to place in the editor.

Note: All ships have a two to four letter designator prefix.  These denote the type of ship:
•	GTF	=	Galactic Terran Fighter
•	GTB	=	Galactic Terran Bomber
•	GTDR	=	Galactic Terran Drone
•	GTFR	=	Galactic Terran Freighter
•	GTS	=	Galactic Terran Support
•	GTC	=	Galactic Terran Capital
•	GTSC	=	Galactic Terran Science
•	GTD	=	Galactic Terran Destroyer
•	GTI	=	Galactic Terran Installation
•	GTT	=	Galactic Terran Transport
•	GTSG	=	Galactic Terran Sentry Gun
•	GTEP	=	Galactic Terran Escape Pod
•	PVx	=	Parliamentary Vasudan ship type
•	Sx	=	Shivan ship type

The Mouse

Left click
When you left click, you will select whatever is currently beneath your pointer.  Click and drag (not on an object) to select multiple objects with a bounding rectangle.  Click on an object and drag it to move or rotate it (or group).

Right Click
Right clicking in an open area will bring up a menu with the following items:
Show ship models
Draw the 3D model for all ships in the display window.

Show outlines
Draw the ship outlines.  This can be turned on in conjunction with Show ship models or can be used alone to speed up the editor (render wireframe).

Show ship info
Display ship names and type in the window.

Show coordinates
Display coordinates for all ships in the window.

Show grid positions
Draw a line from the ship to its relative location on the grid.

Show distances
Draw a line that shows the distance between the selected ships.

Control mode
Either Camera or Current ship, indicates what movement and translation keyboard controls affect.

Viewpoint 
Either Camera or Current ship, indicates what the current viewpoint is from.

New Object Type
Waypoint -- The next object placed will be a waypoint.
Player Start -- The next object placed will be the player start.
Jump Node -- The next object placed will be a jump node.
Terran --lists all the Terran ships.
Vasudan -- lists all the Vasudan ships.
Shivan -- lists all the Shivan ships.

On ship menu
Right clicking on a ship will bring up this menu.

Edit <shipname>
Opens the ship editor (to edit given ship).

Edit Position and Orientation
Opens the object editor.

Edit Wing
Opens the wing editor.  Note: The ship must be in a wing.

Stuff in the Menus

Revert (File menu)
Revert causes the currently loaded mission to be reloaded from the point it was last saved.

Delete (Edit menu)
This will delete the objects you have marked.

Delete Wing (Edit menu)
This will cause the wing that the currently selected object is in to be deleted.

Display Filter (View menu)
This option will bring up a dialog that will allow you to select what objects will get displayed and which won’t, based on characteristics of the objects.

Hide Marked Objects (View menu)
This will cause all the objects you have marked to be hidden, so they don’t clutter up your view.  Hidden objects also can’t be selected.

Show Hidden Objects (View menu)
If you’ve hidden objects with the above option, this will make them all show up again.  This doesn’t affect settings you made in the display filter dialog.

Show Ship Models (View menu)
This will make ship objects appear as textured models.  This looks nicer, but can slow things down more as well.

Show Outlines (View menu)
This will make ship objects render a wireframe model.  This works with s textures on or off.  If texture models are on, this can indicate at a glance what all the ships are (player ships, or what team they are on).  With textures off, you can still get an idea of the size and orientation of all the ships without the speed hit caused by textured models being displayed.  If both ship models and outlines are off, ships will render as spheres.

Show Ship Info (View menu)
This option makes objects all show some information next to them in the view.  This can be useful to see what is what, but can clutter things up sometimes.

Show Coordinates (View menu)
This option shows object coordinates next to all objects.

Show Grid Positions (View menu)
This option causes objects that are not on the grid to draw elevation lines perpendicular to the grid so you can tell where the object is using the grid.

Show Horizon (View menu)
This option causes a line to be drawn at the exact horizon level of the grid.  This can be useful to tell when you are still on the grid, and when you are off the grid.

Double Fine Gridlines (View menu)
This option causes there to be more small gridlines to be drawn out.

Anti-Aliased Gridlines (View menu)
This option causes the grid to be drawn with anti-aliased lines.  This tends to slow rendering down quite a bit, so if it’s too slow, you might want to not have this on.

Viewpoint (View menu)
This lets you select from where you want to look, either the camera or from the currently selected object.  While viewing from an object instead of the camera, moving will cause that object to move.  So you can fly ships around to where you want them if you wish, point them in the direction you want them to look, etc.  Useful for player ships, so you can tell what they are going to see when they start the mission.

Save/Restore Camera Position (View menu)
This allows you to save the position and orientation of the camera, and restore it again later.  It’s like a bookmark you can set, go off and look at something else somewhere, and then come back to exactly where you were.

Speed menu
This menu lets you set the movement and rotation speed of the camera (or selected object if controlling it) using the keyboard’s keypad keys.  If it seems too slow or too fast for what you want, this is the place to go.

Editors menu
This menu holds all of the various editor dialogs, which are discussed in the next section.

Groups menu
The groups menu lets you set and select “marking groups”.  Basically, you can mark some objects, do a “group set”, and now whenever you select that group from this menu, the objects you had marked when you set that group will be what is marked once again.  Useful if you want to work with groups of ships but don’t want to actually turn them into a wing (or can’t).

Level Object (Misc. menu)
This option causes the camera (or the marked objects, if controlling them) to become leveled to the grid (i.e. object’s local Y axis matches grid’s normal vector).

Align Object (Misc. menu)
This option causes the camera (or the marked objects, if controlling them) to align it’s local axes to the world’s axes that are closest.  This doesn’t force necessarily force the object’s Y axis to point the same direction as the world’s Y axis, but it does force it to be aligned with one of the 3 world axes.

Mark Wing (Misc. menu)
This option causes the wing the currently selected ship is in to be marked.

Control Object (Misc. menu)
This option lets your flying control keys (keypad keys) to move and rotate the selected object instead of the camera (viewpoint remains with the camera, however).  If you change viewpoint to an object, this option is activated while you are in that viewpoint implicitly.

Next/Previous Object (Misc. menu)
These let you select the next or previous object in the marked objects, or all objects if only one object is marked.

Adjust Grid (Misc. menu)
This option brings up a dialog that will let you change the characteristics of the grid.

Error Checker (Misc. menu)
This option checks the mission for any situations that will cause errors in FreeSpace if not corrected.  Saving and loading automatically performs this operation as well.

Show Sexp Help (Help menu)
This option causes any editor dialogs that contain an sexp tree control to also display a window at the bottom of the dialog box that provides help on the selected sexp operator in the tree.

The Editors

Ships (shift+s)

Select Ship
This pull-down lists all the ships in the mission.  Any ship can be selected from this list for editing in the ship editor.

Ship Name
This field allows the name of the ship to be changed.  Ships that are part of a wing cannot be changed.

Ship Class
This field shows the class of the currently selected ship(s).  The field is also a pull-down list that allows the ship class to be changed while retaining the information about that ship.

AI Class
This field allows the “intelligence” level of a ship to be adjusted.  Coward will run away.  General will usually win.

Team
There are 4 team selections that will affect who a ship will fire upon.  Friendly and Hostile ships will fire on all ships not on it’s team.  Neutral ships will fire on all other teams except for hostile (unless a hostile fires on it, in which case it will return fire).  Unknown ships won’t fire on any other ships until first fired upon

Cargo
Ships can “carry” cargo.  This is where the cargo is designated (It can be anything string).

Wing
This tells if the selected ship(s) is in a wing.

Hotkey
This is for the assigning of a default hotkey group to the ship(s).

Persona
The persona determines which voice the selected ship(s) will use when sending messages in the game.

Score
The point value assigned to a ship.  This score will be awarded to whomever destroys the ship.  Scores are used to determine if a player should gain rank.

Prev
The “prev” button will select the ship preceding the currently selected ship in the list of all ships in the mission.

Next
The “next” button will select the ship following the currently selected ship in the list of all ships in the mission.

Delete
Removes the currently selected ship(s).

Reset
Restores the default values in all fields for the selected ship(s).

Weapons (weapon subeditor)

Gunner slots
This list contains the different weapon (turret or pilot controlled) locations for a given ship.  Each can be configured individually.

Banks
Any gun emplacement can have up to three different banks.  Missile emplacements can have up to four.  The number of banks available is determined by the ship model  Missile banks also have a numeric designator next to them which adjusts the number of missiles the ship carries at mission start.  The maximum number is set for each model.

AI Class
Each weapon can be assigned a different AI Class.  This is similar to the AI class that is used for the pilots.  The higher the rank, the more accurate.

Player Orders
Use this to set which orders will be accepted by the selected ship.  A checked box means the ship will accept orders of that type from a player.

Misc.
Destroy before mission will blow up a ship n seconds before the player enters the mission.  This is useful for creating a battle scene which has the appearance of having been in progress before the player arrives.

Scan-able means that a ship (or cargo container) can be scanned by the player’s sensor array, resulting in the revealing of the contents of that ship.

Cargo Known will automatically show the contents of a ship (or cargo container) when targeted.  Scanning is not necessary when this is checked.

Reinforcement marks a ship as a reinforcement so that it will appear in the reinforcements list.  This will allow the player to call for it later in the mission, but it will not necessarily arrive on its own.

Protect Ship causes a ship to not be fired upon by any other ships.  An order from the player telling ships to attack will override this property.

Ignore for Counting Goals will not use the selected ship as part of the requirements for completing an objective.  Ex. If an objective requires that all enemy fighters be destroyed, but a certain fighter will always escape - having come in as a scout then leaving immediately - the scout ship should be marked with ignore for counting goals so that the destroy all enemy fighters objective may be satisfied.

Escort ship will show the selected ship name and hull strength in the monitoring window on the HUD.

No arrival music will cause the music normally played for the arrival of the selected ship to not play.

Invulnerable makes the selected ship impervious to all attacks.

Hidden from sensors causes the selected ship(s) to not be target-able. 

Kamikaze causes a ship to crash into the ship that it is ordered to attack.  It will do damage as per the damage field.

No dynamic goals will cause a ship to not deviate from its current objective even if attacked.

TBL Info
Displays all the available information (capacities, limitations, speeds…) pertinent to the selected ship as contained in the table of ships.

Initial Status
Velocity is the speed that the selected ship(s) will have upon entering the mission.

Hull Integrity is the value of the selected ship’s hull at mission start.

Has shield system will give the selected ship shields if checked.

Locked means the ship can’t be changed in any way in either the ship loadout screen or weapons loadout screen (only applies to ships in your starting wings).  Such ships must be used as is in the mission.

Shield Integrity is the value of the selected ship’s shield at mission start.

Docked with will move the selected ship to be docked with the ship selected from the list at right.

Docker point tells which docking point the selected ship should use.

Dockee point tells which docking point the ship selected from the list should use.

Subsystems can be set as damaged or destroyed before mission start.  The Integrity value can be set for each subsystem individually.

Initial Orders
Behavior assigns a behavior to the selected ship.

Object is the ship that will be attacked, docked with etc.

Subsys / Docker’s bay shows the subsystem that will be destroyed or the docking bay of the selected ship that will be used.

Dockee’s bay shows the docking bay of the ship that will be docked with.

Priority tells the selected ship which order is more important.  Values up to 89 may be used.  90 - 100 are reserved for player orders.

Hide Cues rolls up the arrival and departure cues displays, so the editor uses less screen real estate.

Arrival / Departure
Location determines where the selected ship will be placed in the game when it is to arrive / depart.

Target determines which ship the selected ship will arrive / depart near.

Distance is how far away (in game units) the selected ship will be from the target ship when it arrives / departs.

Delay adds up to n seconds to the arrival / departure of the selected ship based on the s-expression structure used in the cue field.

Cue displays the s-expressions used to determine what actions must occur before a ship can arrive / depart.

No Warp Effect
This checkbox will allow a ship to arrive or depart without creating the animated warp effect.

Wings (shift+w)

Select Wing
This pull-down lists all the ships in the mission.  Any ship can be selected from this list for editing in the ship editor.

Wing Name
This field allows the name of the wing to be changed.

# of Waves
Any given wing can be made to arrive in the mission several times.  Using waves keeps the orders the same for all waves of a given wing.

Wave Threshold
The number of ships that can still be alive in a wing before successive waves can start arriving (The delay field time is applied to this).

Hotkey
This is for the assigning of a default hotkey group to the wing.

Reinforcement 
marks a ship as a reinforcement so that it will appear in the reinforcements list.  This will allow the player to call for it later in the mission, but it will not necessarily arrive on its own.

Ignore for Counting Goals 
will not use the selected wing as part of the requirements for completing an objective.  Ex. If an objective requires that all enemy fighter wings be destroyed, but a certain wing will always escape - having come in as a scout wing then leaving immediately - the scout wing should be marked with ignore for counting goals so that the destroy all enemy fighters objective may be satisfied.

No Arrival Music 
will cause the music normally played for the arrival of the selected wing to not play.

No Arrival Message
will not play a message stating that the selected wing has arrived.

No Dynamic Goals 
will cause a wing to not deviate from its current objective even if attacked.

Prev
The “prev” button will select the wing preceding the currently selected wing in the list of all wings in the mission.

Next
The “next” button will select the wing following the currently selected wing in the list of all wings in the mission.

Delete Wing
Removes the currently selected wing.

Disband Wing
Makes the ships that were in the selected wing no longer part of a wing, but does not remove them from the mission.

Initial Orders
Behavior assigns a behavior to the selected ship.

Object is the ship that will be attacked, docked with etc.

Subsys / Docker’s bay shows the subsystem that will be destroyed or the docking bay of the selected ship that will be used.

Dockee’s bay shows the docking bay of the ship that will be docked with.

Priority tells the selected ship which order is more important.  Values up to 89 may be used.  90 - 100 are reserved for player orders.

Hide Cues 
Rolls up the arrival and departure cues displays.

Arrival / Departure
Location determines where the selected wing will be placed in the game when it is to arrive / depart.

Delay adds up to n seconds to the arrival / departure of the selected wing based on the s-expression structure used in the cue field.

Delay Between Waves is the time (in seconds) between successive wings.

Target determines which ship the selected wing will arrive / depart near.

Distance is how far away (in game units) the selected wing will be from the target ship when it arrives / departs.

Cue displays the s-expressions used to determine what actions must occur before a wing can arrive / depart.

No Warp Effect
This checkbox will allow a wing to arrive or depart without creating the animated warp effect.

Objects (shift+o)

Position
The spatial coordinates for the selected object can be changed using this dialog box.  This has the same result as moving the object using the mouse.  

Point to:
Object will cause the selected object to face the object selected in the pull down list.

Location will cause the selected object to face the direction of the point in space given by the X, Y, and Z coordinates.

Waypoint Paths / Jump Nodes (shift+y)
This is used for renaming jump nodes or waypoint paths.  Double-clicking on a waypoint or a jump node will open this dialog.  Waypoint paths are used in the game to provide a path that a ship will follow.  They are quite useful for escort missions.

Select Waypoint Path
Select the path or jump node from the list.

Mission Objectives (shift+g)

Display types
Shows the selected objective type in the list box to the left.

Current objective type:
Primary Objectives are usually required to successfully complete the mission.

Secondary Objectives are not always required to complete the mission.

Bonus Objectives are not stated in the mission briefings and usually result in greater rewards when discovered.

Name
Give the objective a name.

Mission Goal text
Type in the description of what is necessary to complete the objective.

Score
The number of points received for successfully completing this objective.  These points are applied for gaining rank and other awards in the game.

Team 
If the mission is a multi-player team vs. team game, use this to choose the team for which this is an objective.

Objective Invalid
If an objective is marked as invalid, there will need to be an s-expression that will change it at a later point in the mission based on an event.  Ex. If  there is an objective that will need to be changed during the course of a mission due to a ship that will be destroyed despite anything the player does and it is to appear to be a part of the original primary objective, use this checkbox for the objective which will need to become valid when the original objective can no longer be fulfilled.

Don’t Play Completion Sound
Do not play the sound associated with successfully completing an objective for this objective only.

New Obj.
Add a new blank objective to the list.

Events (shift+e)

New Event
Add a new blank event tree to the list at left.

Insert Event
Add a new blank event tree to the list at left above the currently highlighted event.

Delete Event
Remove selected event from the list at left.

Repeat Count
The selected event will repeat n times.

Interval Time
The amount time to wait before the event will repeat.

Score
The number of points received for this event having completed.  These points are applied for gaining rank and other awards in the game.

Chained
This will force the selected event to wait until the event prior to it in the list has been carried out.  This is useful for events that should happen in succession.

Chain Delay
The amount time to wait before the next event in the chain will start.

Directive text
Text that will be shown in the directives display on the HUD when the selected event is true.  

Directive Keypress Text
Text telling which (default) key to hit to accomplish the above directive. This will also be shown  in the directives display on the HUD when the selected event is true.

New Message
Add a new blank message to the list at right.

Delete Message 
Remove selected message from the list at right.

Name
Name the message (used only in the editor.)

Message text
Text that will be displayed on the HUD in the game.

Message Properties
ANI File - The animation to be associated with the given message.  This animation will be played on the HUD in the game.

Wave file - The sound file that contains the appropriate voice for the message.  This sound will be played in the game when the message is sent.

Persona - The character that will say the message.  This only applies to voice messages from the game.

Update Stuff
Update the information contained in the ANI and Persona fields to use the correct data based on the chosen Wave file. 

Team Loadout (shift+p)

Select Team
Choose a team from the pull down list.

Available Starting Ships
Set the number and type of ships available to the selected team using the Extra Available input.

Amount used in wings
This is the number of the selected ship type that is currently being used in the mission.

Single Player Start
Select the ship that the player will start in when this mission is played single player.

Available Weapons Pool
Set the number and type of weapons available to the selected team using the Extra Available input.

Amount used in wings
This is the number of the selected weapon type that is currently being used in the mission.

Player Entry Delay
The number of seconds that the game will progress before the players enter.

Background (shift+i)

Number of Stars
Adjust the number of stars in the mission.

Takes place in subspace
Marks the mission as a subspace mission.

Nebula
Pattern lists all available nebula patterns.

Color lists all available nebula colors.

Pitch adjusts the rotation along the nebula’s x-axis.

Bank adjusts the rotation along the nebula’s y-axis.

Heading adjusts the rotation along the nebula’s z-axis.

Reinforcements (shift+r)

Add
Add a ship (or wing) to the reinforcements list.

Delete
Remove a ship (or wing) from the reinforcements list.

Uses
The number of times (waves) this wing of ships can be called in as reinforcements.

Delay After Arrival
The amount of time after the player has arrived before the reinforcements are available.

Asteroid Fields (shift+a)

Select Field
Choose from the list of asteroid fields.

Enabled
Turn on asteroids in this mission.

Density
Relative density of the asteroid field.  Higher number means more asteroids.

Average Speed
The average drift speed (m/s) of an asteroid in the field.

Min / Max values
The extents of the asteroid field in the X, Y, and Z axis directions.

Mission Specs (shift+n)

Title
Give the mission a title.

Designer
Put your name in here so everyone knows who made the mission.

Game Type toggles
Single player mode only allows the mission to be played by one person.

Multi player mode allows the mission to be played by several people at once via one of several methods… TCPIP, LAN…

Training only mode makes the mission a training mission.  

Multiplayer game type
Cooperative mode pits players against AI to achieve the objectives.

Team vs. Team mode pits humans and AI against more humans and AI.  Each team has its own objectives.

Dogfight mode is a free-for-all.

All teams at war
Used when three teams are to attack one another despite their IFF code.

Red Alert Mission
New mission objectives are received at the end of one mission.  There is no time to return to the capital ship to repair.  

Scramble Mission
Zero warning mission.  No chance to select armament or ships.  The player must leave immediately following the mission briefing.

Disallow support ships
Do not let the player call in support ships.

Max respawns
The total number of times any player in the mission (multi-player modes only) can return to the mission and continue fighting after having died.

Music
Which song will be played for this mission.

Mission Description
A brief description that will tell others what the mission is about.  This text will be displayed in the information windows in multi-player games.

Designer Notes
Notes for the mission designer.  Can be anything necessary to help the designer remember things about the mission.

Briefing (shift+b)

Select Team 
Used only when a mission is a multi-player team vs. team mission.  This allows for multiple briefings, specifically one for each team.

Prev
Go to previous stage.

Next
Go to next stage.

Save View
Save current camera position as the position for this briefing stage.  If this button is not hit, the camera will return to the previously saved location.

Goto View
If a view is saved using the View menu, Save Camera Pos (ctrl+p) command, this can be loaded as the camera position for the current stage.

Add Stage
Add a new briefing stage to the end of the briefing.

Insert Stage
Add a new briefing stage before the current stage.

Delete Stage
Remove the current briefing stage.

Cut to Next Stage
Causes the transition from the current briefing stage to the nest to use static as the transition.

Cut to Previous Stage
Causes the transition from the current briefing stage to the previous to use static as the transition.

Camera Transition Time
The time (in milliseconds) it will take to move the camera from the current stage to the next stage.

Voice Wave File
The sound file that is associated with the briefing text for the current stage.

Briefing Music
The song that will be played during this briefing.

Text
The text that will be displayed for this stage of the briefing. 

Usage Formula
This is the s-expression formula that determines whether the player will receive this stage of the briefing.  

Current Icon Info
Label This is the text that will be associated with the selected icon.  Generally, this means the name of the ship.

Icon Image This is the image that will be displayed in the briefing for the selected ship.  The default may be changed if different results are required.  Ex.  If a ship is supposed to be unknown, choose the unknown icon type instead of the default icon.

Ship Type This is where you choose the ship type that will be displayed when the ship is clicked on in the briefing..

Team changes the status of the selected icon. 

Text is no longer used.

Highlight will play a highlight animation for the selected icon in the current stage only.

ID is useful for briefings that have several ships with the same name.  It allows the ships to be differentiated more easily.

Change Locally changes the selected objects only in the current stage.  Following stages will not be adjusted.  With this off, all stages following the current stage will be changed.

Make Icon creates an icon for the selected ship.

Delete Icon removes the currently selected icon.

Propagate adds the currently selected icon in its current position to all following briefing stages.

Debriefing (shift+d)

Select Team 
Used only when a mission is a multi-player team vs. team mission.  This allows for multiple briefings, specifically one for each team.

Prev
Go to previous stage.

Next
Go to next stage.

Add 
Add a new debriefing stage to the end of the briefing.

Insert 
Add a new debriefing stage before the current stage.

Delete 
Remove the current debriefing stage.

Voice Wave File
The sound file that is associated with the debriefing text for the current stage.

Text
The text that will be displayed for the current stage of the debriefing. 

Recommendation Text
This text will be displayed if the player turns on the recommendations in the debriefing.  It should give hints as to how to better achieve the mission objectives.

Usage Formula
This is the s-expression formula that determines whether the player will receive this stage of the debriefing.  

Shield System
Ships that are the type or team chosen from one of the lists can be made to have the shield system or made to not have the shield system.

Command Briefing 

Select Team 
Used only when a mission is a multi-player team vs. team mission.  This allows for multiple briefings, specifically one for each team.

Prev
Go to previous stage.

Next
Go to next stage.

Add 
Add a new command briefing stage to the end of the briefing.

Insert 
Add a new command briefing stage before the current stage.

Delete 
Remove the current command briefing stage.

Briefing Text
The text that will be displayed for the current stage of the command briefing. 

Ani Filename
Type in the name of the animation to be played in the current stage of the command briefing or browse for an animation.

Wave Filename
The sound file that is associated with the debriefing text for the current stage.

Campaign (shift+c)
A campaign is a grouping of several missions that are meant to occur in succession.  By using a campaign, mission branching and persistence from one mission to another.

Other menu
Error Checker checks the campaign file for possible errors.  

Initial Status
Weapons lets you specify what weapons should initially be allowed at the start of your campaign.

Ships lets you specify what ships are available to fly at the beginning of your campaign.

Available missions
This is a list of all missions in the missions directory which can be included in a campaign.

Campaign Name
Give your campaign a title.

Type 
Set the type of campaign single player, multi-player coop or multi-player teams.

Campaign Description
Describe the story behind your campaign.

Briefing Cutscene
Choose which cutscene to play before the selected branch of the campaign.

Branches
Set up the s-expressions that will determine which branch the player will go to based on their actions in the previous mission.

Galatea The player’s capital ship for the selected branch.

Bastion The player’s capital ship for this selected branch.

Move up moves the selected branch up one level.

Move down moves the selected branch down one level.

Realign tree organizes the branching tree.

Load Mission switches to FRED and loads the current mission.

Right click options
These options are found by right-clicking on the mission button in the campaign tree.  To remove a mission from the list, right click on the mission and select Remove Mission.  A Repeat Link is an s-expression tree that will allow the player to replay the current mission.  This should be added to all missions with the possible exception of the last mission in a campaign.  When the last mission is added to the campaign right click on it and select End of campaign to make an s-expression tree that will tell the game that this is the last mission in the campaign.

S-expression Trees
The Symbolic-expression is the building block that all FRED created missions are built around.  Their incredible flexibility and virtually limitless combinations which combine to form events and actions make them a powerful tool for creating robust and interesting missions.  
S-expressions are used to determine what actions have happened, start other actions or sequences and run virtually everything within a mission.  Because of their flexibility and robust nature, s-expressions  trees (the combining of several s-expressions to form a desired action or sequence) can be intimidating to learn. 

Rules
There are several “rules” that the Descent: FreeSpace mission designers followed during the creation of missions.  Several of these are necessary in order for a mission to work properly.  If you are having trouble with a mission but are not sure where you could have gone wrong, take a look at these rules to see if there may be something that you have left out (these conditions and more are check for automatically by the error checker menu item).

1. 	The player ship (in single player missions) should be in a wing named alpha.  
	
2. 	All player ships in multiplayer games should be in either wings Alpha, Beta, Gamma for cooperative.  For team vs. team, they should all be in either wings Alpha or Zeta.

Putting it all together
Now the moment you have been waiting for!  An example of how to make a simple FreeSpace mission using FRED.

Start by placing a few ships.
Notice that there is already one fighter in the mission when you open FRED.  This is the default player position.  Change this fighter to an Apollo class fighter by double clicking on it or selecting it then bringing up the ship editor dialog (shift+s).  In the ship editor, click the button to the left of the Ship Class field.  Find GTF Apollo and select that.

Next, select a Terran fighter from the pull down ship list.  Ex. Apollo.  Place the three more Apollo fighters in close proximity to the default ship by holding <ctrl> and left-clicking with the mouse.  Arrange them in some sort of formation.

Select a Shivan fighter from the pull down ship list.  Ex. SF Dragon.  Place four SF Dragon fighters in close proximity to one another, but at a distance of about 2000 meters from the Terran fighters.

Note that upon starting FRED, the grid squares are spaced 10 meters apart.  In the lower right hand corner of the FRED window the current grid scale is shown.

In order to place the Shivan fighters 2000 meters from the Terran fighters, you will need to move the camera back.  Press and hold Z to move the camera back.  If it is moving dreadfully slow, use the speed pull down menu to increase the movement speed (or use the numbers keys 1 - 8.)

Now would be a good time to save the mission.  (ctrl+s)

Set up ship attributes

Make the groups of ships wings.
Select all the Terran fighters and click the toolbar button that will make the ships a wing (or hit ctrl+w).  Name the wing “Alpha” using the pop-up requester.  Make the Shivan fighters into a wing as well.  Name the Shivan wing Shivore.

*Now would be a god time to save the mission.  Hit ctrl+s and type in a name for the mission file.  This is not the same as the mission name.

Assign initial orders.
When working with friendly wings, it is still necessary to give ships initial orders.  With no orders, the ships will sit, doing nothing until the player gives them an order.

Open the wing editor (shift+w).   Select Alpha wing using the select wing pull down list.  Click the Initial Orders button to bring up the orders dialog.  Make Order 1 attack by selecting attack in the behavior dialog.  Set the object to Shivore.  Set the priority to 60.  

Now select the Shivore wing and give it initial orders to attack Alpha wing with a priority of 80.

Multiple Waves.
Set the # of waves for the Shivore wing to 3.

Arrival time
Set the arrival of the Shivore wing so that they will arrive 25 seconds after Alpha wing.  While still in the wing editor set the delay in the arrival section to 25.  Make the Delay Between Waves min 2 seconds, max. 7 seconds.

Another way to make the arrival delay is by using the Cue field and s-expressions.  Right click on the true s-expression in the arrival section cue field.  Select Replace Operator > Objectives > has-arrived-delay.  There are now two fields under the has-arrived-delay s-expression (called the operator).  The fields are for the time delay and the ship (or wing).  See the box at the bottom of the editor dialog for more specific information.  Change the time field to 25 by clicking twice on the number or by right-clicking on the number and choosing edit data.  By making this time 25 seconds, the delay time of 25 seconds in the delay field will be added to it.  Set the ship / wing field to say Alpha (for alpha wing) by right-clicking on it then selecting Replace Data > Alpha.  Arrival cues can be made much more complex using s-expressions.  See the s-expression section for more information.

Ship weapons
Select all of Shivore wing then open the ship editor dialog (shift+s).  Click on the weapons button then change Gun bank 1 to Shivan Light laser

Player Orders
Clicking on the player orders button while the Shivore wing is still active will bring up the player orders dialog.  Notice that no orders will be accepted by the enemy wing.

Select the ships in Alpha wing and hit the player orders button.  By default, all orders will be accepted by friendly fighters and bombers. 

Close the ship editor and save the mission.

Mission Objectives
Open the mission objectives editor (shift+g).  Create a new primary objective by clicking the New Obj. button.  Make an objective for the player to destroy all of the Shivore wing.  Fill in the Name field with Destroy Shivore Wing.  In the Mission goal text field, put something like, “Eliminate all Shivan fighters in the area.”

To make the objective valid for evaluation, the s-expression tree must tell the game what to evaluate to satisfy the objective.  Right click in the Destroy Shivore Wing entry in the dialog box on the right.  Select expand all.  Right click on the true statement then select Replace Operator > Objective > is-destroyed-delay.  The numeric field designates the delay after Shivore is destroyed that the objective will be satisfied.  Change the delay to 7 seconds.  The name field should be changed to read Shivore so that the objective will be satisfied 7 seconds after the Shivore wing is destroyed.  Right click on the name field, then select Replace Data > Shivore. 

Hit OK and save the mission.

Events
Mission events are what make the mission.  They can be anything from sending a message when a certain event has occurred, to telling ships to dock and transfer cargo.

Lets create an event that will send a message if Alpha 2 is about to die.  Open the Event Editor (shift+e).  Click New Event.  Change the Event Name to “Alpha 2 is in trouble.” by clicking on Event Name twice.  Right Click on the newly named Alpha 2 is in trouble and expand all.

We want to make the event add a goal for Alpha 2 to send a message when his hull is below 30.  So, by typing this out it will become more easily understandable as an s-expression tree.  When alpha 2’s hull is less than 30, add a goal for Alpha 2 to send a message stating that he is about to die.

When is the first part of the s-expression tree.  It will remain.  Hull strength less than 30 is the second part.  This has to do with the logical status of the ship.  Right click on the true field then select Replace Operator > Logical > < (less than).  This will produce two new fields.

In the first field, right click then select Replace Operator > Status > Hits Left.  This adds a new field in which will be put the name of the ship whose status we want to evaluate.  In this case Alpha 2.  Replace the current data with Alpha 2.  In the numeric field we’ll put the percentage remaining value for the ship’s hull that we want to evaluate.  In this case 30.  Change the numeric field to 30.

*Before the next step can be completed there must exist a message to choose. 

Click on the New Msg button.  Select <new message> from the list. Name the message “Alpha 2 is dying.”  Add new message text to say, “C'mon, I'm dying here!”  Because there does not exist a custom .wav file nor a persona for this message, those two fields will be left blank.  An .ani may be chosen from the list if desired.

Finally, we tell the game what to do when the above requirements are met.  By default, do-nothing is selected.  Change do-nothing to send-message by right clicking on the do-nothing field then selecting Replace Operator > change > send-message.  The three new fields will be used to specify who will send the message, give the message a priority level and define which message to use.  The message sender will be alpha 2.  Change the <any wingman> entry to alpha 2.
Leave the priority set to high.  Place the new message in the message field.  (If FRED did not do it automatically.)

Hit OK and save the mission.  

Loadout Ships
Open the Team Loadout Editor.  Choose the ship types that should be available to the player in the ship selection screen.  Deselect all ship types but the Valkyrie and the Apollo by clicking in the checkbox to the left of the name.  Highlight the Valkyrie and change the Extra Available number to 4.  Highlight the Apollo and change the Extra Available number to 0.  There will automatically be 4 Apollo ships available because they are the ship that was placed in the mission.

Loadout Weapons
While still in the Team Loadout Editor, choose the weapons that should be available to the player in the weapon loadout screen.  Select ML-16 Laser.  Change Extra available to 4.  Select Disruptor.  Change Extra available to 4.  Select Avenger.  Change Extra available to 4.  Select Flail.  Change Extra available to 8.  Select Hornet.  Change Extra available to 400.

Hit OK and save the mission.  

Adjust the background 
Open the Background editor (shift+i).  Increase the number of stars to somewhere between 800 and 900 using the slider.  Change the Nebula pattern to nebula 03.  Change the color to violet.
Change the pitch to 35, the bank to 70, and the heading to 90.

Close the window and save the mission.

Assign reinforcements
Open the Reinforcements Editor (shift+r).  Place 3 Valkyries as Delta wing to be used as reinforcements.  Click the add button to see the list of available ships.  Select Delta wing from the list to make it a reinforcement wing.  This means that the player has to call for it before it will enter the mission.

Hit OK and save the mission.

Asteroid Fields
To add an asteroid field to a mission, simply open the asteroid field editor (shift+a) and click in the Enabled box.  Zooming out will show a large wireframe box which marks the extents of the asteroid field.  To change the extents of the field, simply type in new values for the min and max X, Y, and Z fields.  Adjust the min and max values until you have a field that surrounds the ships in the mission.  Keep in mind that the XZ plane is the plane that the grid lies in.  Adjusting X and Z values will give you wider and longer asteroid fields, while adjusting Y values will make the field taller.

Increase the Average Speed to 10.

Hit OK and save the mission.

Mission specs
Open the mission specs editor (shift+n).  Type in a new title, description and other notes in the appropriate fields for your benefit and for those who may look at this mission later.  Click in the Multiplayer checkbox.  The mission can now be played multiplayer.  Set the max respawns to 5.  Choose a music soundtrack that will be played in the mission. 

Hit OK and save the mission.  

Briefing setup
Setting up a coherent briefing is necessary to describe the anticipated stages of the mission and the things that the player will need to accomplish during the mission.

Open the Briefing editor (shift+b).  Click on the Add stage button three times… to create three stages in the briefing.  Click Prev twice to go to the first stage.  Select Alpha wing in the mission view then click the Make Icon button.  (Delete the 4 after Alpha.  It is only there to denote that there are 4 ships in that wing.)  Add text stating that this is a routine search and destroy mission.  Move the camera until the view is satisfactory, set the camera transition time to 1000 (one second).  Click on the Save View button.

Click Next to go to the next stage.  Select the Shivore wing and Make Icon.  Turn on the highlight button. Set the camera transition time to 1200.  Move the camera somewhere then click the Save View button.  Add text telling that Shivans are expected in the area and must be destroyed at all cost.

Go to the final stage and select Delta wing.  Make Icon, then set highlight on.  Add text that tells the player “We are counting on you Alpha 1.  But if you need, there will be a wing of  reinforcements available.  GTA Command out.”  Set up the camera once again then save view.

*To add an icon for an asteroid field, it is necessary to select a ship or other object, then change its name and icon image so that it is an asteroid field.

Hit OK and save the mission.  

Debriefing setup
The debriefing editor is used to set up the information that you will be given at the end of a mission.  It should contain debriefing stages that account for all significant aspects of the mission.  There should exist stages that deal with the player succeeding and with the player failing any necessary objective.

Open the Debriefing editor (shift+d).  Click Add twice to create two stages.  Stage 1 will be set up to debrief the player if he achieves the primary objective that was setup earlier.  Right click on true in the Usage formula window then choose Replace Operator > Events / Goals > is-goal-true-delay.  Because there is only one objective (referred to as goals by the s-expressions) in this mission, it automatically appears as the next part of the s-expression tree.  The text for this stage should be uplifting to the player, congratulating him for a job well done.  “The GTA could use more pilots like you.  You have shown great skill and are to be commended.”  Because the objective was achieved, it is not necessary to add recommendations text.

Stage 2 will be set up to debrief the player if he fails the primary objective.  Right click on true in the Usage formula window then choose Replace Operator > Events / Goals > is-goal-false-delay.  Make the player feel like a worm for having failed such an easy task.  “Because you were unable to carry out your duties, you will find yourself in remedial training for the next three weeks.”  Because this stage was a failure, it will be good to add some recommendations text to let the player know what he might do better next time.  “Make sure you don’t let any of the enemy escape!”

Hit OK and save the mission.

Campaigns
If you want to create several missions which will happen in succession and which may have branching between them based on events and objectives in the missions, the campaign editor is where the mission structure is set up.

Open the campaign editor. (shift+c)  Select a mission from the list box and then hold Ctrl down and left click in the top row of the area to the right (campaign tree view window).  This adds the mission to the campaign.  When you have more than one mission in a campaign, you can link them by dragging and dropping one mission onto another in this window.  Linked missions have a line drawn between them.  Once missions are linked, an s-expression tree will need to be set up that will determine the actions necessary for the player to proceed from the first mission to the next.  If objectives are not met, the next link’s s-expression is evaluated.  If none of the links evaluate to true, the player is forced to replay the mission.

A typical s-expression tree for progressing to the next mission will be based on mission objectives.  Notice that new s-expression trees are automatically added to the branches list when one mission is linked to another.  The Branch to <mission name> tree will default to true.  The true operator should be changed Replace Operator > Events / Goals > is-previous-goal-true.  The next field should contain the name of the mission that the player will have just finished.  If this were a two mission campaign where MyFirstMission is the first in the campaign, this would be in the first field under is-previous-goal-true.  The next field will be the objective that has to be satisfied to proceed.  Right click on the last field and choose Replace data > Destroy Shivore Wing.  Now in order for the player to progress to the second mission he will have to have successfully destroyed the Shivore wing as per the objective requirements.

In order to force the player to replay the mission, right click on the mission then select Add a Repeat Link.  If this s-expression evaluates to true, the player will have no choice but to repeat the mission.

To remove a mission from the list, right click on the mission and select Remove Mission.

When the last mission is added to the campaign right click on it and select End of campaign to make an s-expression tree that will tell the game that this is the last mission in the campaign.

Save the campaign and enjoy your newly created missions!