Corrupted Blood Incident

From Simulace.info
Revision as of 17:25, 20 January 2021 by Frym06 (talk | contribs) (Healers)
Jump to: navigation, search

Work in progress :)

World of Warcraft (WoW) is a massively multiplayer online role-playing game (MMORPG) released in 2004 by Blizzard Entertainment. Corrupted Blood was a virtual epidemic in the World of Warcraft an it began on 13 September 2005, when Blizzard introduced a new raid called Zul'Gurub.

Problem definition

The Corrupted Blood original debuff informations. Debuff was changed many times during early phases of inicent.

Outbreak originated in the new dungeon Zul'Gurub and since then it is known as the "Corrupted Blood incident. Dungeon boss Hakkar was a blood god also known as the Soulflayer, who had, among his arsenal of weapons, a "debuff" spell called "Corrupted Blood." Infected players would suffer damage at regular repeating intervals, draining away their health. Debuff also damaged other near by players and rapidly spread. It was unintentionally released into the larger game world and became the first disease to affect entire servers.

The "Corrupted Blood incident" was not intentional. The biggest factor in the rapid spread of the disease was a glitch in the programming. Non-playable companions of players could became infected and could carry debuff out of the dungeon. This turned them into asymptomatic carriers and a form of vector for the debuff. As Corrupted Blood infection spread uncontrollably. During the epidemic capital cities were abandoned as players rushed to evacuate to the relative safety of the countryside, leaving urban areas filled with dead player characters.

Blizzard had to fix the problem by applying hot fixes, patches and multiple hard resets of the servers. The plague ended on 8 October 2005, when Blizzard made pets unable to be affected by Corrupted Blood debuff. Debuff could not get outside of Zul'Gurub. The incident has helped many scientists model real-life epidemics since they would be able to draw on hard data showing how players actually responded during an outbreak.

Game vs. real-life

Unlike real life, the World of Warcraft virtual environment is specific in many ways. Among the main differences important for simulating the spread of the debuff epidemic are the following:

  • Unlike any other real-life disease, debuff has an extremely high infectivity, spreading to all players in the spread range.
  • Debuff also has a very rapid course. Players with low levels or health can be killed instantly. Players with higher levels can survive a certain duration of the debuff.
  • Players have a defined amount of health (HP). If their health drops to zero they are moved to the graveyard in the form of a spirit. The spirit cannot interact with the environment or use action abilities.
  • Death is not permanent. If a ghost player reaches the place of his death he can revive with a certain amount of health.
  • A player character can have a "healer" class. Healers can use their abilities to increase the health of injured players or remove debuff.

Method

The NetLogo program was used to develop the simulation. NetLogo is used for agent simulations. In this case, the reactive agents represent player characters in capital city.

Model

The model represents a simplified environment of the capital. In the capital, players perform a huge number of interactions with the environment (using mailboxes, completing quests, auctions, logging into arenas and battlegrounds, improving their professions, using travel hubs and portals to travel to other cities, etc.). Due to the number of "objects" that could be the target of players' movement, the objects are not directly present in the environment and the movement is simplified as a route to random targets on the map.

The model is quite adjustable using the user settings on the Interface screen. The user can choose the following parameters:

  • Number of players present
  • Number of infected players at the beginning of the simulation
  • The percentage chance that a player's character is a healer
  • Whether healthy players should avoid being infected
  • Whether infected players should distance themselves from other players
  • Whether players should revive after a certain time
  • The health threshold at which healers heal players rather than remove the Corrupted Blood debuff
  • Set the percentage chance of making a mistake (distancing / avoiding)
  • Whether healers should have specific classes with specific abilities and healing style

The simulation is set up with the Setup button and started with the Go button.

World setting

The general setup of the world is based on the available data as follows. The distance in WoW is calculated in yards, so in the simulation one yard equals one patch. The characters move at a speed of 7 yards per second. The range of abilities (heal or spells) is higher than the distance to which the debuff spreads. All numeric data is scaled to seconds, and Poisson or Normal distribution is used for interval values (such as heal value or debuff damage). Each time the agents are moved by 7 yards (jump 1 seven times), the numeric data is recalculated. There are two types of agents. Regular characters (no special abilities) and Healer characters (can heal other players and remove debuffs). Agents can be in three states. Uninfected (may become infected), Infected (spreads debuff, cannot become infected) and Dead ("immune", not permanent). The simulation cannot be started if the specified number of infected is greater than the total number of players. The simulation is stopped if no one is infected on the map.

The healers-percentage slider determines the percentage chance that the character is set as a healer. The calculation is based on the generation of random numbers and a comparison with the settings.

Avoid-infected sets up avoiding infected characters. Uninfected agents observe the area in front of them, and if they see an infected character, they turn right. They repeat this action as long as there is an infected player in the area in front of them, or until they turn 360 degrees. Only then will he take a step forward. The viewing width is set to 180 degrees and the surveillance is set to a value higher than the infection distance. This allows healer-class characters to heal and remove debuffs without becoming infected. The range of healing abilities was reported to be greater than the infection distance.

The infected-distancing setting determines whether infected characters should be removed from other characters. The logic is that if a character is infected and registers around an uninfected player, they will stop rather than continue to their goal and risk spreading the infection. The effect of this setting has a greater effect only in combination with avoid-infected ON.

The revive setting determines whether the dead character should be revived after a certain time. According to the available information, the journey from the nearest graveyard to the city center takes approximately 15 seconds. After about this time, the character, as in the game, is brought back to life with 20% of maximum health.

The healing-threshold slider determines the percentage of remaining health that healer agents begin to heal instead of removing debuffs from infected characters. This decision is up to each player, so the default value is 50%.

Everyone makes mistakes. Mistake-factor is used to correct the perfect behavior of protectors when setting avoid infected and infected-distancing ON. Some players may choose to spread the debuff intentionally, others may not notice the infected surrounding player, and the infected player may mistakenly get too close to others. To put these situations into the model, the percentage chance of making a wrong movement of players is determined.

Setting various-healers is one of the more interesting. Healers defined in the settings above can take on different classes when set to ON. Classes can be priest, druid, paladin, shaman. Each class can specialize in healing or damage, and this will make it stronger in that role. This factor is neglected to simplify the model. Optionally, it can be partially replaced by healers-percentage settings. According to the available data, the proportion of characters with a healer class was 30%. Specifically, 10% priest, 8% druid, 6% paladin and 6% shaman. Details of the healing style of specific healer classes are described below. When set to OFF, all healers are set as a "universal healer" which corresponds to a combination of all specific classes. The spell power of all healers is derived from HPS (heal-per-second) data in dungeons and statistics of the most used spells of each class.

Healers

The following healer classes can appear in the model based on the percentage distribution. Each class has a unique healing style. Not listed is a "universal healer" class that was built for simulation purposes. It is more or less about the balanced style of all the mentioned classes present in the game. Universal healers give very similar performance as a combination of all other classes.

Priest

Logo priest.jpg Priesti focuses on healing small groups of characters with medium-strength heals. In the model, priests target 1-2 characters in the healing range with an average HPS of 213.

Druid

Logo druid.jpg

Paladin

Logo paladin.jpg

Shaman

Logo shaman.jpg

Results

Conclusion

Code

Resources

  1. Data about population, Percentages of classes
  2. Average HP endgame
  3. General info, Average HP
  4. https://www.gamesradar.com/there-was-just-a-panic-players-scientists-and-blizzard-look-back-on-world-of-warcrafts-corrupted-blood-plague/
  5. https://fahrplan.events.ccc.de/congress/2007/Fahrplan/attachments/984_paper.pdf