30 August 2018

Match 3 Building Games

I use an app on my mobile phone to earn a little bit of extra cash by playing different games. It's not much... well more than my blog currently but still about one to two euro a month. Anyways while downloading and playing games I came across one that is a lot of fun to play.

Match-3 Genre

I haven't done a post about this genre but I probably should. For now here's a short explanation on what these games are like. As the name mentions it already the idea is to match 3 or more of the same object together. It's most often seen as a puzzle game genre but this... well... just keep reading.

Merge Dragons! - Game Concept

The basic game is quite simple there are different types of objects that you merge together to upgrade them  basically. You start off with growing plants that if merged form a flower. Additionally you'll see dragon eggs at the very beginning of the game if you merge those you get a dragon. This dragon can interact with the objects in game like getting life essence from the flower which can be used to purify dead ground that. Any objects on dead ground can't be interacted with or moved unless you match them or purify them. In the rest of the game you will find all kind of different objects, especially in the camp or housing styled level. Almost all of them can be upgraded many of them can be interacted with.

Match 3 and Building

I don't know if this is the first mobile game that implemented this idea, but it's the first one I found. Now I've been wondering, since it's a lot of fun and most of the fun really comes from the housing styled level and not from the puzzle levels. If you take the idea of the settlers, age of empires or any other building game and apply a match-3 gameplay to it the resulting game could be quite interesting.

Now the biggest issue I see is that building games and match-3 definitely doesn't clash as seen in the mobile game I've been playing. However, for more building games like settlers or age of empires a match-3 theme wouldn't fit the aesthetics.

Inspiration

Having seen and played this game is quite inspiring and like with most interesting ideas I see, it raises the question. Which other games, genres or mechanics can be matched with the match-3 genre? I have heard and seen a lot of games that implement a game concept like bejeweled and add another game concept running at the same time, like matching jewels or symbols to attack the enemy, but is there maybe a more direct implementation possible? Like a chess field of enemies and you can merge 3 smaller minions to a bigger minion and let those statues fight?

Well.. let it sank in game devs and designers.

29 August 2018

Guild Wars 2: Precursor Collection Workload

Lately, I've been working on the first category of all the precursor collections there are. Since the collections are usually build in a pattern that goes like: "treasure hunt", "materials and grind", "treasure hunt" or similarly I expected the first collection to go down fast. Well, seems like a few of these nice ones actually require for you to wait and wait hour and hours for events to occur. How bothersome. Well, not that you can't use this time to do other things... so here we go.

Precursor Collections

Precursor collections were an addition that came to Guild Wars 2 with the Heart of Thorns add-on. Mastering legendary crafting allows you to start off collections that after finishing all tiers allow you to craft a precursor. In case you don't know what this is, a precursor is one of the items that is used to craft legendary weapons. As the name already tells it's the base weapon or the preceding weapon that is required and my god the open world drop chance is extremely low on these. Is it comparable with Diablo III's primal ancients? No, it's even rarer than that.

Anyways there's an accumulation of 34 legendary weapons in Guild Wars 2 currently. 25 of these have a legendary collection. What we're going to do is check what we have to do for each tier of each legendary and then sum it all up to know our goal. Again we're not planning on building the legendaries themselves yet. We're only focusing on the precursor collections. Believe me that's gonna be enough for a live time most likely.

Material and Currency Cost For One Precursor

Let's look at the cost of a single one first. For this I'm gonna take a loot at Astralaria. Here's a list of all the materials that are needed to craft The Mechanism using the precursor collection.
  •  40x Jug of Water
  •  30x Bronze Ingot
  •  30x Darksteel Ingot
  •  280x Iron Ingot
  •  1580x Mithril Ingot
  •  148x Orichalcum Ingot
  •  30x Steel Ingot
  •  770x Elder Wood Plank
  •  20x Green Wood Plank
  •  20x Hard Wood Plank
  •  22x Ancient Wood Plank
  •  20x Soft Wood Plank
  •  20x Seasoned Wood Plank
  •  45x Glob of Ectoplasm
  •  10x Lump of Primordium
  •  150x Obsidian Shard
  •  62x Pile of Crystalline Dust
  •  1x Charged Lodestone
  •  1x Onyx Lodestone
  •  1x Molten Lodestone
  •  1x Glacial Lodestone
  •  3x Silver Doubloon
  •  3x Gold Doubloon
  •  3x Copper Doubloon
  •  100x Karka Shell
  •  25x Passion Flower
  •  3x Vial of Condensed Mists Essence
  •  125x Quartz Crystal
  •  250x Pile of Bloodstone Dust
  •  26x Spiritwood Plank
  •  50x Deldrimor Steel Ingot
  •  10x Elonian Leather Square
  •  600x Thermocatalytic Reagent
  •  100x Shard of Glory
  •  100x Memory of Battle
  •  60x Pile of Coarse Sand
  •  25x Stabilizing Matrix
  •  100x Sheet of Aurillium
  •  5x Black Diamond
And this is the currency needed for Hobbs:
  • 5 Gold and 80 Copper
  • 1000x Bandit Crest
  • 400x Geodes
  • 10x Spirit Shards

Total Cost

Well, now let's do the same thing we did with Astralaria / The Mechanism with all the other 24 legendary weapon collections. Sum it all up and in the end you get the result. Since there are 142 different items included I'm gonna write it like the tags on the right menu bar thingy of this page. That means all 142 will be listed from most to least needed amount with a size respective to the amount.

