12-3-04:  This reference does not yet cover the topics of ship or particle fx creation.  Documentation updates and campaign updates are in the works Ð right next to homework and end of semester exams :o

 

Escort Wing: The Modders Reference

 

            Most of escort wing can be modified by changing files in the Data folder.  The exception (for now, we are working on fixing this) is the weapons in the game, backgrounds and clouds, all of which will be accessible for modification in the future. 

 

File Types:

 

.epr            Files that end in .epr are not designed to be modified and contain saved information the game uses.  If you damage or delete any file that ends in .epr, delete them all.  You will lose your in game settings, and campaign progress, but the game will regenerate new ones the next time it launches.

 

.sfo                 Files that end in .sfo define different types of ships.  Inside a .sfo file, you will find all the data in a specific order.  The order must not be changed, although the values can be changed.  A description of the attributes defined in the .sfo format is ahead, under the heading ÒCreating a Ship.Ó

 

.lvl                  Files that end in .lvl define missions.  They set the lightness, cloudiness, convoy makeup, radio messages, enemy spawns and plot of the game.  Any level file will show up, however level files that have a #) prefix, such as Ò2)Ó or Ò3)Ó will not be available in game until a player has beaten all preceding level prefixes.

 

.particle        Files that end in .particle define particle visual fx and have no direct effect on the gameplay (although, a large particle effect might obscure your view.)  Since most .particle files define visual effects that are used by weapons, while you can modify them, they are not of much interest until the final version.  The exception is particle files related to shipÕs smoking, burning and exploding effects, you can create new particle files and use them with these effects.

 

Creating a Level:

         YOU ARE PROBABLY ABLE TO CREATE LEVELS JUTS FOLLOWING THE EXAMPLE OF THE EXISTING LEVELS.  THIS IS PROVIDED AS EXTRA REFERENCE IF YOU GET STUCK.

When Escort Wing loads a level, it scans through the file looking for ÒtagsÓ it recognizes, and loads those into values and events in game.  The loading of the level happens moments before you play it, so if you run Escort Wing in windowed mode, you can change a level and play it without reopening the game.  The exception is this:  If your level uses new types of ships that you added with the game open, it must be reopened.

            There is no limit to the length of a level file, and no limit to the number or types of tags that can be used.  If the game encounters a tag it doesnÕt recognize, it will ignore it Ð so you can write comments to yourself or other people working with you straight into the level file. 

            If Escort Wing encounters a tag that is malformed, with a correct header and incorrect body, it will quit!  This is important to remember Ð if your level is quitting Escort Wing it is most likely this!  Another source of a quit would be if you try to spawn ships that arenÕt defined in the Ship Infos folder.  If your level quits during play, it could also be because you are trying to transition to music that isnÕt in the OGG Music folder.  Trying to access anything that doesnÕt exist will cause a quit in the running of the level.  Something wrong with the way your level file is written will cause a quit as it is loaded.  If a tag isnÕt being recognized, and it looks perfect, check for trailing spaces.  Trailing spaces will upset the tag loader.

            Event Tags have Sub Tags, which are tags that must be called within an event tag.  All tags are listed here, although if you want tags that arenÕt available, email whogben@gmail.com with your suggestions and we will see about including them in the next version.

 

 

 

Level Settings Tags:      These tags run on your level before anything else.  They define major settings in the level.  When I say ÒFollow thisÓ I mean write something on the next line after it, all tag headings are on a line to themselves.

 

ÒLEVEL NAME:Ó Follow this with the name of your level.  The current edition of Escort Wing does not utilize this tag, but in the future it will enable levels to refer to each other, for non-linear level ordering (can you say, Òchoice to defect?Ó J)

 

ÒLEVEL DESC:Ó Follow this with a one line (no returns, but it can wrap around onto several lines) paragraph of text that you want to be displayed before a mission.

 

ÒLEVEL WIN DESC:Ó Follow this with a one line paragraph of text that you want to be displayed upon successful completion of a mission.

 

ÒLEVEL BACKGROUND:Ó For now, the only background name to follow this with is ÒOceanÓ, in the future there will be more options.  If you have cool suggestions, email us J.

 

ÒLEVEL GROUND CLOUD COVER:Ó Follow this with an integer setting the frequency of the smaller clouds under the ships.

 

ÒLEVEL AIR CLOUD COVER:Ó Follow this with an integer setting the frequency of the larger clouds over the ships.

 

Ò<RANDOMIZE LEVEL BACKGROUND RGB>Ó If you include this tag, the level will start at a random lightness level, day, night or dusk.  This does not achieve special events you can produce such as sunsets or overall color tints with a well timed Event.

 

ÒLEVEL SUCCESS MINUTES AND SECONDS:Ó Follow this with the success time of the mission.  The success time is designated as minutes (one line) and seconds (the line after)  Even if you only want one minute, you must put 1 for minutes and 0 for seconds.

 

