Repost : Interaction Design : Action and Reaction back to the Basics

The Basics

This one is going to get a bit symbolic/math-y and I will be pulling some numbers from averages of personal experience and from what I can find on the web a large.

At the most basic level all game play become a simple 2 part procedure: action/reaction, cause/effect, stimuli/response.  So to keep things simple for now lets completely ignore actually making a mistake and reacting in the wrong way.

This gives us this:

Action \Longrightarrow Reaction

We can then define Reaction Time as the average of the time it takes to convey the Action added to the average of the time to React to the Action.  I use average here because there are several other things going on in both the Action and the Reaction.

Action Side of the Process

So on the action side of the equation the main compounding factor that adds time to the process is Latency.  From my experience given my location in the US, the average latency that I experience to my server is about 125ms.  I have sometimes had it as low as 70ms and not usually higher than 180ms.  To state simply the Latency component is 125ms, a more accurate way of stating the range is 125 +/- 55ms.

An additional factor that can affect the network latency and Action timing would be processor/graphics lag.  If your computer is under-powered in either raw processor power or the graphics card power it can also cause some lag especially in the graphics side.

This side of the equation is simple and the most straightforward of the entire evaluation.

Action = (\vartriangle Latency) + (\vartriangle CPU Latency)

Reaction Side of the Process

This is where it gets complicated and has the greatest amount of variability across the player base.  This is also where the majority of the “difficulty” of the game comes into play or is at least emulated.

Interpretation of Action

When first reacting to a stimulus you first have to notice or be aware of the event to which you are suppose to react.  For our purposes here lets call this factor Identification Time (IDt) and since this can vary between players in general we will be using an average which gives us the following symbol for later use.

 \vartriangle IDt

Now if given a blank background and a high contrast visual reference or a silent room with one sound to signal the event, we can in general take it that the IDt will be somewhat consistent for any given player.  However we know that this is for the most part not true.  Yes there are add ons that will still play a sound when all other sounds are turned off but the average player does not use them.  Additionally if it is a visual cue or effect to be aware of there are many factors that can make it hard to see or notice.

First lets talk about Firelands and that almost everything is a shade of red.  You have to look for the red glowing make on the ground that is different from the other friendly red marks on the ground not to mention which layer of the texture effects separate it out of the yellow holy, green nature, and white light of the healer effects that you do want to stand in.

All of these sound and visual complications help to hide or make it hard to ID the event to react to, for sake of this discussion I will call this Event Obfuscation.  Again the amount of obfuscation is varies greatly between players based upon many metrics and reasons.  User Interface, Screen Resolution, Graphics Detail Settings, Particle Effects, and many others.  This leaves us with the following symbol for the sake of this post.

 \vartriangle EOb

Given that this is a compounding factor on the Identification time we end up with the following for Interpretation of Action part of the Reaction side of the equation.

 Int Action = (\vartriangle IDt * ( 1 + \vartriangle EOb))

Decision of Response

Now we are at the point where the server has communicated an event has triggered and we have identified what the event is.  What we do here is decide what we have to do about it.  The simplest would be nothing and just continue on as we were.  So to represent the simplest case we will say the average of just doing the same and we will call it the base response.

 \vartriangle BR

Many times in a raid we do not have the simplest case.  There is an additional complication at this step and I am going to go out on a limb here give a formula that is just my guess as to a trend in how much the number of options that are possible and parameters to consider when making an actual reasoned reaction.  This would especially be true when learning new fights before the programmed and reflex memory gets taken into consideration.

If we make a fully connected graph with N nodes where each node is a variable to consider and the number edges are the processing penalty to fully contemplate a solution the time multiplier to apply to our base response.  We will call it processing delay (PD).

 PD = N!

When we go to make the decision we don’t contemplate the extraneous and extremely unlikely options so already some of the N are limited.  I don’t have any numbers to prove any of this I am just thinking here so I will limit the PD to a more reasonable value as the following.

 PD = \log N!

So our complete Decision of Response time would be the following.

 (PD)*(\vartriangle BR)

Now about the log of N factorial as a limiting multiplier on the decision process was to keep the number realistic because there really end up being tipping points where when people get under pressure too much they will end up just picking something at random to react for the sake of reacting.  This can also be considered a face rolling moment.