Required Currency for Hobbs:
Copper: ~120 Gold 01 Silver 60 Copper
Karma: 720216
Bandit Crests: 24000
Geodes: 9600
Spirit Shards: 240

Requried Materials:
Mithril Ingot (26643), Elder Wood Plank (21990), Thermocatalytic Reagent (7057), Pile of Bloodstone Dust (6510), Cured Thick Leather Square (5210), Shard of Glory (2930), Memory of Battle (2930), Copper Ore (2450), Obsidian Shard (2396), Iron Ore (2200), Karka Shell (2200), Thick Leather Section (2000), Orichalcum Ingot (1892), Jug of Water (1106), Pile of Crystalline Dust (1077), Ancient Wood Plank (1033), Quartz Crystal (767), Darksteel Ingot (730), Iron Ingot (706), Deldrimor Steel Ingot (650), Stabilizing Matrix (530), Spiritwood Plank (506),Cured Thin Leather Square (490), Lump of Coal (470), Bronze Ingot (455), Steel Ingot (455), Green Wood Plank (425), Hard Wood Plank (425), Soft Wood Plank (425), Seasoned Wood Plank (425), Pile of Coarse Sand (410), Rugged Leather Section (400), Dragonite Ore (400), Empyreal Fragment (400), >Cured Coarse Leather Square (390), Cured Hardened Leather Square (390), Passion Flower (375), Pouch of Red Pigment (345), Pouch of Yellow Pigment (345), Pouch of Blue Pigment (345), Cured Rugged Leather Square (340), Glob of Ectoplasm (313), Elder Wood Log (300), Elonian Leather Square (256), Copper Ingot (252), Platinum Ingot (250), Pile of Glittering Dust (235), Silver Ingot (210), Sheet of Coarse Paper (210), Lump of Primordium (200), Crystal Core (110), Pile of Radiant Dust (100), Sheet of Aurillium (100), Sun Bead (85), Silver Doubloon (72), Gold Doubloon (72), Copper Doubloon (72), Stretched Rawhide Leather Square (60), Brick of Clay (50), Glob of Dark Matter (41), Molten Lodestone (39), Glacial Lodestone (39), Stick of Butter (30), Piece of Candy Corn (30), Pouch of Orange Pigment (30), Pouch of Green Pigment (30), Pouch of Purple Pigment (30), Onyx Lodestone (29), Bag of Flour (28), Charged Lodestone (27), Vicious Fang (20), Egg (19), Glass of Buttermilk (17), Bag of Sugar (14), Vanilla Bean (14), Sheet of Ambrite (13), Pile of Vile Essence (11), Rice Ball (10), Seaweed (10),Gold Ingot (10),Spool of Gossamer Thread (10), Armored Scale (10), Large Scale (10), Glacial Core (10), Destroyer core (10), Pearl (10), Corrupted Core (10), Carnelian Nugget (10), Sunstone Lump (10), Emerald Orb (10), Opal Orb (10), Mystic Binding Agent (10), Watchwork Sprocket (10), Black Diamond (10), Icy Runestone (10), Mystic Crystal (8), Bolt of Cotton (6), Asparagus Spear (5), Bolt of Gossamer (5), Pile of Shimmering Dust (5), Vicious Claw (5), Vial of Condensed Mists Essence (5), Bolt of Damask (5), Packet of Salt (4), Cheese Wedge (4), Black Peppercorn (4), Superior Sigil of Mischief (4), Lunar New Year Firework (4), Slab of Poultry Meat (3), Coral Tentacle (3), Opal Crystal (3), Watchwork Mechanism (3), Onion (2), Bottle of Soy Sauce (2), Portobello Mushroom (2), Green Onion (2), Molten Core (2), Augur's Stone (2), Mordrem Lodestone (2), Jar of Vegetable Oil (1), Head of Garlic (1), Spinach Leaf (1), Parsley Leaf (1), Chili Pepper (1), Cherry (1), Tarragon Leaves (1), Shallot (1), Bottle of Elonian Wine (1), Powerful Venom Sac (1), Large Skull (1), Crystal Lodestone (1), Emerald Crystal (1), Ruby Crystal (1), Sapphire Crystal (1), Beryl Crystal (1), Snow Diamond (1), Anthology of Heroes (1)

Alright, well... there's no time to lose I'm gonna work on this while you can enjoy the other posts of my blog or something... kinda sounds unfair.



26 August 2018

My Theorycrafting Tools

There are a lot of theorycrafting tools out there probably. I don't know exactly what other theorycrafters use but I can say that I've seen many google sheets.  Anyways I wanted to share mine and tell a little about why I use them and for what.

Theorycrafting Tools

This list pretty much includes anything that can be considered a tool that I've used for theorycrafting so far. Anything counts, with the exception of my brain, I guess.

Calculator

I hope to always have a calculator lying around. This way I can quickly calculate things without needing to do it on paper, on my own, use google, open one on my smartphone or create another python instance. Though as you can see there are a lot of ifs here...

Google Sheets

This is one of the tools I've seen a lot of over people use, and for a reason. Timelines, calculations, data collection, data manipulation, data evaluation etc. etc.. There's no doubt that google sheets are a powerful tool. The difference to excel is, it's not saved on your computer, you can share it with anyone you want and work on it with other people at the same time as well.

Stopwatch

This is probably uncommon except if you're interested in calculating physics. A stopwatch is a must have for this if there's no in-game timer that is accurate enough to tell the time difference in milliseconds.

