06 February 2018

Theory Friendly Games

Since I spend most of my time currently theorycrafting games at some point I figured out that in some games it's easier to find theorycrafting material and in other games, it's harder. Same for theories. But why?

Theory-Friendly Design

Theories fill up the space of the unknown with a logical concept or an idea. Back in the old days, people didn't know how the weather worked so they assumed some gods took care of that. A weird theory. Many years later people figured out how it actually works. The old hypothesis was disproven. Nowadays we don't know how things in quantum physics work exactly. So theories were created, like the string theory or the many-worlds theory. Anyways it's the same in games.

If you tell your game's story and leave out interesting parts that are not important to progress the story people start to think about it. A good example of this is Scott Cawthon's Five Nights At Freddie's series. Throughout the whole series, he kept what's been happening in the background and what's going on a mystery. Even though he gave hints throughout all the games it was still the gamers, community or player's job to figure everything out.

So for theories, in the end, it comes to telling the story but keeping interesting parts that raise curiosity out to leave it to the player base to figure it out.

Theorycrafting-Friendly Design

There's a huge difference between making theories about games and theorycrafting. Theorycrafting has a lot to do with calculation and how we perceive it but it basically comes to the same principle as with theory-friendly design. Again you want to keep details or information secret. Though this time it's more about technical details. A common example is how damage is calculated. Also the more technical content like stats, physics, point system, etc. there is the more theorycrafting is possible.

This is something I noticed in WildStar. WildStar allows a lot of theorycrafting about the item system the gear progression to be exact as well as the prime system. Aside from that, there's a little currency conversion but all in all, that's it already. In Guild Wars 2 there's not much to theorycraft about gear progression but there are many more currency systems, PvP and WvW point systems. How much the infinite items in the shop are worth it or how long it takes until they were worth their buy price and much, much more. Though I guess, it could be just me too.

Anyways the goal again is to keep the calculation behind stuff hidden and add a lot of things you can calculate. Yet this is harder to design than a theory-friendly design.

Why Bother?

First of all, you don't have to. Aside from that theory-friendly games may be picked up by theorists to create theories and solve problems, Youtube channels like Game Theory or Reddit posts about games may lead other or more people to your product resulting in your product getting more interested people. It's the same with my blog. There is a chance, even if it's not too big for people who play Guild Wars 2 to pick up WildStar and people who play WildStar might check out Guild Wars 2 and it doesn't stop there. When I switch games or play other games making theories about those people may pick those up as well. In the end, it's publicity.

Especially since Guild Wars 2 and WildStar are free to play even though there are certain limits this does anything but discouraging people to take a look or check it out.

So, in the end, I do something good for all the games I write posts about while enjoying living my inner researcher analyzing games mathematically.

05 February 2018

Guild Wars 2: Damage Increase Part 3: Ascended Gear

We've reached the third step of our adventure through the mathematical comparing of different qualities. This is most likely the most interesting one as the question of how much better the ascended gear is than the exotic gear.

The Plan

So first we'll compare the exotic gear, stats and damage to the ascended stats and damage. Simple so far. Next, we're going to place jewels into the exotic gear and compare it to the ascended gear again. The reason we do this is that you can't place jewels in ascended gear. It is commonly known that the damage increase from exotic with jewels to ascended is 5%. So we'll check this number and bust it if it's not.

How To?

Just like in the first and second post we do the same procedure. To recap it we're calculating the increase by comparing the updated, new or the value after the change with the older, previous or value before the change via division. The result from this is a percentage that tells us the new damage we do. So basically the old damage summed up with the damage increase. If we want the damage increase we have to subtract the old damage. Since this percentage relates to the old damage in a way that the old damage is 100% we just have to subtract this 100%.

For example, if we do 2000 damage and after the change, we do 3000 damage. By how much did it increase? Of course, we can see it's 1000, but what's the percentage?
Calculating 3000 / 2000 = 1.5 or 150%. If we do 2000 multiplied by 1.5 we get our 3000 again.
So if the old damage of 2000 is 100%, the new damage of 3000 is 150% and we get the damage increase by subtracting the old value from the new value (to get the difference or the delta) we get 3000 - 2000 = 1000 which is then 150% - 100% = 50%.

That's a lot of steps so let's shorten it. We calculate 150% minus 100%. The 150% has been calculated by dividing the new value through the old value. So we get (3000 / 2000) - 100%.
That's the formula I use to calculate it.

Exotic Stats Recap

We don't want to jump between both posts so I'm gonna recap the exotic gear data from the last post here.

Our exotic gear with backpack gave us 1139 power, 809 precision, and 809 ferocity. The average weapon damage was 952.5. The formula to calculate the damage we used in the last posts was the following.

avgdmg = weaponStrengthAvg * power * (1 + ((prec / 21 / 100) + 0.05) * ((fero / 15 / 100) + 0.5))
dmg stands for damage; weaponStrengthAvg stands for the average weapon strength; prec stands for precision; fero stands for ferocity;

With all this set up and clarified let's jump into gathering our ascended data.

