SiN Episodes - Tutorial - Arena Mode Map
This tutorial expects you to have this amount of knowledge within the topic to follow along smoothly.
Start off by creating a point entity with class npc_druglab_grunt_pistol somewhere in your level and give it a name like 'arena_grunt_01', this npc will be used as a template together with the game's dynamic difficulty system to spawn enemies throughout the map when the player is not looking and to upgrade them depending on the player's performance. Set the Squad Name the npc is in to 'arena_squad_01' which will make all of the spawned enemies in the same squad so that they can share information regarding the player's location and the seriousness of the situation. Also check the flags 'Fade Corpse' and 'Template NPC', so there is not laying bodies everywhere and the entity can be used as a template.
Next make another entity of class npc_template_maker with the following keyvalues and check the flags 'Infinite Children' and 'Don't Spawn While Visible':
|Name of Template NPC||arena_grunt_01|
|Name of Destination Group||arena_spawn_01|
- Start the SiN Episodes SDK.
- Launch Hammer.
- Create a new map.
- Create a room to hold your template(s). This will be called the template room in this document.
- In the template room, create an npc_druglab_grunt_pistol entity.
- Name the entity. (We'll assume that you have named it arenaGrunt01.)
- Set the "Fade Corpse" flag.
- Set the "Template NPC" flag.
- In the template room, create an npc_template_maker entity.
- Name the entity. (We'll assume that you have named it arenaTemplate01.)
- Set "Start Disabled" to Yes.
- Set "Frequency" to -1.
- Set "Name of Template NPC" to arenaGrunt01.
- Set "Name of Destination Group" to arenaSpawn01.
- Set the "Infinite Children" flag.
- In the template room, create a logic_auto entity.
- Create a new OnMapSpawn output pointing to the Enable endpoint on arenaTemplate01. Have a 5 second delay on it.
- Create the remainder of your map.
- When you are ready to place spawn points for the grunts, create several info_npc_spawn_destination entities around the level.
- Name all of them arenaSpawn01, or whatever you named them in step 6.5.
- Create an info_player_start entity somewhere in your level.
- Add whichever weapons you want the player to start to the level, and position them inside the bounding box for the info_player_start entity. Remember to set their ammo counts.
- If you want your map to run the default 15 minutes, go on to the next step.
- To change the time limit, go to the Map menu, and select Map Properties...".
- Select the "Arena Mode Time Limit" property, and set it to the number of seconds that you want the level to last. (15 minutes is 900 seconds.)
- Save your map with a name starting with arena_. If your map name does not start with arena_, it will not appear in the map list.
- Compile and run the map.
- Make sure that you compiled your map.
- If you set it up so that the game runs automatically after every compile, exit out to the main menu.
- If it doesn’t run automatically, compile then run Sin Episodes.
- Once there, click on Play Arena, where you select maps, your custom map should now appear in the list as long as you named it correctly (ex, arena_xxxx).