Python

Probably the most powerful of my tools I use. Python is a programming and scripting language that I use for simple calculations up to analysis and plotting. It's my goto that is launched whenever I even think about doing theorycrafting. The best advantages of python are it's fast runtime, the ability to write code quickly hence it's considered to be very powerful and the ability to easily do the things that would take a lot of programming compared to other languages. Another plus is that Python is known to be a scientific language. (No wonder I came across it when working at the research part of an university). There are a few modules I often use that I find really helpful.

Python Module: Math

Just like most languages Python has a module called math that can be imported. It gives you the classic functions such as
  • sqrt(x) - square root of x
  • pow(x, y) - x to the power of y
  • round(x) - rounds x
  • floor(x) - rounds x to the lower full number
  • ceil(x) - rounds x to the higher full number

Python Module: Numpy

This one also includes the methods math has but it's more advanced and features much more. It is easy to create whole matrices, vectors or other data types with numpy and apply basic functions element wise or completely on those. Even worse this is probably just a small part of what numpy can do. Additionally numpy is used for vectorized programming which saves a lot of computational power when programming Deep Learning.

Python Module: Matplotlib - Pyplot

I don't have a tight grip on what matplotlib can do but I have used pyplot a lot which can be used for all kinds of graphs. If you've seen any graph on my blog, there's a 99% chance it's made with Python's Matplotlib Module using the Pyplot from it. By the way Pyplot can do much more than I've done on my blog. Graphs, bar charts, cake charts, heatmaps, histograms, paths, streamplot, scatterplots, tables, polar plots, etc. and 3D as well.

23 August 2018

How the PENS Model Fails Guild Wars 2

In the year of 2016 I did a seminar paper on gamification at my school. While writing this I did some research on gamification and what the reasons are why we play video games. During this research I came across a concept or model called the PENS model. It seemed to explain the reasons pretty well and so I used this to apply it to my attempt of bringing gamification into the German class room. However there's something I've noticed when you apply this model to a game like Guild Wars 2...

The PENS Model 

This is a model that tries to explain why we are so engaged with games. There are more sophisticated and deeper models or concepts by now but it's pretty much the first I got to know. PENS is an abbreviation for Player Experience of Needs Satisfaction and it divides the player into one or multiple of the following types.
  • Competence
  • Autonomy
  • Relatedness

Competence

describes all people who are satisfied by beating a challenge, being high on rankings or that achieve something. This goes from the achievement hunter to the tryhards to the people who play hardcore.

Autonomy

describes the need of making your own choices. This targets people who are interested in exploring, changing their character and look as well as generally giving the player choices. For example sandbox and open world games work well for these.

Relatedness

is the last of these needs and describes the interaction with other people. Having a guild, playing together, talking, writing, etc.. This all falls into the category of relatedness.


So, if these are the basic needs a game that fulfills them should be a successful game.

Applying the PENS Model to Guild Wars 2

Let's go through the categories and see how well Guild Wars 2 does in them.

Competence

On the competence side there is dungeons, fractals and raids with partially challenge motes. Additionally there are tons of achievements, collections. If you're interested in rankings there's a PvP, World vs World and a achievement ranking as well as players seeking for speed clears and world records. Thus I would say competence is there.

Autonomy

Compared to many other competitors Guild Wars 2 is anything but a linear experience. You're free on how to level up, you're free on where to go, you're free on what content you want to play and you're free on what your end-content should look like. You can decorate your Guild hall, style your character however you want, including skins and the color of the armor. Additionally the world is beautiful and one of the bigger and more interesting ones to explore. Autonomy all the way.

Relatedness

This is actually one of Guild Wars 2's strong suits. You can be in up to five different Guilds or Communities, open world content including world events encourages playing with other people, World vs World even combines competence with relatedness allowing for huge player groups to fight each other with big amounts of players on four maps building their kingdom and conquering the kingdom of others.

But...

Regardless of Guild Wars 2 fulfilling all these desired partly better than other games there are still people who like other games more even games that do not fulfill these basic needs as much as it does. Thus there must be more to it than just the PENS model. Maybe there are more desired or more specific ones? Maybe it's the aesthetics that is disliked by people (See MDA model).


Reference: "Glued to Games: How Video Games Draw Us in And Hold Us Spellbound" by Scott Rigby and Richard M. Ryan

21 August 2018

Building Rotations in Skill-based Games (Part 1)

If you've ever played a game that features skills you might have heard of rotations. These are known to be skills that should be executed perfectly one after another to reach the highest possible DPS (Damage per Second). It is also used for benchmarking. (which is a topic I'm going over another time). I don't have much experience with them but I had a view on a part of it's creation and I think it's not too hard to figure out the basics.

Introduction

First of all, yes this will have multiple parts as it is quite complicated. I'm starting on the basics and I'll continue deeper down the rabbit hole. The procedure is the same for every game, but out of curiosity I'll use Guild Wars 2. Especially since Guild Wars 2 actually provides a challenge in comparison to other games. So let's go into the basics now.

Creating Build Rotations

Step 1 - Value Skills

