L4D Level Design/Checkpoints

Jump to: navigation, search

[edit] Checkpoint Requirements

In the last section, you made the simplest nav mesh that a level can have. The nav areas were marked from "PLAYER_START" to "FINALE". This allowed the flow to compute for the director to properly spawn in the Infected. There are other types of flows that Left 4 Dead uses. Every campaign consists of 5 levels:

  • Level 1: PLAYER START to CHECKPOINT
  • Level 2: CHECKPOINT to CHECKPOINT
  • Level 3: CHECKPOINT to CHECKPOINT
  • Level 4: CHECKPOINT to CHECKPOINT
  • Level 5: CHECKPOINT to FINALE

A Checkpoint Room is the room that transitions from one level to another. To make a checkpoint room, you'll need to have several things set up in your level:

  • A Checkpoint Door – that the player uses to enter the room
  • An info_changelevel brush entity
  • An entity called an info_landmark
  • A nav area labeled as CHECKPOINT inside the room
  • A level to transition into

The destination level also requires several things:

  • A Checkpoint Door – that the player uses to exit the room
  • An info_landmark with the same name as the previous level
  • A nav area labeled as CHECKPOINT inside the room
  • An info_survivor_position inside the Checkpoint Room

[edit] Creating a Checkpoint Door

Selecting prop_door_rotating_checkpoint from the Objects list.
Selecting prop_door_rotating_checkpoint from the Objects list.

Let's start with the checkpoint door.

Open your level called "tutorial03.vmf" in Hammer.

In the Camera viewport, go to the upper story area in the 2nd room you created and look at the wall above the platform you created.

Click on the Entity Creation Tool on the Tool Bar and select "prop_door_rotating_checkpoint" from the Objects drop-down menu.


Placing the prop_door_rotating_checkpoint.
Placing the prop_door_rotating_checkpoint.

In the Camera viewport, look at the corner where the platform meets the wall and left-click to place the prop_door_rotating_checkpoint.


Selecting the checkpoint door model.
Selecting the checkpoint door model.

Open up the Object Properties dialog box by pressing Alt+Enter or by going into select mode and double-clicking on it.

Click on the World Model row and click on the Browse Button on the right side. Type "checkpoint" in the Filter and select the model "checkpoint_door_02.mdl".

Click on the OK Button.


Editing the properties of the checkpoint door.
Editing the properties of the checkpoint door.

Now, change the following properties:

Name: "checkpoint_entrance"

Pitch Yaw Roll (Y Z X): "0 270 0"

Disable Shadows: "Yes"

Spawn Position: "Open counter-clockwise"


The checkpoint door in the Camera viewport.
The checkpoint door in the Camera viewport.

Click on Apply and then close the window.

You should now see a checkpoint door model in the Camera viewport.


Moving the checkpoint door into position.
Moving the checkpoint door into position.

Position the door so that it's sitting on the platform floor and inside the wall at the middle of the thickness of the wall. You may need to adjust the grid size to move it into position.

Now we have a place on the wall where we want to cut a hole for the door.


[edit] The Clipping Tool

Selecting the wall that you will need to clip.
Selecting the wall that you will need to clip.

Instead of scaling and duplicating this wall brush that we need to cut a hole in, we're going to use the Clipping Tool to split our brush into the sections we need to make the hole.

Select the wall brush that the checkpoint door is sitting inside.

Click on the Clipping tool icon Image:l4d_hammer_toolbar_10.jpg on the Tool Bar to go into the Clipping tool. (You can also press Shift+x).


Clipping the wall where the side of the door is.
Clipping the wall where the side of the door is.

In the Top viewport, left-click and drag down where the left edge of the door is.

Let go after the two points form a vertical line like in the image above.

You should be left with the brush split into a white outline and a red outline with the helper nodes of the clipping tool in place along the middle. The white outline signifies the part of the brush that will be left behind and the red outline shows what will be deleted.

Press Shift+X once. This will flip which side has the white outline and which side has the red outline.

Press Shift+X again. This will change the clipping mode to keep both sides of the split.

Press Enter to make the split. You can press Esc to exit the tool without any changes made.

Now that we have one cut made, we need to make a couple more. Select the wall brush with the door still sticking in it and enter the Clipping tool again.


Clipping the wall in the other side of the door.
Clipping the wall in the other side of the door.

Decrease your grid size so that you can accurately clip along the edge of the right edge of the door and then left-click and drag to form a vertical line down that edge.

Press Enter to perform the split.


Raising the brush above the door.
Raising the brush above the door.

Select the brush that the door is still stuck inside and raise the bottom of it in the Side viewport so that it lines the top of the door model.

We now have the hole for our checkpoint door to sit in.

Remember that now that we've created a hole in our level, we need to seal it. We will seal this hole with the checkpoint room.


Moving the helper node to the side where the door will rotate.
Moving the helper node to the side where the door will rotate.

Select the checkpoint door again for now and you'll notice that it has a blue sphere in the middle of it in the Camera viewpoint and a circle in the middle of it in the other viewports.

In the Top viewport, left-click and drag to the left edge of the brush.


Moving the helper node down.
Moving the helper node down.

There should still be one circle/sphere at the center of the model. Drag this one to the same spot on the Top viewport but also drag it down in the Side viewport so that its under the first one that you dragged.

What you've done is make the prop_door_rotating_checkpoint use this line as the pivot for which way the door rotates.