Overview:
"I also find DOOM's spawn system to be far more intelligent than some shooters – I can't think of an instance where I've spawned and gotten immediately shot in the back." - Jez Corden, Windows Central
http://www.windowscentral.com/doom-review-id-software-reclaims-its-heritage-fps-royalty
Design Goals:
Doom uses more traditionally designed randomized live-spawning systems similar to Unreal Tournament and Call of Duty for their multiplayer matches.
This kind of system has to prioritize:
Systems Implemented:
- Balancing of spawn influencer values
- Placement of spawners based off influencer strengths
- Use Excel simulations to test out values from live matches using exported data (json)
- Use Excel simulations + Test Values to narrow "problem" spawners
Accomplishment:
"I also find DOOM's spawn system to be far more intelligent than some shooters – I can't think of an instance where I've spawned and gotten immediately shot in the back." - Jez Corden, Windows Central
http://www.windowscentral.com/doom-review-id-software-reclaims-its-heritage-fps-royalty
Design Goals:
Doom uses more traditionally designed randomized live-spawning systems similar to Unreal Tournament and Call of Duty for their multiplayer matches.
This kind of system has to prioritize:
- Reasonable Time-To-Action (seconds) upon Spawning
- Balancing Influencer Strengths + Spawn Locations to minimize abuse and unfair spawn placements
- Preserve and complement the pace and flow of Level Design movement
Systems Implemented:
- Balancing of spawn influencer values
- Placement of spawners based off influencer strengths
- Use Excel simulations to test out values from live matches using exported data (json)
- Use Excel simulations + Test Values to narrow "problem" spawners
Accomplishment:
- I spent 3-4 months learning excel and developing this simulation with Engineers and other System Designers to create the optimal way to balance influencers and polish the spawn system
- Doom ended up with a very polished and balanced spawn system:
- It has been praised by reviewers and players
- It has not been a negative experience for those who paid less attention
design considerations
For Spawning:
- Spawned players should be relatively close to their allies in proximity
- Players should have, optimally, a 2-3 second window before encountering enemies upon spawn
- The general speed in which humans reorient to new surroundings is 1-1.5 seconds
- 1 vs 1 encounters are ideal. 2 vs 1 encounters are okay. 3 vs 1 encounters are bad.
- It's better to spawn players behind allies, rather than between friends and foes.
Tool Explanation
Importing Json File:
Each match in Doom, regardless of mode variant, allowed us to export json files that contained the spawn data of that match.
I imported these json files into Excel and it was parsed into the key data needed to make informed decisions and simulate events:
Each match in Doom, regardless of mode variant, allowed us to export json files that contained the spawn data of that match.
I imported these json files into Excel and it was parsed into the key data needed to make informed decisions and simulate events:
- Reference player
- Influencer Strength (weighted value)
- Server Time
Server Time:
Server Time was important for us to track, because we needed to know several events:
Server Time was important for us to track, because we needed to know several events:
- When did someone die?
- When did someone respawn?
Image Explanation:
In this particular instance, the newly respawned player shows up at the bottom right side of the map, close to his ally at the green arrow. There are several other locations that are viable, such as to the left and right of the corner. However, the spawn influencers helped us understand the best choice it took.
- Blue squares = allies
- Red squares = enemies
- Grey squares = allies that died
- Yellow square = where referenced player spawned
- Red/Black #'s = Influencer strengths on spawners
In this particular instance, the newly respawned player shows up at the bottom right side of the map, close to his ally at the green arrow. There are several other locations that are viable, such as to the left and right of the corner. However, the spawn influencers helped us understand the best choice it took.