Tags

wow (82) real.life (27) mathematics (19) info.tech (13) commerce (10) doomsday (7) runescape (4)

Search This Blog

29 July 2009

There's Something About Lady RNG

Computerised environments intrinsically lack randomness, so a random number generator (RNG) must be used where an unpredictable result is required. In effect, the RNG works on randomly generated data provided to generate a seemingly random number. Since this piece of programming code decides your fate and destiny in WoW in several cases (just like how Fortuna (Lady Luck) decides your fate and destiny in real life), it helps to know a bit about probability!

The golden rule of probability
Probability
is that branch of mathematics that deals with random phenomena to (among other things) determine how likely it will act in a certain way. It is important to know that, for truly random phenomena:
Random does not necessarily mean even or fair!

26 July 2009

My Computer and I: Connection Degeneration

My desktop is a 3-year-old Dell Dimension 8400. It was high-end at the time it was bought, but regardless is starting to show its age. I have upgraded some of its parts since then to keep playing World of Warcraft bearable, but of course it will need to be replaced eventually.

I have had my share of computer problems with my current computer (not suggesting that Dell is necessarily a poor computer assembler, mind you). Other than high school computing studies, I have had no formal training in maintaining a computer, so I usually need to end up experimenting when something goes wrong. Without further ado...

The Problem:
World of Warcraft's latency would be satisfactory when first logging on, but would increase over time, eventually causing WoW to disconnect.

21 July 2009

Not All Hitpoints are Created Equal

There is always question on whether the output of healing meters (healing charts) can be used in indicating a healer's performance. Unlike points of damage, where heals go matters. While everyone has use for a heal, some players will need it more than others.
 Healing meters (such as the 'Healing done' component of Recount) collect raw figures from the combat log. It becomes easy to assert, from skimming over the healing chart, that all hitpoints (HP) are created equal, with all players appreciating 1 HP of healing equally. However, I would not.

1. Factoring in absorptions
When a player inevitably takes damage, a healer can respond to it in any of two ways:

16 July 2009

WoW Mathematics: Your guild bank donation

Aim: To calculate the value of a deposit of gold to a guild bank (gbank) that discounts sales at a given rate.

Summary:
  • A donation of G gold to a gbank with a decimal discount rate of r will be worth G/r gold. This means that G is multiplied by 1/r, the reciprocal of the discount rate. Keep in mind that Full price = Discounted price + Discount.
  • As long as the discount rate is less than 100%, the donation is worth more than the amount donated (even in pure money terms)!
  • A gbank donation's impact will grow according to the sum of a geometric series and approach a limiting value.

The given:
  • The discount rate is fixed.
  • There is no cost in performing transactions and the full proceeds of a gbank sale are deposited back in.
  • All gold is used in buying other resources for resale. No gold is dispensed as a repair allowance (though it can be factored into the discount rate).

The detail:
Consider a gbank deposit of G gold. It is used in buying (for example) enchanting materials worth G gold. They are sold to a guild member at a discount rate of r, so the undiscounted proportion of the price is:
1 - r

The proceeds from that sale are:
G × (1 - r) = G(1 - r) gold

The proceeds are then used for buying potions worth G(1 - r) gold. There potions are sold at a discounted price of:
G(1 - r) × (1 - r) = G(1 - r)2 gold

Continuing this process for n terms, we get the following progression of values:
G, G(1 - r), G(1 - r)2, G(1 - r)3, ... , G(1 - r)n - 1

The geometric series 1 + 1/2 + 1/4 + ... , with its value represented by area.

This is in fact a geometric progression with common ratio (1 - r) and first term B. Note that, while the amount deposited diminishes, it keeps making an impact with each gbank sale. The total impact for n sales is the following sum of the corresponding geometric series:
S(n) = G(1 - (1 - r)n) ÷ (1 - (1 - r)) = G(1 - (1 - r)n)/r gold

As n » , (1 - r)n » 0 , and (1 - (1 - r)n) » 1 . So, the total impact approaches the following limiting value as resales are conducted repeatedly with that amount:
S() = G/r gold

Here is an example. Say 100 gold is donated to a gbank with a discount rate of 25% or 1/4. That donation will be worth:
100 ÷ 1/4 = 100 × 4 = 400 gold

15 July 2009

How Hitler became Chancellor and Führer

Since Adolf Hitler is a strongly condemned political leader, the circumstances around his rise to power are very interesting. Germany's desperation post-World War I, the Great Depression, hyperinflation and emerging communism promoted this process.