We need a way to tell which skills are better and which do not interest us. For our purpose I'm going to start off with the Engineer's attacks on the rifle then I'm gonna extend to other skills. The engineer provides us with five skills on the rifle. What we need to know about these is, how much damage they do in total and how long they take to use as well as how often we can use them. How often depends on the cooldown of abilities. Since using abilities over and over again would be too strong they have a cooldown on them which disables them for a certain time. That means we can only use the skill every few seconds. So we have one cast per cooldown seconds. One cast deals a certain amount of damage. This means we have amount of damage per cooldown seconds. Notice it already? We can divide the damage through the cooldown to get the average damage. Cast times are used for abilities that take longer to use or affect over a longer time. This also means we can't do something else during this time. So the actual time until we can use the skill again is cooldown + cast time.
Our final formula is for the average damage is:
avgDPS = totalDamage / (cooldown + castTime)
Let's check our five skills.

Skill Name Total Damage Cooldown Cast time
Hip Shot739 0s 3/4s
Net Shot 568 9s 0s
Blunderbuss 2001 + 842 9s 1/2s
Overcharged Shot² 113714s 0s
Jump Shot 2614 + 455 18s 1s

²: Overcharged Shot adds a knockback when used without stability adding a global cooldown of 1.75s to 2s which is ignored in this calculation.

Okay so first we will list them from highest to lowest damage:
  • Jump Shot: 2614 + 455 = 3069
  • Blunderbuss: 2001 + 842 = 2843
  • Overcharged Shot: 1137
  • Hip Shot: 739
  • Net Shot: 568
Next let's throw the information into the formula:
  • Hip Shot: 739 / 0.75s = 985.33 dps
  • Net Shot: 568 / 9s = 63.11 dps
  • Blunderbuss: 2843 / (9s + 0.5s) = 299.26 dps
  • Overcharged Shot: 1137 / 14s = 81.21 dps
  • Jump Shot: 3069 / (18s + 1s) = 161.53 dps
What do these results mean now? The average damage per second we calculate gives us a priority list. If we use hip shot repeatedly we do the most damage. Repeatedly using only the other skills will result in lower dps. Next up we check the damage numbers. Jump Shot, Blunderbuss and Overcharged Shot deal more damage than Hip Shot does. So assuming we use these three abilities first and then Hip Shot until they are ready again we should have the highest dps.

Step 2 - Create Draft Rotation

So our rotation should look similar to this:
  1. Jump Shot
  2. Blunderbuss
  3. Overcharged Shot
  4. Hip Shot
  5. .... (repeat until Jump Shot is ready)
  6. Jump Shot
  7. Blunderbuss
  8. Overcharged Shot
  9. Hip Shot
  10. ... (and so on)
There's something off on this rotation though. Overcharged Shot, Blunderbuss and Jump Shot have different cooldowns. That means one will be ready earlier than the other. We need to keep these three skills on cooldown to get the most dps out of our five skills.

Each Hip Shot takes 0.75s or 3/4s until the next. The lowest cooldown is on Blunderbuss with only a mere nine seconds. This means we can put 9s / 0.75s = 12 auto attacks until it's ready again. However each skill takes a different amount of time. Something that helps us a lot is a timeline.

Step 3 - Create Timeline

Each vertical line corresponds to one of the five skills. Yellow means we're casting or using the ability at this 1/4th of a second or for the time that is shown. Blue means it's on cooldown, white means it's ready.

0s to 6.5s

0s1s2s3s4s5s6s
Hip Shot
Net Shot
Blunderbuss
Overcharged...
Jump Shot

6.5s to 13s

7s8s9s10s11s12s

13s to 19.5s

13s14s15s16s17s18s19s

19.5s to 26s

20s21s22s23s24s25s

Step 4 - Write Down Rotation

If we convert this to a rotation we get:
  1. Jump Shot
  2. Overcharged Shot
  3. Blunderbuss
  4. Hip Shot (12x)
  5. Blunderbuss
  6. Hip Shot (6x)
  7. Overcharged Shot
  8. Hip Shot (3x)
  9. Jump Shot
  10. Hip Shot
  11. Blunderbuss
  12. Hip Shot (7x)
  13. ...

Step 5 - Calculate DPS

This rotation is 26 seconds long and includes 22 Hip Shots, 3 Blunderbuss, 2 Overcharged Shot, 2 Jump Shots. Accumulating the damage we get 22 * 739 + 3 *  2843 + 2 * 1137 + 2 * 3069 = 33199.
Dividing through our seconds we have 33199 / 26  = 1276.88 damage per second.

Step 6 - Test & Compare

From here on out we test the rotation in-game, on the golem. Something we did here was ignore the human reaction time which can play into the cast-time and cooldown. Another thing we can do is change on when we activate the skills in our timeline. You might have noticed an empty field here and there where we waited for a  cast to finish or for the cooldown to do the last milliseconds.

Next Steps!

We have only looked at the five skills of one weapon. Unfortunately Guild Wars 2 features weapon sets, in most games you can swap skills and abilities. There are more than five skills as well. Don't forget that there are traits that change certain skills to function different from others. Also the skills may apply debuffs on the bosses or buffs on yourself. This makes the whole procedure even more complicated but for now I think you get the idea.


17 August 2018

Game Design: Horizontal Progression in MMORPGs

A few days ago I made a post about the vertical progression often seen in famous MMORPGs like World of Warcraft. A different one is the horizontal progression that has been seen in games like Guild Wars 1 and Guild Wars 2 for example.

Horizontal Progression in MMORPGs

Horizontal progression is something I often compare to "personal" development. I'm not talking about programming or making something new, I'm talking about development as in progress or improvement here. While vertical progression is compared to "player" or "character" development, meaning your character gets better and stronger as described in the vertical progression post.

So how does you as a person improve compared to your character?

