L4D Level Design/Finale Events Part 3

Jump to: navigation, search

[edit] Creating an Outro

The Outro is when the survivors escape the finale. Typically, the camera switches from 1st person to somewhere to watch the vehicle move out of the area.

Let's start by placing the camera.

Go to the Entity Creation Tool and select "point_viewcontrol_multiplayer" from the Objects list.

Position the camera so that it's where you want to show the escape from.

Open up its properties.

Change the Name to "train_camera".

You can also change the Field of view field. The Field of view will be tighter with a smaller number and wider with a larger number.

Change the Seconds to reach FOV target to 0. This is the time it takes to transition from the normal FOV (which is 90) to the new one.

The point_viewcontrol_multiplayer properties.
The point_viewcontrol_multiplayer properties.

The env_fade properties for the first fade.
The env_fade properties for the first fade.

Go back to the Entity Creation Tool and select "env_fade" from the Objects list.

Open up its properties.

Change the Name to "fade_outro_1".

Change the Duration (seconds) to "0.2".

This is the time it will take the screen to fade.

Change the Hold Fade (seconds) to "0.3".

This is the time it keeps the fade.


The env_fade properties for the second fade.
The env_fade properties for the second fade.

Place a second env_fade (or you can duplicate fade_outro_1) and open its properties.

Change the Name to "fade_outro_2".

Change the Duration to "0.2"


The Flags tab for the second fade.
The Flags tab for the second fade.

Switch to the Flags tab.

Check the Fade From box.

This will fade the screen back the game from black.


The Outputs tab for the first fade.
The Outputs tab for the first fade.

Go back to the fade_outro_1 env_fade and switch to the Outputs tab.

Add an output with the following:

  • My output named "OnBeginFade"
  • Targets entities named "fade_outro_2"
  • Via this input "Fade"
  • After a delay in seconds of "0.30"

This will start to fade the scene back from black 0.3 seconds after fade_outro_1 starts to fade. These 2 env_fades just fade to black and fade back very quickly.


The Outputs tab for the train_continue_relay.
The Outputs tab for the train_continue_relay.

Go back to the train_continue_relay. Open it and switch to the Outputs tab.

Add an output with the following:

  • My output named "OnTrigger"
  • Targets entities named "train_camera"
  • Via this input "Enable"
  • After a delay in seconds of "0.30"

This will change the players' views to the train_camera view.

Add another output with the following:

  • My output named "OnTrigger"
  • Targets entities named "fade_outro_1"
  • Via this input "Fade"

This will start the env_fade to black just before the outro camera starts so that the switch won't be jarring.


Now, we need to add a fade to black when the train is leaving.

The env_fade properties for the third fade.
The env_fade properties for the third fade.

Place another env_fade (or duplicate fade_outro_1) and open up its properties.

Change the Name to "fade_outro_3".

Change the Duration (seconds) to "0.3"


The Flags tab for the third fade.
The Flags tab for the third fade.

Switch to the Flags tab.

Check the Stay Out box.

This means that it will stay black once it fades to it.


Once the screen fades, it kind of ruins the effect to still see instructor messages. Let's place an info_game_event_proxy to disable the instructor messages.

The info_game_event_proxy properties to cancel all game instructor messages.
The info_game_event_proxy properties to cancel all game instructor messages.

Go to the Entity Creation Tool and select "info_game_event_proxy" from the Objects list.

Place it in the Camera viewport and open up its properties.

Change the Name to "gameinstructor_disable".

Change the Name of the event to generate to "gameinstructor_nodraw".

This is a string that's already set to not draw any instructor messages.


The env_outtro_stats properties.
The env_outtro_stats properties.

There's also an entity we can place called "env_outtro_stats" to display the end credits where the stats are shown for the campaign.

Go to the Entity Creation Tool and select "env_outtro_stats" from the Objects list.

Place it in the Camera viewport and open up its properties.

Change the Name to "outro".


The Outputs tab for the train_end_relay.
The Outputs tab for the train_end_relay.

Go back to the train_end_relay and open its properties.

Switch to the Outputs tab.

Add the following outputs:

  • My output named "OnTrigger"
    • Targets entities named "gameinstructor_disable"
    • Via this input "GenerateGameEvent"
  • My output named "OnTrigger"
    • Targets entities named "fade_outro_3"
    • Via this input "Fade"
    • After a delay in seconds of "5"
  • My output named "OnTrigger"
    • Targets entities named "outro"
    • Via this input "RollStatsCrawl"
    • After a delay in seconds of "10"

Click on Apply and close the properties window.


Save and compile to test your outro.

The Survivors have escaped!
The Survivors have escaped!