Suffering after WWI
WWI ended when the Treaty of Versailles was signed. In it, the Allied countries required Germany to pay war reparations, surrender territory and reduce the power of its defence forces. These provisions (along with a declaration to surrender) were a large blow to Germany's national pride. Also, the indecisiveness of the democratic Weimar Republic meant that laws took a long time to be passed.


This 1000 Reichsmark note was overstamped to a face value of 1 000 000 000 Reichsmark.

The German economy suffered in two ways during some of this period. The country was required to pay currency as part of its reparations, which was financed substantially by printing extra currency. This caused hyperinflation of the Reichsmark, even during the Great Depression following the US stock market crash. Face values fell well below the cost of the paper, leading to (among other things) persons' burning it as firewood during famine winters. Even though it ended after three years (with the introduction of the Rentenmark), a lack of popular confidence was cast on the financial system (substantially comprised of Jews).

Enter Hitler

Hitler's DAP (predecessor to the Nazi Party) membership card.

Seeking participation in politics, Hitler joined the German Workers' Party (progressing to the NSDAP or Nazi Party), which was notably far-right in the political spectrum. It promoted (among other things) nationalism, anti-communism, economic recovery and abandoning the Treaty (though the anti-Semitism can be observed in the rhetoric). He possessed a demonstrated charisma and easily appealed to most of Germany's citizens. Hitler eventually became the sole leader of the party.

The following circumstances existed for the Weimar Republic:
  • The system of government at this time was parliamentary republic under constitution, which made for several political parties to contend for the popular vote. In it, there was a President (elected by popular vote) who ceremonially signed bills into law, and a Chancellor (approved by parliament after nomination by the President) who led the party in government.
  • The Weimar Constitution codified civil liberties such as habeas corpus (freedom from unlawful detainment), freedom of expression, freedom of association, privacy of telecommunication and protection of property and home.
  • The Weimar Constitution allowed the President to issue decrees (which did not need parliamentary approval) in times of emergency.
  • The Weimar Constitution placed limits on the laws that can be made, and any deviation was considered a constitutional amendment requiring a two-thirds majority in the Reichstag parliament.

The fire at the Reichstag
Das Andere Deutschland was rendered verbot (forbidden) under the Reichstag Fire Decree.

On January 1933, Hitler was sworn in as Chancellor after nomination by President Paul von Hindenburg. A month later, a fire occurred in the Reichstag building. Communist Marinus van der Lubbe was found inside after the fire was extinguished, which the Nazi Party used as evidence of a Communist uprising. President von Hindenburg signed the Reichstag Fire Decree into law a day later, which allowed the beforementioned civil liberties to be suspended, so as to quickly arrest communists suspected to be involved and ban the Communist Party. However, Hitler (being head of the executive) also used the Decree to arrest anyone and suppress any publication deemed unfriendly to Nazi ideology.

Enabling Hitler to act

Hitler (wearing light clothing) presents his speech promoting the Enabling Act.

The Nazi Party started drafting an Enabling Act on March 1933, which would allow them to pass laws without needing it to go through the parliamentary process (as required by the Constitution). However, because it would allow deviation from the Constitution, it needed to be passed with a two-thirds majority as an amendment. On voting on the bill later in the month, support was won to achieve the majority, with the Communist Party banned at the time and the Social Democratic Party the only party to vote against it.

The perfect storm
The German people wanted the former glory of their nation to be restored. A communist happened to be found in the burnt Reichstag building. The Decree suspended several basic civil liberties, while the Enabling Act diminished the importance of the parliamentary process. Both could be renewed when close to expiry. Hitler was the sole leader of the Nazi Party and could wield both instruments as a dictator. The senile President von Hindenburg seeked minimal participation in politics, and when he passed, Hitler assumed his powers. It comes to little surprise that Hitler's rise to power was entirely legal and compatible with popular German opinion (however much it contained desperation).


A chocolate model of the Reichstag building, which would have melted under fire.

13 July 2009

The Spectrum of Classes


This spectrum diagram illustrates the position of WoW's nine playable classes in the class balance. It is two-dimensional: rigour is read along the horizontal axis, while tactic is read along the vertical axis.