Time Required to Perform Reaction

The last thing to do after you identify something to react to and then decide what you need to do what is left is actually doing the action (PR).  This is a pretty straight forward variable.

\vartriangle PR

Now the time to perform the reaction required can vary greatly between classes and positioning of said classes.  Mages, Warlocks and Hunters have some of the shortest times, as long as the environment allows for it to work.  I refer to Blink, Demonic Circle and Disengage.  Most classes will need a set amount of time to get out of the fire so to speak.  Now when tuning an encounter for a normal mode this time allocation should be pretty generous to allow players to have sufficient time to get out of the way.  Additionally what ever warning that is given should also have some graphic representation of where the safe and the harmful zone is, especially if it is a one shot power or near one shot.  This component was completely overturned at release for Cataclysm for Heroic The Stonecore or as myself and many others referred to it as StoneWhore.

So putting it all together we get the following.

 TotalTimeForEventReaction=(2*((\vartriangle Latency)+(\vartriangle CPU Latency)))+(\vartriangle IDt * ( 1 + \vartriangle EOb))+((PD)*(\vartriangle BR))+\vartriangle PR

Or the Total Time for Event Reaction is equal to 2 times the total latency plus the time to identify the event plus the time it takes to decide what to do about the event and then plus the time to actually implement the decision, movement or cast time.

What does it all mean?

In the end not much Blizzard will do what Blizzard will do.  Also the players will do what the players will do.  Blizzard says that they have needed to make encounters more difficult and complex because we started to use addons.  However players started to use addons to make up for limitations in the interface and to simplify their decision trees.  So we have had an arms race on both sides and we ended up with Cataclysm after a few expansions.

Like and don’t like what they are doing with the random raid finder, while interesting and a useful tool it is more of a band-aid on a gushing wound.  The wound needs reconstructive surgery and in one of my last posts I stated my opinion that the solution should be 1 raid size between the 2 current sizes and let the player base adjust to that one size and be done with it.  I wish for that because it would then allow them to focus on building multiple levels of difficulty per each boss encounter for different amounts and levels of rewards based upon difficulty and not raid size.

I ultimately think that it is almost a lost cause for Warcraft, I just hope they learn from all of these issues with project Titan what ever it may be.

MoP Beta – Active Tanking Changes Needed

I copied over a DK to the Beta Servers last night and I have looked at the tanking abilities of all 4 current tanking classes.  I don’t know if I will have a pre-made character copy available for a Monk as I already used 4 to create a Paladin, Druid, Mage, Warlock with base level gear and not the Hodgepodge I have on the live servers.

I have yet to tank with any of the 4 other than the instance run that I did the other day on the Druid.  I did however switch to the tanking spec on the others and looked at the abilities that were available and honestly I am not impressed.  The active tanking model has been in place for DKs since their initial implementation, and it was interesting because it was the only tank that used the model.  Now that all 4/5 will be using the similar model it is really weak on the other classes especially the single resource classes Warrior and Guardian Druids.

I mean weak as in an uninspired system, I am not saying that it would be ineffective, effectiveness can be forced by tweaking numbers.  I am talking about the interrelation between the abilities and resources or lack there of in the Warrior and Druid.  There is at least a little interactivity with the paladin abilities and I think that is because for an active tanking model like Blizzard is trying to implement only works when the class has a dual resource system.

  • Paladin : Mana/Holy Power
  • DK : Runes / Runic Power
  • Monk : Chi??  Can’t find enough information at the moment and don’t have one in Beta.
  • Warrior & Druid Guardian : Rage….

I think for the active tanking model to work well, especially in the case of Warrior and Druid Guardian, most abilities need to have 2 of the 3 basic concepts involved with tanking incorporated into them.  To quote my earlier blog post with this concept.

There are 3 main components to the one resource system that Warriors and Bears find themselves in.

  1. Resource Generation
  2. Factor 1
  3. Factor 2

In the case of Tanking the Factors become Threat and Mitigation, in a DPS role they become Damage and Debuffs.  In the case of the warrior class what is mitigation for tanks can be Debuffs for the DPS version I am thinking of a damage dealing decrease that some classes get, I can’t remember off the top of my head at the moment if there is such an ability at the moment.

So with 3 options and pick 2 we get 3 combinations.