Ascended Stats

Of course, we'll use a table to simplify the summing of the items for us.

Item Power Precision Ferocity
Zojja's Masque 63 45 45
Zojja's Epaulets 47 34 34
Zojja's Doublet 141 101 101
Zojja's Wristguards 47 34 34
Zojja's Breeches 94 67 67
Zojja's Footwear 47 34 34
Zojja's Reaver 125 90 90
Zojja's Reaver 125 90 90
Fractal Capacitor (Infused) 63 40 40
Althea's Ashes 110 74 74
Magister's Field 110 74 74
Mark of the Tethyos Houses 157 108 108
Attuned Ring of Red Death (Infused) 126 85 85
Attuned Crystalline Band (Infused) 126 85 85
Total 1381 961 961

Great! The last thing is the weapon damage which is between 900 and 1100 for axes. This means our average damage is (1100 - 900) / 2 + 900 = 1000.
So we have everything set up to start our comparison.

The Moment of Truth: Ascended vs Exotic

The moment has come let's get it done. 
Our exotic damage is:

952.5 * 2139 * (1 + ((809 / 21 / 100) + 0.05) * ((809 / 15 / 100) + 0.5)) = 2959029.46

Next our ascended damage is:

1000 * 2381 * (1 + ((961 / 21 / 100) + 0.05) * ((961 / 15 / 100) + 0.5)) = 3759656.45

Calculating the damage increase we get:

(3759656.45 / 2959029.46) - 1 = 0.2706

So there you have it. The last jump from exotic gear to ascended gear is actually 27.06%. But wait! We're not done it. Oh, no, no, no. There's a difference between ascended and exotic rings, accessories, amulets, and backpack we haven't taken into account. Our weapons and armor will most likely have runes and sigils in it. Our ascended trinkets can only be filled with infusions. Our exotic trinkets can be filled with jewels though. Even better there is Berserker jewelry. So what's the damage increase if we have the best of the best?

The best available Berserker jewels are the Exquisite Ruby Jewel which gives us a boost of 25 power, 15 precision, and 15 ferocity. We have six slots that can be equipped with this. So we get 6 * 25 = 125 power, 6 * 15 = 90 precision and 6 * 15 = 90 ferocity. This means our new numbers for exotic gear are 1139 + 125 = 1264 power, 809 + 90 = 899 precision and 809 + 90 = 899 ferocity.

Now our exotic damage changes to this value:

952.5 * 2264 * (1 + ((899 / 21 / 100) + 0.05) * ((899 / 15 / 100) + 0.5)) = 3289865.25

If we recalculate the damage increase we get:

(3759656.45 / 3289865.25) - 1 = 0.1428

Even with the best, we have available, ascended allows us to deal with 14.28% more damage on average.

Conclusion

So where did the 5% come from? What we did here was comparing the gear itself. Unfortunately, the damage increase changes respective to the amount of power you have. If you get buffs or use food or your power changes in any other way the 14.28% may change respectively. The question here is the order in which the damage increase is calculated. Do we expect the person to have the gear on it and then decide to use buff food and buffs and their build? Or do we expect the person to play a certain build in a predetermined raid group and then change their equipment respectively? This plays a huge role. In the case of these blog posts, I expect the person to get the equip and then change their build accordingly. Another reason I like to do it this way is that it makes more sense to me. First I have the stats from me just being level 80, the base stats. Then I equip myself with gear. Next, I'm gonna take a build and then I'm gonna get temporal buffs on me even if they have a 100% guaranteed uptime. Another reason I do it this way is to make it easier to change your build, buffs, foo,d and traits than changing your gear (- at least without full legendary). So what happens here is.. my build, traits, buffs and buff food have now a lower damage increase since I considered my gear prior. This is because of the natural diminishing returns.

Natural Diminishing Returns

So how does natural diminishing returns work? Easy. You start in Guild Wars 2 with 1000 power. If we take all other variables out of the way we can say we deal 1000 damage. If we double our power we deal twice the damage. 2000 power = 2000 damage. Now if we add the same amount of power to us we get 3000 power and 3000 damage. We added the same amount but the damage wasn't doubled. We got only a 50% damage increase. If we repeat the procedure the same amount of power is worth even less damage increase, only 25% now. So what does that mean? If we want to keep on double our damage we also need more power. However games, especially those which don't have a power creep (gear progression for example) only allow a limited amount of power. So doubling our damage gets harder and harder as we reach the maximum available damage. This means our need to double the damage increases and the supply decreases. This phenomenon can be called natural diminishing returns with diminishing returns meaning if you put something in you get less and the natural comes from this being mathematically given

Fun Part: Damage Against Armored Foes

To end this post on a good note though let's check out those damage numbers against foes with 2597 armor.

Our exotic damage was 2959029.46 / 2597 = 1139.41.

 Using the jewelry we get 3289865.25 / 2597 = 1266.79.

 Last but not least our ascended gear allows 3759656.45 / 2597 = 1447.69.

The next part will be on the infusions.

04 February 2018

WildStar: Proc Chance of Prime Drops Result Update