Due to the best gear being capped rather early, all the bosses can be matched to this gear level. Since there's no change between content it's rather easy to balance the bosses to each other. This allows for a more precise difficulty curve.

There's no increase in the characters strength from the end-game on. Without an increase of level, damage and/or gear for the upcoming content these factors cannot compensate for the players lower skill. Thus generally resulting in an increment of the players skill and capability.

Idea Behind It

Just like mentioned above a horizontal progression throws out the player's improvement through stats, leveling and gear grind and replaces it with more or less equally difficult but different content. Additionally this prevents power creep in the end-game content any added content stays relevant. This also means you can play with your friends anywhere at any time, as the gear or level difference does not exist in the end-game. (Lower level areas in these games often work with downscaling resulting in more or less an equal strength allowing to follow your friends even if they're not in the end-game).

Elements of Horizontally Progression

Generally speaking, horizontally progression is something that's not vertical progression. If you remove the vertical progression you basically get horizontal progression. However something that should be mentioned here is

Build Variety

One of the elements that is common to horizontal progression is build variety. The reason for this is to allow bosses and areas to require the player to implement certain strategies and requiring the player to think and solve the problems thrown at them.

Disadvantages

Vertical and horizontal progression are both plagued with disadvantages as well, this time we're gonna look at the horizontal progression.

The Loot Sucks

This is one of the biggest issues for people who are used to a vertical progression. The loot you will find will most likely be useless to you. Since there's no vertical progression the gear does not improve and at some point you will have everything best in slot. 

No Feeling of Being Overpowered

If there's no power creep you'll never feel overpowered. This is both an advantage and disadvantage but I'll list it as a disadvantage. If you like to feel more powerful than the older enemies to remind you that you have improved then I have to disappoint you. This is not a part of horizontal progression. The least you will get is knowing the enemy, mechanics and having experienced them often enough to know how to deal with them.

Seeking For Missing Character Development

Accumulating all the aspects you will notice one thing that's a big deal. You might not know what to do. Without better loot, no grind and no leveling, you might wonder what you want to do. This is often a reason these seem more like a sandbox MMORPG but that depends on the games focus and balance in development.

Exponential Work For Developers

Add-ons to MMORPGs add new content and new areas to the game. The old areas need to be taken care of as well in horizontal progression oriented games. This means that over time the game will accumulate more and more content that needs to be taken care of. Thinking about it, this also increases the amount of employees you need and thus will result in exponentially growing cost.

Final Notes

Again keep in mind neither horizontal nor vertical progression are perfect. So far to my knowledge no one came up with a diagonal progression based MMORPG. Mixing the positive aspects and fixing the disadvantage would result in a bigger game with a bigger target audience. The reason I'm so invested in this is because I have friends who prefer vertical progression and I to be honest prefer horizontal progression more. This brings a divide in the games we play. If people move from WildStar they either go to Guild Wars 2 or World of Warcraft (from my experience though there might be exceptions). Besides what's an MMORPG without a big MMO community? Keep in mind that most of the information here is from personal experience, reading a little upon the topic, analyzing the games I've mentioned that seem to implement these game designs and questioning people and talking over this topic. Thus I can't say for certain that the information is 100% reliable or that I might have forgotten information as well as further points and disadvantages. Still, it is important to share this information as it might help other game developers or people to come up with a solution or to better understand these systems and terms.



15 August 2018

Natural Diminishing Returns on Critical Hit Chance

A few days ago I explained that linear functions have a diminishing returns if we look at the damage increase we get at higher values. I also explained that it's even worse if you look at how difficult it is to get stats generally in games. Next up I want to talk about the natural diminishing returns on the critical hit chance.

Natural Diminishing Returns

Before I start, quick reminder on what natural diminishing returns is. Diminishing returns can be broken down into the words diminishing which means a decrease of something and returns stands for the output or the amount we get from something. An example in video games let's say there's an attribute called strength. Each point of strength gives you about 1 damage. Now we put in 50 points into strength and our damage increases by about 47. If we put in 100 points we get 86 damage. Notice that the value you get out keeps decreasing.

The difference between diminishing returns and natural diminishing returns is that normal diminishing returns are programmed into formulas and such. Natural diminishing returns, however, appears due to the way the math works and is often not visible on it yourself. The example we used last time was that you increase your strength by 50 and you get 50 damage. If you double your strength you add 50 more strength onto it and you get double the damage, so plus 50 here too, the damage is increased by 200% or 100% of the damage is added upon it. If you add another 50 strength on the 100 you get 150 strength and 150 damage. The damage increase is only 150% or 50% of the damage is added upon it.

Mathematically: 100 / 50 =  2.0; 150 / 100 = 1.5
For more details on this check out the older post.

Critical Hit Chance is Linear

Just like the older post critical hit chance is linear as well. For each 1% of critical hit chance you get 1% critical hit chance. Using Guild Wars 2 as an example getting 21 precision increases your critical hit chance by 1%. It doesn't matter how much precision you have, this is always the case. To illustrate the linearity here's a graph showing the conversion. The formula used in Guild Wars 2 for critical hit chance is 
criticalHitChance = (precision - 895) / 21;
{precision | precision ∈ R and precision >= 1000}
This means the function of our graph is:
f(x): y = (x - 895) / 21; {x | x ∈ R and x >= 1000}
Keep in mind that: {y | y ∈ R and 0% <= y <= 100%}
I don't know about you, but this definitely looks linear to me.

