Main > Hosted Guides
> Cetanu's Advanced Fred2 Lessons - part 1
I heard more then once that the BWO Demo represent the best designed missions around. I got curious and opened them up in Fred and searched for some sophisticated Fred tricks that would do justice such a statement. Well, I didn't find much so I thought: maybe it's time to start some lessons to show what's possible with that FS2 editor. Some of the tricks I used in my missions for PXO had clearly to deal with multiplayer-only situations (variable amount of players, different player skills, respawn feature, etc.) that won't ever bother a singleplayer mission designer, but they hold some teaching value nonetheless, right?
Some of the events I would create different today if I had to rework the missions, but done-is-done and the effects I wanted to achieve worked fine anyway (within the given limitations of FS2 and Fred2).
Part 1of the lessons is based on my mission Breaking the Seal (cet_m03) that looks like one of the favorite valid missions on PXO... maybe cause of a destroyable Sathanas in there?
As a final threat for the players a SJ Sathanas (Nergal) arrives and the only capital ships that help the players are a Hecate (Tereus) and a Deimos (Halcyone) - if they didn't get destroyed by a lot of hostiles earlier in the mission. More on these 2 friendly capital ships later...
Now that I didn't want the Nergal to be a sitting duck that waits endless for its destruction - it was clear that it will try to jump out after a given time, so I had to create 2 events for that. In the first I made a variable (NerDep) that should hold the seconds for how long Nergal would stay around. As a basic number I used 1080 (18 minutes).
Another value that influenced the departure was the total number of players - 60 seconds per player looked like a nice value to reduce. Since this check happens later in the mission any players loosing their connection won't actually matter for that value and the remaining players won't have to deal with harder circumstances.
In a 2nd event that got chained right after the upper, I made the actual check for the departure.
One of the problems with multiplayer missions on PXO influenced this departure check too: any mission with a flight time more then 30 minutes may cause unpredictable errors - so my max limit for the Nergal staying around was set to 1740 (29 minutes). And it won't ever jump out under 60 seconds. To add some realism I made sure that the Nergal won't jump out without not repairing some of its engines first.
To spice it up I added 2 more events that would raise the NerDep time if the players disabled the Nergal and/or destroyed the navigation subsystem at least once.
Another thing I head to deal with
- what happens with the friendly capital ships if they got enough cover to
survive until the SJ arrival?
The Tereus (Hecate) had to go down for a practical reason: I design all my missions so that the action happens in a roughly 4000x4000 space around the players. Now with the SJ jumping right into the players faces this Hecate was to close to not get kicked away like a ball. If it would have been in a safe distance in the first place the players wouldn't have had a chance to actually protect it earlier in the mission. With the ball kicking in mind I created an event that made sure the Tereus won't survive the SJ BUT that a successful cover would lead to Tereus explosion reducing a bit of the Nergal hull.
Another thought I had to deal with in that mission: The actual fighting starts after more then 2 minutes in the mission. Well, 2 minutes is a long time on PXO - with different players around some get bored really fast and start shooting friendly ships just to have something to do. Since there isn't something like the singleplayer traitor function (only the 90k space limit) in multiplayer I wanted to simulate that too.
Any necessary subsequent event after "traitor" has the traitors variable check until the Shivans are definitely around and any more damage dealt can't be that easily distinguished between friendly and hostile fire.
Finally just a little repeating message event.
In this mission a Shivan comm node (Nirah) should call more and stronger Shivan capital ships once the previous wave got destroyed. Again I used a variable (SCN) for that. The "callnext" event has a Repeat Count high enough so that all the Shivan capital ships fit in and a minimum Interval time of 10 seconds.
Every destroyed capital ship resets the SCN variable, example:
If you are curious why I locked the beams once the capital ship got destroyed. Well, without that sexp the FS2 engine shoots beams as long the explosion animations keep running - and beams out of nowhere between a lot of debris look... strange at least, not to mention it's annoying to already have taken out a threat for friendly ships and then have to watch how such impossible beams still manage to kill something
Resource Found at: Hard Light Productions
Written by: Cetanu