Skip to end of metadata
Go to start of metadata

Today I will be showing how to add end game cinematic camera movement at the end which will replace the generic "level failed" screen, a video can be found below.




NOTE: KVP is an abbreviation for "Key-Value Pair". When entering a KVP in the Radiant Entity Window, ensure that you have the entity selected first. If you do not have an entity selected, Radiant will automatically add the KVP to the "worldspawn" entity. This is BAD and will likely cause your map to crash while loading! In these pages, KVP's are referred to in this format: Key | Value. Note they are separated by a pipe ( | ) character. This character should be ignored when entering the Key-Value Pair.
To properly add a KVP to an entity:

  • Select the entity by holding the Shift key on your keyboard followed by clicking the entity(ies) that you wish to add a KVP to.
  • Enter the first value (this is the Key) into the text field labeled "Key"
  • Enter the second value (this is the Value) into the text field labaled "Value".
  • Press the Enter key on your keyboard to save the KVP to the entity. You should see the KVP appear in the entity's KVP table (located above the Key text field).

  • Open Radiant
  • Right click in the 2D view and navigate to script>struct. You will see a small orange box spawn, with the box selected open the entity window and type the KVPs:







Note: INT stands for "integer". In the value place a whole number of your choice must be entered for the speed of the camera. Usually between 10-40 is good.

NOTE: "targeting" is a method for linking entities together in a group. Targeting has menu useful applications, such as controlling an entity that has multiple pieces. For example, the Mystery Box uses targeting to link each separate script_model part of the box to the main trigger_use. Targeting generates automatic targetname and target KVP's on the affected entities. When two items are properly linked together, a red or blue line is drawn from the main entity to each of its targets/links in Radiant.
To properly target one item to another:

  • Determine which of the affected entities is going to be the "root entity". The root entity is the entity that will be referenced by name in script. Root entities are found in script by using getEnt("root_entity_targetname", "targetname");.
  • Determine which of the affected entities is going to be the target/link. The target/link entity(ies) are the "children" of the root entity and do not need specific targetnames. Target/link entities are found in script by using getEnt(, "targetname");
  • Deselect all items by pressing ESC on your keyboard
  • Select the root entity first.
  • Next, select one of the target/link entities and press W on your keyboard. This will create the link between the two entities. Repeat this step for all target/link children of the root entity until all entities have red or blue lines connecting them to the root entity.

  • Create another script_struct and place it where you want the camera to move, and at the angle you want the camera to be in at the end of the cinematic transition.
  • You can now link the two structs together. The first script_struct you applied the KVPs to is the root entity, and the second one you placed for the camera to move to is the target/link. Once they are linked they should look like this:


Note: You can use this as many times as you want, copy and place the two structs as you please around your map for randomized different camera angles on your end game screen.


  • Save and compile your map, simple as that! You have officially added end game cameras to your custom zombie map.

Credit: SajeOne