Info_player_start is one of the most recognisable entities among Hammer’s users, and it’s not just because it’s the default selection in the Entity Tool every time you open up a fresh session. Aside from a select few multiplayer games, it’s the single most important entity for determining where a player will spawn in the game world, and it’s silly appearance makes it easy to recognise once you’ve spent a sizable amount of time in the engine.
That’s not all it’s good for, though. It’s the perfect size to measure the width and height of the player’s body, making it a great scale for sizing up certain map elements, and it can be a useful reminder of the angle you want the player to go once the map loads.
On top of this, it’s one of the easiest entities to use, since it only has one optional Flag setting and there’s not really any way it can break. It can’t even be used in scripting or named, so you won’t be able to accidentally create scripts that remove the player’s ability to spawn into the map. It really is as simple as placing it down and leaving it alone.
Using Info_Player_Start Properly
Of course, it’s not flawless, and there are certain times where you’ll need to be careful with how you use it. For example, I’ve run into quite a few situations myself where I’ve placed an info_player_start onto some displacements (if you’re not familiar, that’s bumpy natural ground, like hills or grassy areas) and been stuck in the ground each time the map loaded. In other cases, I’ve accidentally put it in a position where the player will be seen by enemies before they get a chance to turn in the right direction.
Ideally, you’ll want to make sure that your spawn points are on flat surfaces (or non-solid displacements with clipping brushes in them) with a few units of distance between the bottom of the entity and the ground. This helps avoid issues with the player’s physical avatar, but doesn’t impact their gameplay experience (three units is equivalent to about five centimetres, which is barely noticeable even if you record and play back the footage at a high framerate).
Remember – this entity isn’t just a spawn point, but it’s the physical location your players will appear. Anything that can see, touch or block the entity will also block them, since Source doesn’t use any special spawning rules by default, even in multiplayer games. If you drop an info_player_start directly into the path of a mounted gun or explosive object, they’ll have to deal with the hazard almost immediately, which is usually seen as terrible level design unless it’s deliberately delayed long enough for them to escape.
This is doubly true for multiplayer games, where other players can retain knowledge that NPCs and AI-controlled characters can’t. Say you have a spawn point in a very visible, accessible location: there’s nothing stopping the other team from standing right behind it and blowing away anybody who appears there. This is the main reason why games like Day of Defeat: Source use one-way ramps that block access to the spawning areas, making it impossible for the enemy team to see the spawn points in normal gameplay.
Things To Remember
- One info_player_start in every map can be given the “Master” flag. This means that it will override all other copies of the entity in the map, which is great for games where you need to force a player to always spawn in a certain area. This can also be used for testing purposes, since you can set yourself to spawn further in the level without having to remove all your other spawn points.
- The “Green Freeman” model used for this entity (in most games) shows the exact measurements of the player’s height and width while they’re standing, and it can be used as a scale for tight areas and claustrophobic environments. Note: Certain Source games, notably Team Fortress 2, have different player measurements. Counter Strike: Global Offensive uses the in-game Terrorist and Counter-Terrorist models instead, but the entity’s bounding box is still useful as a virtual measuring stick.
- If you’re using cordoning to compile certain pieces of a map without including the others, you can use different info_player_starts to set up different spawn points for each area. This is another good use of the “Master” flag, since you can keep one spawn point as the main one while still having others for specific section you want to test.