1 & 2, 2 & 3 and 1 & 3, all abilities that have no cool down or a short cool down should do one of the 3 combinations.  The magnitude of the effect should be based upon the length of the cool down, GCD ignored of course.

Giving Us for Tanking:

  • Resource Generation & Threat – (A)
  • Resource Generation & Mitigation – (B)
  • Threat & Mitigation – (C)

Taken from this post.

As it was not the point of the post I got a little wordy and vague there the 3 factors upon further reflection can be found in any tanking system active or passive.  In the case of a passive tanking system most of them are outside of your control other than threat in earlier WoW expansions.

This model actually already exists with the DK and Paladin tanking implementation.  Some of their abilities generate one or both resources while doing something else.  Actually this is the main play feature that has made DKs able to work as an active tank and to a certain extent really to work at all.  Almost all if not all of their abilities while generating threat or activating a defensive ability produce Runic Power if the ability costs runes.  Freebies that do not cost runes do not generate runic power but can sometimes replenish Runes which then allows more runic power to be generated.

In the case of the Paladin this is less obvious because mana usually starts full and there are ways to get it back relatively quickly and Holy Power is constantly being acquired and used.

So with all of this taken into consideration a good working model would need to have the following decision pattern IMO.

A little warning, I work a lot in C# and JavaScript and because of it my pseudocode has morphed into a bastard hybrid of the languages I work in and some form of written language. It was the fastest way I could think of getting the decision tree out there because I could spend hours going OCD on a flowchart if I let myself.

Start
Do I need to use a cooldown?
Yes
{
	Use the cooldown
	Go To Start
}
No
{
	Do I have enough Resource?
	Yes
	{
		Do I need Threat or Mitigation?
		Threat
		{
			Use High Cost Threat Ability
			Go To Start
		}
		Mitigation
		{
			Use High Cost Mitigation Ability
			Go To Start
		}
		Both
		{
			Use Threat and Mitigation Ability
			Go To Start
		}
	}
	No
	{
		Do I need a Large amount of Resources or just More?
		Large
		{
			Use Main resource Generation Ability
			//May have a little threat and or mitigation but not noteworthy.
			Go To Start
		}
		More
		{
			Do I need more Threat or More Mitigation
			Threat
			{
				Use Threat and Resource Generating Ability
				//May be main resource generation ability or maybe not.
				Go To Start
			}
			Mitigation
			{
				Use Mitigation and Resource Generating Ability
				Go To Start
			}
		}
	}
}

With the DK now the above decision path works for the most part, there may be a few options that do not exist at the moment but I think for the most complete and adaptable system this is the bare minimum that should be used. I did not get into Single versus Multi-target tanking because it seems from the abilities in the beta all tanks are going to use a Single Target rotation and throw the AoE abilities in there periodically but the are not really part of the Resource/Mitigation interplay the are purely threat abilities at the moment. It would be nice if they became at least Threat/Resource Generation but we will have to wait and see.

MoP Beta – Initial Tanking Thoughts

So I have to say that I am not happy with where tanking seems to be going in MoP.  Before I get ranting too much let me first state a few given points.

  • Yes I know it is Beta and abilities can and will change.
  • Yes I know that threat is screwed up for Bears, not even going to go there.
  • Yes they did talk a little about this in a Dev Blog Months Ago

So given this what should I complain about?  Well simply Active Tanking sucks as implemented for Bears.

In a post I made when the Active Tanking Dev Watercooler I gave my initial reaction and concerns about what they stated in the Watercooler post.  I just reposted it recently for reference since it was one of the posts that got lost in the void when there were server issues a couple of months ago.

Of the 3 models GC, and Blizzard, presented there the method they have implemented for MoP is option 3.  Which is the best of the 3 options.  So it really comes down to the core mechanics of the class and how they active style is implemented with them.  I have not tanked yet on my Warrior and will most likely need to do so now.  Because in general I am on the much more laid back casual side of the group of players I interact with regularly in game.  With the new model I have major concerns about the long-term effect the reaction, counter action and reaction to counter action to first reaction these mechanical changes will have on the player base.

