L4D Level Design/Finale Events Part 1

From Valve Developer Community
Jump to: navigation, search
简体中文

The 5th map in each of the campaigns that shipped with Left 4 Dead had a finale where the survivors would need to call for help on a radio, fight waves of infected and tanks in one location, and escape onboard a vehicle. There is also an example of this in the tutorial_standards map.

Final Event Components

There are several things that you need to make a finale work properly:

  • A trigger_finale – the radio that you call for help from.
  • An area of the nav mesh marked with FINALE.
  • An escape vehicle that picks the survivors up (usually a prop_dynamic with an animation).
  • A trigger_multiple to check if all the survivors have made it to the escape vehicle.
  • Four info_survivor_positions for the survivors to teleport to when they're rescued.

Optional but standard things that you should place in a finale:

  • Supplies (ammo stash, weapons to switch to, health packs).
  • A point_viewcontrol_multiplayer which is a camera for the outro.
  • Some env_fade entities to fade in/out the camera during the outro.
  • An entity called "env_outtro_stats" for the credits to roll during the outro.
  • A prop_minigun that the survivors can use for defense.
  • A rescue closet – a small room with a door and three info_survivor_rescue entities inside.
The radio that starts the finale in the tutorial_standards map.

Placing a trigger_finale

Selecting the radio model.

Go to the Entity Tool and select "trigger_finale" from the Objects drop-down menu.

Place it in the Camera viewport and open its properties.

Click on the World model row and click on the Browse button on the right side.

Type "radio" in the Filter field.

Select the model "props\terror\hamradio.mdl" and click OK.

The trigger_finale properties.

Change the Name to "radio".

Change the Disable Shadows field to "Yes".

This will allow us to send an input to "radio" or the trigger_finale and it won't allow a shadow to draw through the table.

There is also a Use Delay field that we use frequently. This is the amount of seconds before the finale will start after pressing the button. For now, just leave this as the default value of 0.

The nav areas marked with FINALE.

Save and compile your level with F9.

After the level loads, enter nav edit mode with Page Down.

Use "noclip" N to fly to where your trigger_finale is.

Select the nav areas around the trigger_finale and grow the selection just like you did with the BATTLEFIELD areas in the Panic Event/Minifinale.

Use "mark FINALE" in the console to add the FINALE attribute.

Note:You can see the nav areas flagged with the FINALE attribute of any map by using "nav_flood_select FINALE" in the console. Try it with the tutorial_standards map or any of the finale maps in Left 4 Dead to see how much of the nav is flagged with this attribute. You can also use nav_flood_select with other attributes.

Frequently used Nav attributes:

  • PLAYER_START
  • EMPTY
  • CHECKPOINT
  • BATTLEFIELD
  • BATTLESTATION
  • FINALE
  • NOT_CLEARABLE
  • NO_MOBS
  • OBSCURED
  • RESCUE_CLOSET
  • RESCUE_VEHICLE



L4D Level Design Basics Tutorial
L4D Level Design/Breakable Walls
L4D Level Design/Finale Events Part 2