Rigour: Any given class uses a certain balance of physical abilities (using a weapon and/or shield) and magical abilities (casting spells) in combat. The classes to the right place an emphasis on the magical, with the priest and mage being magically pure. Classes closer to the centre are hybrids, who appreciate a combination of the magical and physical. The druid enjoys most a balance of the two rigours. The mana line divides the spectrum into those who use mana and those who use other power sources. To the left are the classes who place emphasis on the physical, with the warrior and rogue being physically pure and to the left of the mana line. Hybrid classes near the centre can tweak their respective balances through talent specialisation, though pure classes at the extremes are resolute about their respective masteries.

Tactic: Any given class uses a certain balance of tenacity and ferocity when engaging in combat. Tenacious classes will mitigate the damage taken in an attempt to outlast the opponent. The tenacious warrior will reduce the damage taken initially through heavy armour, while the tenacious priest will heal the damage that is taken. Ferocious classes maximise damage dealt to end combat as soon as possible. The rogue and mage place emphasis on this. Tactic can be tweaked by all classes through talent specialisation. The classes at the junctions (warlock and hunter) enjoy the versatility that class pets bring, so as to exercise a level of control over this balance.

It would be important to note that I cannot find a place for the new death knight class in this spectrum. This may be due to the youth in their class development; Blizzard simply has not yet found a niche that they can fill. It may suggest any of the following:
  1. There are no more niches that a death knight (and future hero classes) can fill, and they are doomed to be patchworks of any of the nine original classes. In fact, death knights possess some of the qualities of paladins and warlocks.
  2. The domain of the death knight and other hero classes lies outside of this spectrum.

10 July 2009

Flagging for PvE

WoW's PvP flag is a game mechanic introduced in its earliest days, where it marks the player for player-versus-player (PvP) activity. While very simple, it also has ramifications on the player's experience of player-versus-environment (PvE) content. Needless to say, the flag does not need to be permanently up for a PvE raid.

In fact, the PvP flag should not be permanently up for a PvE raid. Patch 2.4.3 introduced the following change:
Zoning into an instance on a PvE realm will now drop your PvP flag.

The game approaches flaggable actions conservatively. While targeted attacks towards enemy players or targeted aid towards PvP-flagged friendly players will raise the flag, incidental attacks or aid will not. This means that:
  • Area-of-effect (AoE) heals (e.g. Prayer of Healing) cast by an unflagged healer will not affect flagged players, unless the flagged player was targeted on spell cast.
  • Raid-wide buffs (e.g. Prayer of Fortitude) cast by an unflagged buffer will not affect flagged players.
  • Healing a flagged player flags the healer.
  • Buffing a flagged player flags the buffer.

It would be safe to assume that a majority of players disable PvP. It is therefore best that, for a PvE raid on a PvE realm, any permanently raised PvP flag should be lowered! This is done though the player's portrait's drop-down menu shown above.

There is yet another important note for PvP flags. Many PvP quests written into the Quest Log will keep the flag up until completed or abandoned. If the flag stays up 5 minutes after disabling PvP, this may be why.

07 July 2009

Random Ramblings to 7 July 2009

Biomolecule
A molecule that can be produced by any organism. As would be expected, they make up much of the mass of organisms. The ones used in building a cell are glycerides (making up lipids (such as fat)), nucleotides (making up DNA and RNA), amino acids (making up proteins) and saccharides (making up carbohydrates).


Sucrose, a disaccharide biomolecule found in table sugar.

Network effect
A concept in economics that describes how certain goods or services become more useful the more consumers there are consuming it. Examples include operating system software (which allow greater compatibility between computer systems) and social networking facilities (where a single consumer can meet more people where more consumers are using it).

Queen's Counsel (QC)
Barristers in Australia are lawyers who specialise in presenting cases to courts. QC is the rank of barrister higher than junior and lower than Senior Counsel (SC). They are well known for their superior expertise in presenting such cases and the exorbitant fees they charge for this privilege.

Random number generator
Program code which allows a random numerical value to be generated. It is commonly used in programs to process instructions in random ways. In WoW, a /roll slash command runs the RNG to produce a random integer between 1 and 100. I use the phrase "Lady RNG" to evoke the concept of Lady Luck.

Scanning system (of a display)
A display's screen consists of a grid of cells (pixels), where each pixel's light output can be individually changed. The display would change each pixel by scanning from left to right on a single line, then from the top line down. An interlaced scan would scan alternating lines over two passes to render a full frame. A progressive scan would scan all lines in one pass. While interlaced scanning requires less information to render a moving picture (since only half of the frame is rendered in a pass), progressive scanning avoids interline twitter (where otherwise still objects seem to jiggle up and down). The i in 1080i implies that the scanning system used is interlace, while the p in 1080p implies that the scanning system used is progressive.