How Critical Hit Chance Behaves

Critical hit chance is a percentage that tells us how likely it is for an attack to critical hit. This that when the amount of your attacks goes against infinity we get an average of how many attacks critically hit. For example, if we say we have 0% critical hit chance, without much explanation this means you'll never critically hit. If we have 100% critical hit chance, every attack will hit critically (1 / 1).
If we have a 50% critical hit chance this means that if you do infinite attacks against an enemy you will critically hit it 50% of the time. This is about every second hit (1 / 2).

Now you might notice something.
  • 0% means no critical hits
  • 50% means about every second hit
  • 100% means every hit
If you didn't notice it yet, no problem let's just continue then. As the next example value we're gonna take 25%. When we attack the enemy infinite amount of times you will see, simply, 25% of our attacks will hit. On average that's every 4th attack (1 / 4).

Now about the 0% thing.. let's assume we don't have 0% but nearly 0% critical hit chance. That means we could potentially hit critically but it's as impossible as it can be. To remind you of it I'm gonna write 0.0000...%. This is important that it's not 0%.

What we have now is 0.0000...% which means nearly 1 out of infinite attacks hit critically.
  • 0% means nearly one out of infinite attacks hits critically (lim x->∞ (1 / x) = 0.0000...%)
  • 10% means every 10th attack hits critically (1 / 10)
  • 20% means every 5th attack hits critically (1 / 5)
  • 25% means every 4th attack hits critically (1 / 4)
  • 50% means every 2nd attack hits critically (1 / 2)
  • 100% means every attack hits critically (1 / 1)
I only wrote down the rounded numbers. Such a great idea, this illustrates it even better. Just look at how the numbers behave. From 0.0000...% to 50% we went from one out of infinite to every second. Surprisingly from 50% to 100% we went from every second attack to every attack.

This is definitely a diminishing returns. Let's plot it so everyone sees in black on white. Actually I use the standard blue line.. so it's blue on white... though the axis is black.
Not so linear anymore. Here you can see it the more critical hit chance you have the less effective it becomes. Using analysis we can determine the exact point where critical hit chance stops to be as effective as it has been up until then. 

 

14 August 2018

Thought Experiement: In Balance With All

Through my journey through learning about magick in an unbiased way I came across this weird concept. This concept of being in balance with all and even weirder being all.

What is a Thought Experiment?

You might have heard of common thought experiments like Schrödingers Cat or the Trolly Problem. Thought experiments allow us to think about psychological or philosophical problems, questions or concepts. They also allow us to follow an idea, concept or thesis. In the case of both the examples I named actually performing the experiments would be animal cruelty or would mean humans are being sacrificed. Of course, you could argue that this is for the greater good but I think we all agree that this just can't be done. In both examples either humans or a cat is killed directly or indirectly. Thought experiments allow us to think these experiments through and sorta simulate them with the way we know the world works. As such these are very useful to think through unusual, absurd, impossible or inhuman experiments and their outcomes without hurting anyone.

The Idea

The idea behind this thought experiment is to follow this idea of being all and in balance with all. It's a concept I talked about people that assumes that we repeat our life over and over with the goal to be one with everything. I have no idea how this affects different people or what kind of feelings come up going through this.
Please read the disclaimer before participating. For all I know this may help people who have depression, it could make it worse, it could open peoples eyes or change their way of thinking or maybe it doesn't have any effect. Our mind is something very special and very strong as the placebo effect has shown us over and over. So participate if you want but be aware...

*** DISCLAIMER: Actually performing this thought experiment is done by your free will as such I do not take any responsibility on how this affects the reader or the performer.

Preparation

It's not as easy when reading instead of listening as you can't close your eyes and let it affect you. Something you can do however and something I'd advise you to do is take the following statements for granted. You don't need to believe them after the thought experiment, you don't need to fully believe them but give them a benefit of a doubt. If you disclaim any of the following statements you might ruin the thought experiment and the idea behind it. I also don't mind reading through it first, do as you wish. Another good idea is to write your experience down afterwards somewhere and try to share it with me via my E-mail, twitter or any other way. As experience of other people plays a big role on research and in thought experiments.

Thought Experiment