ÒCONVOY HEADING DEGREES:Ó This is the angle the convoy is flying at.  This is the real computer angle, meaning that 0 degrees is not up, but right, and +90 is down, 180 left, and +270 up.  You can use negatives and numbers greater / less than +-360

 

ÒPLAYER SHIP:Ó Follow this with the exact name of the ship the player should fly this mission.  Note: Ship names are designated in the ship files themselves, they are unrelated to either the name of the shipÕs graphic, or the name of the .sfo file in which it is defined.

 

ÒCONVOY ESCORT SHIPS:Ó This is a heading for a longer tag.  It defines what ships will start out escorting the convoy with the player.  These ships may die, and can be reinforced with a reinforcements tag during the mission.  This and all areas that ships can be set, use a common ship setting notation, here is an example:

 

CONVOY ESCORT SHIPS:

{

2

Interceptor

1

Flak Interceptor

}

 

After a tag that calls for a set of ships, such as ÒCONVOY ESCORT SHIPS:Ó, you must have an open brace and a close brace.  Inside the braces, for each type of ship, list first the number of ships to set, and then the type.  This particular example sets up the convoy with 2 Interceptors and 1 Flak Interceptor (besides the player).

 

ÒLEVEL CONVOY SHIPS:Ó This tag lets you define the ships to be part of the convoy itself.  Convoy ships will not try to engage enemies, unless an enemy passes close to them and they have a weapon with a high spread, such as a turret.

ÒCONVOY SHIPS MUST SURVIVE:Ó This tag lets you define what level of convoy survival is necessary to win.  If every ship defined here cannot be found among the surviving convoy, the game will end in failure.

 

ÒLEVEL START SHIPS:Ó This defines the ships that leave you at the beginning of the mission.  If you pick ships that have maximum speed of 0, they will simply stay where they are as the convoy leaves them.  These ships disappear the moment they reach the edge of your radar, and will not engage enemies.  They are decorations.

 

 ÒLEVEL END SHIPS:Ó These ships will spawn 30-40 seconds before the success time and come to meet the convoy.  Level end ships will engage enemies around the convoy, and escort it till the ETA reaches 0.  Good for having final ultimate battles Ð around 1:10 before the end, masses of enemies start overwhelming you, then 0:40 your forces arrive, and after a huge battle, success!

 

 

 

Event Tags:                           These tags run on your level before anything else.  They define major settings in the level.  When I say ÒFollow thisÓ I mean write something on the next line after it, all tag headings are on a line to themselves.  Here is an example event tag, including every sub-tag an event tag can use:

 

EVENT MINUTES AND SECONDS:

3

22

{

RADIO SENDER:

First Officer Mikhail Prior [Escort Team Leader]

 

RADIO MESSAGE:

Enemy forces incoming!  6 small craft, approx 245 degrees!  Friendly refreshments taking over as well.

 

SPAWN ENEMY SHIPS:

{

2

Tel-Rith Elite Fighter

4

Tel-Rith Fighter

}

SPAWN ANGLE:

-115

 

SET MUSIC:

Duty Calls

 

FADE BACKGROUND RGB:

.06

.06

.12

OVER TIME:

30

 

RETIRE ESCORT SHIPS:

{

2

Flak Interceptor

2

Interceptor

}

 

SPAWN ESCORT SHIPS:

{

6

Flak Interceptor

}

SPAWN ANGLE:

165

}

 

ThatÕs a pretty lengthy example.  Lets examine the tags:

 

ÒEVENT MINUTES AND SECONDS:Ó This tells Escort Wing that it is an event, and is followed by the amount of time into the mission the event should occur.  This is not the ETA that will show at the bottom of the screen.  With a 5 minute success time, 1 minute into the mission, the ETA will read 4 minutes.  Following this tag must be a pair of braces, with between them, all the actions to take at the time specified.

 

ÒRADIO SENDER:Ó  This tells Escort Wing to generate a new radio message.  It must be followed by the name of the sender, then ÒRADIO MESSAGE:Ó and then the message itself (without returns).

 

ÒSPAWN ENEMY SHIPS:Ó This causes the specified enemy forces to appear far away at the angle following ÒSPAWN ANGLE:Ó

 

ÒSET MUSIC:Ó Quickly fades out the current music and starts playing the music specified by the next line.  The specified music must be the file name (without extension) of one of the music files in the OGG Music folder. 

 

ÒFADE BACKGROUND RGB:Ó Causes the background to change colors over a specified period of time.  The color is specified as a red, green and blue value in that order between 0 and 1.  This color is not simply blended with the background, for example, clouds change color slightly after the ocean (as if the sun went down but was still on the clouds).

 

ÒRETIRE ESCORT SHIPS:Ó Causes the most injured specified ships to turn around and leave the convoy.

 

 

ÒSPAWN ESCORT SHIPS:Ó The same as ÒSPAWN ENEMY SHIPSÓ in use, except that the spawned ships will fly to and assist in escorting the convoy.