Stare decisis
The doctrine of precedent in as followed by courts. It translates from Latin to "to follow previous decisions". Under this legal principle, courts are normally required to apply the details of previous court cases to the current case if the facts involved are sufficiently similar. This provides for predictability for court rulings, but (by itself) does not allow judge-made law to change in accordance with changing values held by society.

(DSL line) Synchronisation
When a DSL modem is connected to a line, its clock is initially out of sync with the clock of the DSLAM upstream. Line synchronisation is the process through which each offset their clocks so their rhythms coincide with each other. The rhythm is needed for both the modem and AM to send and receive signals properly, since the electrical pulses are to be slotted in between the regular beats. During this process, the quality of the line is also checked. Line sync is the status of when the two are properly synchronised. Line sync can be lost when excessive interference enters the line.


The regime of a DSL internet connection.

Theobromine
An alkaloid substance which is most commonly found in cocoa and chocolate, having the chemical formula C7H8N4O2. It does not contain any bromine, but rather is named after the scientific name for the cacao plant (Theobroma cacao, of which the genus is Greek for 'food of the gods'). As is can be produced when caffeine is decomposed, it is a stimulant drug (increasing nervous system activity). It is infamous for causing poisoning in animals (in particular dogs) because they cannot digest it as fast as humans can.


A stack of chocolate pieces. The brown ones contain theobromine.

06 July 2009

The Clock-cycle Model of Chain Casting

Chain casting is an action where multiple spells are cast in succession with minimal delay between them. This is a crucial skill in raiding, where (provided that the person does not upset a mob's threat table) it improves individual performance, whether tanking, healing or dealing damage.

There are striking similarities between how one chain casts and how a computer's processor works. The following will draw parallels between the two, and may allow the chain casting process to be treated differently to frantic button-mashing. It would be important to know that the central processing unit (CPU) is the component of a computer that follows a series of instructions to produce a series of results. Only spells with cast times of some multiple of the global cooldown will be considered.

Processing an instruction <--> Spell casting
The instruction (in computing) is the atomic unit of a CPU's entire workload. the CPU can only digest one instruction at a time (though if it has n cores, it can process n instructions at the same time), and will do so in sequence.

When casting a spell, the player selects a target, decides which spell to cast and presses the appropriate button (in any order). The player does this repeatedly and sequentially while chain casting.

Clock generator <--> Global cooldown
A crystal oscillator which can provide a clock signal to a computer system.

By itself, the CPU has no concept of time and thus cannot process instructions (which take time). A clock generator provides a rhythm (the clock signal) to the CPU. As a certain amount of time passes between beats (clock cycles), the CPU can use this rhythm to perceive time. It will then process however many needed instructions in a clock cycle (or vice versa). The frequency of the clock generator is measured in hertz (Hz), or cycles per second.

The global cooldown (GCd) is the minimum time that needs to pass between spell casts, which (when not modified by Haste Rating or Bloodlust/Heroism) is 1.5 seconds. This corresponds to a frequency of 2/3 Hz. (As a side note, Haste Rating can reduce the GCd to 1 second and increase the frequency to 1Hz.) This GCd can provide a rhythm which avoids the need for button-mashing. Some long-cast spells (e.g. Greater Heal) take whole multiples of one GCd to cast, which can be spread over several multiples without losing the sense of rhythm (simply miss a few beats).

Clock multiplier <--> Chain casting ability

An interface showing a system's system clock settings.

The clock multiplier multiplies the clock rate by a certain number n, so that the clock signal actually used by the CPU is n times faster than the clock signal from the clock generator.

A novice player may be able to cast 1.5 second spells over 3 GCds (frequency of 2/9 Hz), which, if the GCd was used for the 'clock signal', would cast on a 'clock multiplier' of ~0.33.

Overclocking and resulting overheating <--> Practice and resulting fatigue
Overclocking the CPU involves setting its clock multiplier higher. This hastens the clock signal in use and causes the CPU to work faster. However, by working faster, the CPU also generates more heat. If it cannot withstand the heat, it will start introducing errors in its work.

With practice, the player can chain cast close to the maximum 'clock multiplier' of 1. However, if they keep this up, they will get tired (if done repeatedly, they may suffer burnout). In normal raiding, the practical maximum is not usually needed, and the player can afford to work suboptimally to keep their energy levels up.

Interrupt handling <--> Situational awareness
A (software) interrupt is an instruction for the CPU to stop processing a set of instructions (a process) and start processing another. It allows a single CPU to run several processes at the same time (multitask) by simply switching between them.

Raid encounters rarely involve simply casting spells at fast as possible. There are almost always random events to respond to. The player would chain cast as normal, then interrupt it to respond promptly to events needing attention. For example, a tank healer responsible for two or more tanks would need to switch constantly between them, devoting most of their attention to the target tank. Some attention would be reserved for recognising the healing needs of the other tank(s), as well as responding to the environment.

Something to consider
A Brunel University study found that working to a rhythm reduces fatigue. By casting in time with the GCd (or some other rhythm), less energy will be used and the player will be able to more easily sustain their performance in a raid.

01 July 2009

Playing the Blame Game

For many frustrated raiding groups, there are boss NPC encounters that stump them so many times. Those bosses might allow only a small margin of error; no matter how much knowledge and experience those players possess, a simple mistake made by any of them can snowball into a wipe. While still existing in all encounters, it is these ones that causation is most evident.

Simply, causation is the relationship between an event and its effect, such that the event causes the effect. Using this concept while diagnosing a raid wipe, the effect of the wipe can be credited to the event of a particular person's (or persons') misconduct (and therefore can be identified as something to avoid next attempt) if a causal relationship can be established.