We'll start easy with something I hope many people can relate with. First let's think about any bad thing you've ever done. Any thing that can be considered bad or evil can be mentioned here and from anytime in your life. Stealing something, hitting someone, cursing, destroying something, being mean, trolling, even the thought of raping, killing or in some other way wishing someone hell.
You are a bad person, you are evil.
Now think about all the good things you have done in your life, helping people, supporting someone, doing anything another person liked, making someone smile or making someones life easier, again anything goes.
You are a good person, you are good.
Yet you are evil. You are good and evil at the same time.
Let's think about what you've learned through your world. All the information you soaked up like a sponge, school, work life, everything you can do, all the skills you have, all the languages you speak. You are intelligent, you are wisdom.
Look at the animals they can't speak there people who are not as intelligent as you. Yet, you make mistakes, you do stupid things. There are people who are more intelligent as you. There's so much you don't know so much you should know. So much you can't know.
You are stupid, you are stupidity.
Yet you are intelligent. You are wisdom and stupidity at the same time.
You do sport, don't you? You move around every day, even if it's a bit, you move more than nothing. You do more sport than other creatures, there's always some creature that does less, that is more lazy.
You are an active person, you are sport.
Do you run a mile every day? Do you do 50 push ups every day? Do you go by bike for hours on hours? You never move as much as the next person, there are people more active as you and even if you were the most active person ever you could still be less lazy and move more.
You are lazy, you are inactivity.
Yet you are sporty. You are active and inactive at the same time.
You can feel your body, you can touch your arms and legs and you can feel it. This is your body, this is you. From head to feet this is you, this is what you are.
You are your body, this is you.
Where do your thoughts come from, is this really your body? Or are you imprisoned in the head of this body. Track your thoughts back and where they come from, are you sure this is your body? Is this really you? This isn't you, this isn't your body, you're something else.
You are something else, you are different.
Yet this is you. You are this body and you're not at the same time.
Do you remember how old you are? Of course, you do, no one forgets their age. You celebrate your day of birth every year, you're reminded of how old you are every time. This is your age, this is the amount of years you have spent in this world, this is your time. You've been on this old for so long already, so much time has passed already. Thus...
You are old, you are an older generation.
You can feel it, you are still young, sometimes you don't feel how old you are, you might call it your inner child and avoid calling what is part of you, you. There's still so much you can do and no reason not to do it. Because...
You are young, you are the inner child you feel.
Yet you are old. You are old and young at the same time.
You are living in this life, maybe you're enjoying yourself and every second, maybe you're trying to achieve something unique no one else has or you try to compete with someone, whatever the reason or goal you have is you are alive, still alive.
You are alive, you are life.
Every day, every second a part of you dies, you slowly rott away. Your regeneration worsens day for day, year for year until it can't keep up anymore.
You are dead, you are death.
Yet you are alive. You are dead and alive at the same time.
Whether or not you believe in life after death or death after life. Whether or not you believe in god or not. You are just a human after all, a fragile, finite creature that in some way could be considered an animal, you are not as wise, you are not as omnipotent, you can't compare with a god-like figure.
You are normal, you are a mortal being.
Yet god has created you as a copy of him, you have the power to change things, you have the ability to learn your whole life your whole time, you can even be reborn according to believes. God isn't only in your heart.
You are god, you are immortal.
Yet you are normal, you are a mortal being.

You are construction. Yet you bring destruction.

You enjoy violence. Yet you want peace.

You love things. Yet you hate things. 

You are a demon. Yet you are an angel.

You are awake. Yet you are asleep.

You don't believe what you can't see. Yet you are a believer.

You are everything. Yet you are nothing.

You can't do anything. Yet you can do everything.

12 August 2018

Game Design: Vertical Progression in MMORPGs

I play both WildStar and Guild Wars 2 and I am aware that there are still many people playing World of Warcraft. I know both Guild Wars 2, WildStar and WoW - or other MMORPGs for that matter - have their disadvantages and advantages. Still, I see things wrong and things great on their progression philosophy.

Vertical Progression in MMORPGs

Vertical progression is progression by improving your character in strength. Regardless of which role you play:
  • A damage dealer will increase their offensive attributes to deal more damage.
  • A healer will increase their supportive capabilities to heal more.
  • A tank will increase their defensive stats to improve their survivability and durability.
Most often vertical progression is implemented by adding new content with a higher level and/or increased attributes of their owns. To put it this way: new content means you play against enemies that had a headstart in gaining experience and gear and you overcome these to work your way onto the same level and to the new end-game.

Idea Behind It

The idea behind this is to keep the player engaged by having challenging end-game content since the player always starts weaker than the respective content. Additionally the improvement of the characters capability and growth gives the player the ability to increase their strength along the different challenges that lay ahead. Another idea behind it is to have a linear experience, in which you play the content level-wise or difficulty-wise which goes hand-in-hand with the difficulty curve. Another important point is that vertical progression came from RPGs where leveling and gear allowed the player to beat content by equalizing their skill with level grinding or grinding for better gear.

Elements of Vertical Progression

Leveling

Probably the most common vertical progression in games is leveling. For this the player needs a certain amount of experience gained from different activities most often from killing opponents though. Leveling can be seen as a learning progress, however, if used in the end-game or through out the whole game until the end-game it's vertical progression. Each level increases the players stats or allows the player to become stronger and keep on getting stronger.

Gear

The second most common vertical progression is gathering better gear. For this one the player will need to do a certain content or beat a certain challenge one or multiple times to be able to get better gear which will reward the player with higher stats and thus resulting in a stronger character.

Disadvantages

Don't worry horizontal progression has disadvantages as well, but we'll take a look on those later so let's start with the more common vertical progression first.

Power Creep

So, if you never heard the term power creep then you're in luck now. Power Creep describes the increasing irrelevance of older content due to the increasing power of the player. If you ever played a game with vertical progression and you went back to the very beginning of the game you should know that fighting enemies there is probably close to one hits if not already. Additionally the rewards are also interesting. What happened here is that you progressed through the vertical so much that the older content doesn't reward you anymore and additionally everything falls over by your pure sight. This is an issue as in MMORPGs there is no reason for you to play with your friends who are levels below you.

Throw-Away-Mentality

This works hand in hand with the power creep but adding new harder higher content to the game to keep players engaged in the vertical progression results in a throw-away-mentality for the game developer. New content, throw away the old, new content, throw away the old, etc.. It's the same for the player and their gear, the old stuff is thrown away the new stuff will be kept. The weight of this downside can be argued but it is a disadvantage after all.

No Clean Difficulty Curve