There is one clear line to be drawn from the fiasco that was Cataclysm at release.  Blizzard in its infinite stupidity decided to make healing matter and healing game play tough.  So we went from an expansion Wrath where the only thing hard to find for LFG was a Tank because “tanking” was boring and had some stupid gearing requirements, yes I still remember defense stat Warrior and Paladin Tanks…..

Anyway the result of making healing a very Active and Intense activity was guess what?  NO ONE WANTED TO HEAL IN THE LFG!!!!

So guess what is going to happen, again mind you, when tanking is made even more of a pain in the ass than it is today?  NO ONE WILL WANT TO TANK IN THE LFG!!!!

//START RANT

So this then gets into another whole issue that I know is a major war with in the player base.  There are those players that enjoy what is challenging to them encounters and pushed to their limits all the time, and at the other extreme where they like to log in and have fun, be challenged occasionally if at all as they find the game a place to go and relax.  I am much more the later than the earlier, and given the difficulty and other issues early in Cataclysm… many of the player base are or at least were before leaving WoW.

Of course at preset, 3133 guilds on 25-man and 36283 guilds on 10-man have defeated Madness of Deathwing.

I went back to a post in Sept 2011 to get some of the ICC numbers as the number of guilds going back and doing old content for achievements and transmogrification gear has gone up greatly recently.  At that time 11567 guilds on 25-man and 48523 guilds on 10-man had competed ICC normal.  I do not look at hard modes because they are really nothing more than added difficulty to the same encounter for no reason other than bragging rights and the majority of the player-base never sees them when they are current content.

I think in addition to the added difficulty of encounters and healing mechanics in Cataclysm the largest reason that killed thousands and thousands of 25-man guilds was the change to the lock out system such that 10 and 25 man are on the same lock out.  This was a prediction made by many in the 25-man raiding scene pre-Cata.  Oh well the player base was right yet again and it took Blizzard damn near 2-years again to admin they MAY HAVE made a mistake.

Well this turned a bit more negative than I was initially intended.

//END RANT

Ok now after jumping the shark time to get back to Bears.

Having ONE ability that generates Rage when used is stupid and is not about managing a resource.  It is all about spamming that ONE button every time it is off cool down to active one or 2 powers that use the equivalent of 2 uses worth of rage and have 1/4 the cool down, WTF????

This will also apply to Warriors so I will go general and not bear specific.  There is also a 4th option or a refinement to the 3rd option that GC described in the watercooler post.

The 4th option is a combination of the 2nd and 3rd options and I will describe what I think the model would look like.

There are 3 main components to the one resource system that Warriors and Bears find themselves in.

  1. Resource Generation
  2. Factor 1
  3. Factor 2

In the case of Tanking the Factors become Threat and Mitigation, in a DPS role they become Damage and Debuffs.  In the case of the warrior class what is mitigation for tanks can be Debuffs for the DPS version I am thinking of a damage dealing decrease that some classes get, I can’t remember off the top of my head at the moment if there is such an ability at the moment.

So with 3 options and pick 2 we get 3 combinations.

1 & 2, 2 & 3 and 1 & 3, all abilities that have no cool down or a short cool down should do one of the 3 combinations.  The magnitude of the effect should be based upon the length of the cool down, GCD ignored of course.

Giving Us for Tanking:

  • Resource Generation & Threat – (A)
  • Resource Generation & Mitigation – (B)
  • Threat & Mitigation – (C)

Now there could be a few abilities that only do 1 of the three but if they do it they should do it spectacularly and be on a good longer cool down.  If resources are consumed then the effect should be even greater.

So in a normal 1 target tanking scenario, if empty on resources you would most likely have a pattern like the following.

A … B … C … A … B … A … B

I used … because there should be room between cool downs, GCDs and buff duration to working in other abilities that are either AoE, the rarer longer cool down single effect abilities or more powerful longer cool down versions of A, B or C.

Now for AoE tanking there would need to be at least an AoE equivalent of A so that you can keep regular threat up on multiple targets.

On the positive, I like how Arms for Warrior is feeling a the moment, I still think it could use refinement and an extra rage generation ability like what I talk about here but over all the DPS version of the paradigm works better than the tanking version for Warriors.

After I copy over a DK pre-made to the Beta Server and Tank the opening instance on all 4 tanking classes I will have more to say.  At this point there is no way in hell I am leveling a Monk up to Tank on it as I do not have that amount of time.