Consider the following...
To demonstrate this type of troubleshooting, I will use a theoretic (though still plausible) attempt under the Archimonde encounter in the Battle for Mount Hyjal raid, the encounter in which causation may be the most evident. It would be important to note that, at level 70, the typical nontank health is ~7500. Archimonde has the following abilities:

Consider the following plausible scenario, where A is Archimonde, B and C are dps, H is a tank healer and T is the tank:
A casts Air Burst on B. B fails to break their fall (using Tears or otherwise) and dies from fall damage. Archimonde gains a Soul Charge (the silencing sort), which he immediately uses and cuts every nontanks' health by half. A then inflicts H with Grip, which C, who is the only curse dispeller in range, cannot dispel under the silence. A then casts Fear, making H run out of range of C into a Doomfire. H cannot heal through this much damage and dies. T is left vulnerable and A gains another Soul Charge. A uses it and kills both T and all melee dps. A starts spamming Finger of Death, eventually leading to a wipe.

Follies in diagnosing the raid wipe
The raid, diagnosing this wipe, would reasonably ignore all events after the tank's death and attribute the fault to the healer, who caused T's death by insufficient healing. (In the extreme case, T would be blamed for the wipe because they died!) Unfortunately, doing only this will not provide a full picture of the attempt. The insufficent healing was under extenuating circumstances, after all!

Diagnosing the raid wipe by buck passing

A buck and a set of playing cards used in poker.

H is now said to hold the buck. If H can attribute their fault to someone else's fault through causation, they are said to pass the buck, with such an action being called buck passing. Under buck passing between players, the buck will ultimately stop at a single player or group of people, who can be deemed ultimately at fault.

It would important to note that the effect of a preceding event is also the event of the succeeding effect. The following series of events can be constructed from the scenario, ordered according to reverse chronology and linked by causation:

  1. There is no one in melee range alive after the second Soul Charge and, after A's spamming Finger of Death, the raid wipes.
  2. T fails to receive sufficient healing and dies.
  3. H suffers unhealable Grip and Doomfire damage and dies.
  4. C is silenced from the Soul Charge and H is Feared out of range, so C cannot dispel H's Grip.
  5. B fails to break their fall when A casts Air Burst on them and dies, earning A a Soul Charge.

From this, the following series of causation can be derived:
  1. The raid wiped because the T was dead and not reducing A's damage to the raid in general.
  2. T was dead and not reducing A's damage to the raid in general because H was dead and not healing.
  3. H was dead and not healing because H suffered unhealable damage from Grip and Doomfire, which would have been healable if C dispelled Grip.
  4. H suffered unhealable damage from Grip and Doomfire, which would have been healable if C dispelled Grip, because C was silenced by the Soul Charge from B's death, and by the time C could cast spells again, H was feared out of range.
  5. C was silenced by the Soul Charge from B's death, and by the time C could cast spells again, H was feared out of range because ...