This applies to many games, but due to the varying quality of items and the varying level of your character you may jump up and down between the difficulty curve. In RPGs this was used for the player to be able to balance the game themselves (e.g. grind levels if they couldn't beat a boss) in an MMORPG this mentality doesn't work too well though. At least I haven't experienced it yet in my more or less eight years of MMORPG experience.

Weaker Player Progression

Additionally since the gear and levels play a huge role, a higher level or better gear can balance the players skill. This sounds positive at first but in the end it's a double edged sword. If your MMORPG is skill based then this is a bad thing. Additionally if you want your player to improve over time this could also hinder this progress. That's why I count it as a disadvantage here.

Final Notes

I want to mention here that vertical progression isn't perfect, neither is horizontal progression. Having a mix between these designs is not something one could come up with easily. Hence it hasn't been done. There are definitive disadvantages in both designs and solving these flaws would allow MMORPGs to enter a new area and a bigger audience, which MMOs need to thrive. The information I mentioned here is an opinion I have build from experience, questioning people and analyzing these games. This means that information may not be 100% accurate and that I may have skipped points or further disadvantages. Yet, even an opinion is worth reading through and to give a benefit of a doubt, because who knows. Maybe this is exactly what some person needed to come up with the next great idea.


11 August 2018

Natural Diminishing Returns on Linear Functions

So, I actually went into a discussion with a fellow guild member on natural diminishing returns. He claimed there is no diminishing returns if the function that relates to a main stat that increases damage and the damage increase is linear. Well, he's right. There is no diminishing returns as we might know it, however, there's a natural diminishing returns. Let's break it down.

Diminishing Returns

First of all, let's clarify what diminishing returns means - in case you don't know, you can skip this paragraph if you do. Diminishing means a decrease and returns means something you get back. Both words together mean you get back a decreased value. In an example, we say we learn a language for one hour and we manage to keep 24 words from this session. Now we learn another hour with no pause in between and we manage to keep 22 additional words from the lengthened session. We keep pushing learning  for longer and longer, but at three hours or so we would have only kept maybe 60 words in mind when we expected to have 24 words for each hour for three hours, so 24 * 3 = 72. As you can see there's a trend down, the diminishing returns.

Common Occurrence in Games

From my experience with a handful of people I've seen that diminishing returns is known by people who are less active or interested in theorycrafting as mechanic that affects loot drops. The longer you farm the same content the less loot or drops you get. This - of course - is diminishing returns as well. However in the theorycrafting community it's more about the damage increase or stat gain.

Damage as Linear Function

For the purpose of the explanation I'm gonna use the damage calculation from Guild Wars 2:
damage = (weaponStrength * power * skillMod * positiveMods) / (armor * negativeMods)
Now, the fun part is - if you didn't sleep during your physics classes - we know that we're going to keep a few variables the same. If we compare our damage to another example and only change one value the rest becomes constant.

For our purpose we only change power. Let's say we have the following values:
damage = (1150 * 1000 * 0.35 * 1) / (2597 * 1) = 154.98652291105122
Now, we change the value of power and leave every other value constant:
damage = (1150 * 2000 * 0.35 * 1) / (2597 * 1) = 309.97304582210245
As you can see, we doubled the power and our damage value doubles as well. Do not  believe me?
Here you go:
309.97304582210245 / 154.98652291105122 = 2.0
This means, as long all the other values do not change we can directly modify the value by the factor we change it. To simplify our calculation we can replace any constant values with a 1:
damage = (1 * 1000 * 1 * 1) / (1 * 1) or damage = 1000

Next up let's look at how our damage behaves if we increase our power by one steadily. For this I'm gonna plot the function. Though we already claimed that our simplified function is damage = power.
Additionally we started with 1000 and I claimed to steadily increase it by one. It shouldn't be hard to realize that the function we get is linear starting at 1000 and increasing by x:
 f(x): y = 1000 + x
 Nice and big for everyone to read.

Natural Diminishing Returns Behind Linear Functions

Thus far, we haven't seen any diminishing returns. Now let's do the following:

We start off with 1000 power which directly translates to 1000 damage or 1000 * otherFactors damage to  be specific. If we add 1000 power to our base of 1000 we get 2000 power or twice the damage. This means if we double our modifier we double our damage. Funny enough we can look at the damage increase for each point of power we get. To calculate this increase there are multiple ways to do it but my favorite way is to calculate:
damageChange = (newStat / oldStat - 1) * 100
damageChange = ((oldStat + change) / oldStat - 1) * 100
We could calculate this 500 times.. or we simply leave that to the computer. Time is to precious to waste anyways.
damageChange = ((oldStat + x) / (oldStat + x - 1) - 1) * 100
Now let's run it for oldStat = 1000.
As you can see the line decreases. This means for each point of power each additional point of power loses in value or worth. Well, yeah, there you have it, diminishing returns in linear functions.

Worse With Min-Maxing

(min-maxing describes the act of more or less pushing and pulling out the last few improvements. It's the difference between 95% of what's possible and ~99% of what's possible. Might write a blog post about that as well... *shrug*)
However in many games "one does not simply double their main stat". The stat gain in many games behaves like a log function at higher values. This means the more stats you get the harder it will be to get even more of it.

If you do not know what this looks like here you go:

As you can see, it's easy to get power at the start but at some point if you have your main stat everywhere you can have it, it's just a few sources here and there where you can still get some making it hard to keep on going.
***NOTE: This is not a graph that represents the exact way this behaves in any games or in Guild Wars 2.

Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a junior game developer and software developer and I created this blog to share my ideas, thoughts and whatever I'm working on or doing.