This was a bad idea and I'm kinda running out of time to write this post so here we go in three, two, one...

Recap

So you might or might not remember that I was wondering about the proc rate of items in prime expeditions, or any prime content for that matter, in WildStar. So to check whether or not the myth of it being 25% is correct I started my drop research. Of course, starting off the sample size is small so the values are anything but accurate. I've now continued for another week to get more samples and that's why I'm here now.

Research State

So the current state is almost as I planned it. My goal was to reach a total of 100 samples. I've... reached 96 samples. I know, I know, 100 samples are still like nothing. However, it's at least a number I have proof of and that's something that matters to me. Well without further ado let's look up my old research and start the comparison! That's something I haven't done yet on my blog.

So back in my first research, I had
  • 44 samples
  • 35 without a proc
  • 5 with only one proc
  • 4 with a double proc
The current state is 
  • 96 samples
  • 68 without a proc
  • 19 with only one proc
  • 8 with double proc
  • 1 with quadruple proc

Calculating the Chances

It's nice looking at those numbers but we want to see chances so let's go calculate the chances. The only interesting values are how many items of these samples had at least one proc and how many didn't.

In our first example it were 4 + 5 = 9 items so 9 / 44 = 0.204545 or 20.45%.
Currently we've got 19 + 8 + 1 = 28 items with at least one proc from 96 samples so 28 / 96 = 0.2917 or 29.17%.

As you can see our proc rate jumped by about 8.7% and is now far above the 25% people believe it to be. Well with only 96 samples the number still fluctuates a lot.

Concept of Checking

We use math to check if everything went as it's supposed to be and whether or not we've made mistakes. We can use this checking to see if our number is accurate and how far it might be off.

If we assume to have a 25% chance to proc an item and the chance does not change, additionally we can proc an item multiple times, it's safe to say that our chance to get two procs is the chance for the proc to occur and then the same chance again. This means our chances in this scenario are the following:

The chance for no proc: 75%
Chance to proc: 25%
Chance for two procs: 25% * 25% = 6.25%
Chance for three procs: 25% * 25% * 25% = 1.5625%
Chance for four procs: 25% * 25% * 25% * 25% = 0.390625%

and so on. This means if we calculate the chance on how many items at least proc'd twice the chance we get here must equal the chance for one proc multiplied by itself. We can continue this throughout all our occasions. You can call this forward checking.

In our example: 
25% * 25% should equal 6.25%. If not our check fails. If it does, perfect.

Well obviously if I'm naming this "forward checking" there must be another type of checking. Not hard to guess, the opposite I'll call it backward checking. Backward checking works by doing what we just did backward. We take the chance of for example two procs and divide it through the chance to proc at least once. The result should be the lower value.

In our example:
6.25% / 25% should equal 25%. If not our check fails. If it does, perfect.

Forward Check

So let's apply this forward check to our newest numbers.
Our chance for one proc is 29.17%. So the chance for two procs should be 29.17% * 29.17% = 8.51%. So let's check out what the chance actually is. We got nine items that have at least a double procs from 96 samples, that's a chance of 9 / 96 = 0.09375 or 9.375%. So as you can see our chance for double procs isn't too far off from the chance for only one proc. Of course with our sample size, this could just be a coincidence.

We can do the same with the quadruple proc. The chance for this one should be our chance for at least one proc multiplied by itself four times.

29.17% * 29.17% * 29.17% * 29.17% = 0.7240%

With us having only one such proc from 96 samples that's a chance of 1 / 96 = 0.0104 or 1.04%. This one is a bit too high. Now let's do the other check.

Backward Check

Without chance being 9.375% for at least a double proc if we divide this through our chance of at least getting one proc the result should be the same chance we divide through. If not our numbers are still off of what they should be. It's important for them to match up but more to this later.

9.375% / 29.17% = 32.14%

Now that's off by about 3%.

Conclusion

So as you can see all our checks failed forward and backward. This was to be expected though. A sample size of 96 is still not enough. So what do these checks tell us? If the numbers don't match up we can assume one of two things.
  • The system does not work as we assumed (the chances change)
  • Our chances are off, wrong or incorrect
So what went wrong? In our first forward check, the chance we've calculated was 8.51% but we got 9.375%. This means we've gotten more at least two times procs than we were supposed to if we assume the at least one proc chance of 29.17% to be correct. Same with our second forward check. We've got more quadruple procs than our proc chance of 29.17% for at least one proc allowed. So we can say 29.17% is wrong. So what must change for our number to get accurate? We need to get either
  • less at least double procs
  • more at least one procs and more without any proc
Our backward check more or less tells the same. The resulting chance from our calculation is slightly higher. This is the result of our at least double proc being too high or our at least one proc being too low.

So what can we take from this? The research kicks us in the face with a "keep on researching".
and with this, I'll leave for now. If I make another post on this it's most likely going to be a test of significance.

About Me

My photo
I'm a M.Sc. Games Engineer and I created this blog to share my ideas, theorycrafting, thoughts and whatever I'm working on or doing.