The series of events and causation can be merged into a chain of fault, which allows for a buck to be passed along it. By the time the diagnosis reaches point 5., the buck would have stopped at B, where B cannot blame anyone else. Here is where the ultimate fault rests, because if it were not for this player's action, the whole chain of events would not have happened! The raid would then consider this something to learn from and maybe would even discipline the player at ultimate fault.

Junctions of preceding causations
Could anyone along the series of events have introduced their own fault along the way, continuing the chain of events? If they did not introduce the fault, could the chain of events have terminated? Certainly (e.g. considering event 4., if C did not notice a 0.5 sec window of opportunity to dispel the curse from a H barely in range), but these can be ignored for any of the following reasons:
    • The preceding causation would have made it unreasonable for this person to have acted properly, e.g. if C was too distracted at considering the Soul Charge that they did not notice said window of opportunity.
    • A properly established causation can make said fault insignificant, and the chain of events would proceed the same way even if it did not exist.
    • For all practical purposes, the possible said fault is unlikely to happen. Whether it actually does is out of the scope of ordinary World of Warcraft raiding and can (depending on disposition) be predicted by divination or actuarial science.
    What if a proper causation holds yet the extra fault stays significant, if both (or more) were required for the series of events to continue? For example, considering event 3., there was in fact a second healer nearby (named J) which made the damage unhealable because they were not healing H? 3. then becomes a junction of two preceding causations: had C dispelled H's curse, J's healing would not have been needed, and had J healed H, C's dispel would not have been needed (at least for the meantime). Here, the buck splits into two, and they are passed up two separate branches of series of causation: while the raid figures out why Grip was not dispelled, they are, at the same time, figuring out why J was not healing H. The chain of fault then becomes a tree of fault.

    Groups at fault
    Consider causation 5. Say that B, while Air Bursted, was whispered to by another player D who was warning them (at the very last minute!) that they were airborne. This whisper distracted B so B ended up not interrupting their fall. There is then this following segment of the chain of events:
    1. B fails to break their fall when A casts Air Burst on them and dies, earning A a Soul Charge.
    2. D whispers to B about the Air Burst and B becomes distracted.
    There is then the following chain of causation:
    1. B fails to break their fall when A casts Air Burst on them and dies, earning A a Soul Charge because D whispered B about the Air Burst, distracting B from breaking their fall.
    2. D whispered B about the Air Burst, distracting B from breaking their fall because D anticipated B to fail to break their fall when A casts Air Burst on them and die, earning A a Soul Charge.
    3. B, as a matter of fact, fails to break their fall when A casts Air Burst on them and dies, earning A a Soul Charge because D whispered B about the Air Burst, distracting B from breaking their fall.
    4. D whispered B about the Air Burst, distracting B from breaking their fall because D anticipated B to fail to break their fall when A casts Air Burst on them and die, earning A a Soul Charge.
    5. B, as a matter of fact, fails to break their fall when A casts Air Burst on them and dies, earning A a Soul Charge because D whispered B about the Air Burst, distracting B from breaking their fall.
    6. etc...
    In this case, the buck is endlessly passed between B and D! This signifies that a group of people are at ultimate fault, where the faults of these people (in this case, B's and D's) are mutually dependent on each other. This is despite that the chain of events does have a definite beginning. Inspecting the series of events overall, it can be observed that if this group had not been at fault, the whole series of events would not have occurred! The raid would then consider this something to learn from and maybe would even discipline the group at ultimate fault.

    Of course, another person or group could have caused said group to be at fault; the group does not need to be at ultimate fault. This would extend the chain of fault further.

    Methodology
    The person or group at ultimate fault is the person/group who started the chain of events, and had they not done so, the chain of events as it is known to have occurred would not have existed. To find this person/group under buck passing:
    1. Construct a series of events from the wipe backwards. Each event should involve a single player's actions that make them at fault, and should exclude any actions beyond player control (e.g. the boss' behaviour).
    2. Construct a series of causation, connecting events together using "because" or "causes". Note where (if at all) the buck seems to pass between the same people and deal with it (no pun intended) accordingly.
    3. Merge the series of events and series of causation into a chain of fault. Analyse for any junctions (where an event joins several preceding causations) and groups at fault (where members are blaming on each other) and amend the chain of fault accordingly.
    4. Pass the buck up the chain of fault. Where the buck(s) stop(s), the person(s)/group(s) holding it/them are deemed to be at ultimate fault.