L4D Level Design/Finale Events Part 1
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:
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_dynamicwith an animation).
trigger_multipleto check if all the survivors have made it to the escape vehicle.
info_survivor_positionsfor 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).
point_viewcontrol_multiplayerwhich is a camera for the outro.
env_fadeentities to fade in/out the camera during the outro.
- An entity called "
env_outtro_stats" for the credits to roll during the outro.
prop_minigunthat the survivors can use for defense.
rescue closet– a small room with a door and three
Placing a trigger_finale
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.
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.
Save and compile your level with.
After the level loads, enter nav edit mode with.
Use "noclip"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.
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_selectwith other attributes.
Frequently used Nav attributes: