Showing posts with label Diablo. Show all posts
Showing posts with label Diablo. Show all posts

Thursday, 29 November 2012

Stealing a Build

The concept of stealing a build was introduced to me by Day[9] (1h video) and was intended for Starcraft.

My aim here is to adapt that to a universal formula, and then specifically apply that to Diablo III.

Day[9]'s steps for stealing a build are as follows:

0) Get Inspired
1) Create Building Groups
2) Fill in Unit Mixes
3) Refine Refine Refine!

Finding inspiration is one of the key concepts behind stealing a build; you need to have a build to steal in the first place. You can see professionals playing in tournaments, or streaming on TwitchTV or other similar enterprises such as JustinTV. You can also find replays on dedicated replay sites or YouTube. Depending on which game you are looking for, you may also be able to find sites dedicated to builds.

When he says Building Groups, he refers to which buildings you should get relating to major stages of the game (mainly expansions and tiers of tech). I will adapt that to say that this refers to the major building blocks of your build.

Unit mixes refers to knowing specifically what units you can produce in each stage of the game. My interpretation of this is knowing *how* to use those building blocks in the correct manner.

Refine Refine Refine! is a continual process wherein you play games and test your overall strategy to determine its strengths and weaknesses, so that you can execute it better with cleaner play and crisper timings.

A Universal Adaptation of Day[9]'s formula:

0) Get Inspired
1) Figure out the major building blocks
2) Figure out the execution of the build
3) Refine your build and execution based on experience with it

Adaptation of said formula to my Witch Doctor build:

0) Get Inspired
My inspiration came from a pro-player on a Twitch Stream, TurkNukem. He keeps changing his equipment and skills, so I will type them as they were for reference:

Active Skills:

  • Acid Cloud - Acid Rain (increased radius)
  • Zombie Charger - Zombie Bears
  • Spirit Walk - Honoured Guest (mana regen)
  • Summon Zombie Dogs - Leeching Beasts
  • Sacrifice - Pride (gain mana per dog sacrificed)
  • Soul Harvest - Soul to Waste

Passive Skills:

  • Grave Injustice (gain life, mana, and reduce cooldowns when enemies die nearby)
  • Blood Ritual (pay 15% mana costs with life, increased hp regen)
  • Gruesome Feast (bonus mana and intelligence for health orbs)
If you have read my previous posts, you will know that this is a far cry from what I have used previously. It sacrifices my beloved Pierce the Veil, and has no basic attacks that are not mana intensive. I am forever experimenting, and hoping to find a build that actually benefits from using mana.


This build is a good example of just that - it was a good bridge for me to break out of my usual style and try something completely different. It also contains several spells that I had previously overlooked, namely Sacrifice and Soul Harvest.

Sacrifice is good because it helps provide burst damage as well as a source of mana. It also gives you something to do with your Summon Zombie Dogs when it is off cooldown and you already have a full pack.

Soul Harvest is great because it basically acts as a flat damage bonus, essentially acting as a fourth passive skill that you have to refresh every 60 seconds. It gives you an extra 650 Intelligence at full stacks, which for me, provides comparable damage to what I lost from giving up Pierce the Veil.

1) Figure out the major building blocks

My adaptation of his build would not be a carbon copy of it; many of the finer details would be changed, mainly because my gear is not as good as Turk's.

Active Skills:

  • Spirit Barrage - The Spirit is Willing
    • I chose this skill because I can't maintain quite as much mana as Turk, requiring me to take a skill that isn't as intensive on mana. I picked this one because it is great for single target damage; better than any of the basic attacks.
  • Acid Cloud - Acid Rain (same as his)
    • I toyed with a few different runes for this. Several were tempting, but seeing the damage it does to spread out units, it makes it a solid choice.
  • Spirit Walk - Honoured Guest (same as his)
    • I grudgingly gave up Healing Journey in exchange for a more reliable supply of mana. It greatly increases my ability to maintain spamming spells, but it does hurt me against Reflects Damage champions. I do not currently have a good answer to reflects damage champions with this build.
  • Summon Zombie Dogs - Leeching Beasts (same as his)
  • Sacrifice - Pride (same as his)
  • Soul Harvest - Vengeful Spirit
    • I picked Vengeful Spirit after trying most of the other runes, including Soul to Waste. I can see the appeal of StW, but it makes casting the spell an obligation, rather than a privilege; whereas with Vengeful Spirit, it turns into a great feeling to cast it and watch minions fall around you. It also compliments Grave Injustice well, giving you a relatively low cooldown, high power spell to proc with the reduced cooldowns.
Passive Skills:
  • Gruesome Feast
  • Grave Injustice
  • Blood Ritual

I grudgingly gave up my Pierce the Veil, as I am forced to admit that the 20% it gives pales in comparison to the roughly 100% bonus damage you get from just casting more powerful spells.

2) Figure out the execution of this build
and
3) Refine your build and execution based on experience with it

I have found that this plays fairly well, I originally was too aggressive with my Sacrifices, leaving me without dogs for significant periods of time, much to my detriment. I have since learned to wait on the Sacrifices until I have a new pack of dogs ready to cast, or until a time that I know my dogs are going to die anyway, and the damage from their explosions or the mana it generates will benefit me.

Most of my refinements are reflected in the build listed above, as my process of refinement is not as easily demonstrable as Day[9]'s. Suffice to say, I tried many combinations of spells, runes, and play styles.

In terms of general differences from my previous builds, each build I go through seems to have less of an emphasis on defence, and more on offence. This is partially due to my gear improving, and my skills no longer needing to compensate for my lack of survivability, and also a general shift in metagame; since the damage reduction patch, and with the introduction of Monster Power, it has become much more important to deal more and more damage in Diablo.

I originally intended to switch back to Andariel's Visage, but I am actually happy with the amount of life and mana that Zunimassa's Vision gives me, and so have not switched back (yet, though I will switch it out when doing the Infernal Machines and similar boss runs).

As ever, I will continue experimenting with my build, and refining my play style. But more on that later.

-Colin





Thursday, 1 November 2012

What Diablo III Does Wrong

This is not a post to antagonize or to spread my hate of the game - if my previous posts have been any indicator, I am quite a fan of the game. So why am I writing this?

Because I feel that the game can still be improved, which is the unscratchable itch of every game designer (or maybe it is just me). I want to address non-balance issues facing the game - I have quite a lot of faith in Blizzard to balance their games, and every patch thus far has been a godsend to addressing outstanding balance issues facing the game.


  • Lack of mass white minions
I long for the cow level. Whimsyshire is cute, but doesn't really fill that niche very well. What Blizzard has seemingly failed to realize is that killing huge numbers of average enemies is very, very fun. Forget about drop rates for a minute, and just remember the most fun you had playing this game. It was probably facing a particularly large mob of average white guys - and I am not talking about those stupid Shade Stalkers - but run of the mill mobs, packed shoulder to should numbering upwards of 50.

I want some area where you can just go to fight hundreds of enemies at a time; no ranged mobs, no bullshitty teleporting/burrowing/whatever abilities, no kiting - just massive numbers of regular enemies.

  • Lack of meaningful distinction between armour pieces
This was my original take on everyone's complains that "there are not interesting enough uniques". It isn't that the Uniques weren't interesting enough, it was the item slots themselves were boring. Every item slot should have a distinct purpose to contribute to your overall character.

For example, in D2, your Shield served as a wonderful way to massively improve your resists (especially by adding Diamonds). In D3, a shield is a sort of generic survivability booster, that adds about 1000 armour, and is otherwise completely interchangable with chest armour, shoulders or pants.

In my mind, each slot should have a distinctive role. At the moment, only the Gloves and Weapons really have such a role. Gloves are excellent damage boosters, as most characters should have gloves with good rolls in two of the three holy trinity of glove attributes: Attack Speed, Critical Hit Chance, and Critical Hit Damage. Weapons are the defining DPS item, as you can have the greatest items in the world, but they are meaningless without a good weapon.

There is no such distinction for defensive attributes however. If you need to boost your resists, you basically need to get resistances on as many items as possible, rather than allowing you to focus on the "resistance" item. If you want more armour or health, just try and get better items - there is no "armour" slot (which rightfully should be the Chest Armour) or "health" (vitality?) item slot. 

If I were in charge, and could retroactively change the way item rolls were distributed, I would give each defensive item slot a distinctive role in keeping you alive. For example:
    • Head - Mostly fine as is, I wouldn't mind seeing a viable helm other than Andariel's Visage; though I am sure more are coming in future patches.
    • Shoulders - Would double or triple the resist all rolls, and quadruple or more the single resistance rolls; making this the primary "resistance" item - possibly including several cloaks or capes in addition to the current line up. If someone wants to improve their resistances, Shoulders should be the place to look.
    • Chest - Would probably triple or quadruple the effect of the Bonus armour attribute roll. They should not come standard with bonus armour, but any "good" chest plate should have a very high armour value
    • Bracers - Sort of a weird item, I am fine with their current state, though I wouldn't mind giving them some distinction other than the other armour piece you can get with crit chance other than gloves/helm. Possibly include pickup radius as a more common attribute here, as it is a fantastically great thing to have, although most people will never choose it over a core stat.
    • Gloves - As is. I am happy with this being a primarily damage focussed item.
    • Belt - Sort of a weird hybrid item, I am mostly fine with how it works now, as there are some interesting Unique belts. This would probably be similar under my direction.
    • Pants - The primary health item - again doubling or tripling any vitality or % life rolls on them. If your HP is low, get new pants. I would also consider making Movement Speed a regular affix on them, as it should be possible to reach the MS cap without a unique item.
    • Boots - Mostly fine as is, Movement speed is the focus here.
    • Rings & Amulets - Fine as they are; they serve as an all purpose slot that can supplement your weaknesses or further boost your strengths.
    • Hands (Weapon + Offhand) - Fine as they are. 
    • Shield - Boring, but otherwise fine. I suppose I wouldn't change much about them, though perhaps boosting the resistance rolls significantly on them wouldn't hurt.

  • Act 4 is crap
Sorry guys, but I really don't like Act 4. I have tried doing some runs, but I really don't see the point. The enemies are harder, the stacks are much harder to come by, the drops aren't any better - I want to like it, but you really aren't giving me a reason to. 

The first boss is the epitome of bullshit - he spawns hundreds of little minions and makes for a fairly unique fight, but it is literally impossible to have any stacks when you fight him - and he doesn't even give you a stack, despite being a quest boss. There is literally no good reason to fight him more than once (for the initial quest). He is also a bit of a game breaker, he is either very easy (almost comical for someone with my build that profits from killing enemies in mass numbers), or completely unbeatable for someone with an incompatible build.
  • Spells not casting, or casting in a very stupid way
For any character with an "escape from death" spell, you know what I am talking about. Leap, Spirit Walk, Teleport, Smoke Screen, Vault - few things are more frustrating then hitting the key in time, only for it not to cast and for you to be pummelled into a fine red goo.'

These spells (and indeed most) *should* interrupt any standard attacks (and in many cases many stuns and knockback effects) and allow you to get away. It isn't adding any tactical depth by having them not cast, it is just frustrating and pointless. Please, just make the damn spell cast when I hit the button, no questions asked.

The second half to this is spells casting in a very dumb way. This is mainly a jab at how walls work in this game. Some spells can be cast through walls, others cannot. Some can be cast over low walls, but not others; and in addition, it is very, very unclear what constitutes each type of wall.

It is very annoying for me as a Witch Doctor when I cast Wall of Zombies against a Waller champion, only to discover that they got a wall off a few milliseconds before I did, and as such, my 20 second cooldown spell is now worthlessly mauling away at their wall instead of them. Would it really unbalance the game that much to actually let me cast my spells where I want to instead of arbitrarily blocking them?

My interpretation of walls:
    • Solid walls - anything you cannot see through. Nothing should be able to cast through them.
    • Movement blockers - includes anything that stops movement, but not vision or attacks; includes cliff edges (between platforms), water (especially in Whimsyshire), and jail bars. Spells should be universally not blocked by these.
    • Short Walls - mainly just the ones cast by Wallers. These should block basic attacks and movement (so as not to disadvantage the monsters that make them) but should not block any spells that appear from nowhere, such as Zombie Wall or Hydra; or spells that come from the sky. For the most part it is fine as is, with just a few exceptions.

  • Unintuitive Threat Assessment
This is a big one for me. If you had to choose which looked more threatening between a Skull Cleaver and a Demon Trooper - 
You would probably be wrong. The Demon Trooper is much larger and scarier looking, but is largely a joke; boasting terrible stats. The Skull Cleaver looks very much like many other skeleton type enemies, and does not stand out visually, but does a ridiculous amount of damage, often one-shotting some characters.

This is what I have a problem with. Enemies should *look* as threatening as they are. The larger an enemy is, the more damage it should do, and the more health it should have, and vice versa. Small enemies that blend into a crowd should not be the major threats. You shouldn't have to closely examine a mob of enemies to search for the one or two threatening types of enemies - the big threats should be so immediately obvious that even someone who has never played before should know to be wary of them. This also applies to the Shadow Clones that emerge when fighting Diablo; any player who has faced them knows that most of their deaths while fighting Diablo come from these little bastards, as they can 1 to 2 shot even the tankiest of characters.

I don't want to get into enemies that are just generally bullshitty, such as the Fallen Maniac and the Terror Demon, who are generally orders of magnitude more threatening than even champions of other types. Suffice to say that if they were to be removed from the game, I certainly wouldn't miss them.

  • Pathetic rewards for quests
Most serious players don't bother doing quests. That is sort of unintuitive, given that one of the objectives of Diablo 3 is to have players commit to longer runs in order to get optimal drops. It sets the stage to make large scale questing popular, but falls flat on delivery. That is because the rewards for doing quests are pathetic. 

Most quests give about 800 gold for completing them. No experience, usually paltry drops, and 800 gold. Whoop-de-freaking-do. It is no wonder why people skip them. 

At the very least, give back the experience rewards; now that we have Paragon levels, experience matters again, and is a worthwhile reward. If you are feeling generous, give better drops and/or stacks for quest monsters (especially in act 4).

As a final note, do something about act bosses; it becomes stupidly hard to kill them on reasonable monster powers, even for a character that breezes through the rest of the act. Perhaps consider increasing the enrage timers, or not scaling their health the same way as regular mobs. It feels... wrong... to blaze through act 1 without any difficulty, only to get stomped by the Butcher when the entire bloody level is on fire at the same time. The drops you get for your troubles are not worth it; scale their difficulty to be similar to the rest of the act, and give an appropriately generous reward to those with the grit to fight and defeat them.
  • Poor indicators of range/radius of enemy attacks
Generally, when players die, their first reaction is to call out "bullshit". This isn't because they are shifting blame for their own careless actions, it is because they are (usually) genuinely surprised and disappointed that they were killed by a situation.

Whether it is because of silly escape radiuses, or area of effect attacks that hit a slighly larger area than the game's graphics indicate, or an attack animation that deals damage before they seem to be making the attack (Unicorns - I am looking at you in particular) or that hit further than their model seems to (Mallet Lords); or worst of all what I call "arcane sniping". Arcane sniping is where you see a purple ball of arcane, and when it chooses a direction, it picks the worst possible one for you. It is not a good feeling, and can only really be avoided by avoiding the entire area that the arcane can hit, as their direction really isn't predictable; it is usually away from you, but not necessarily so. To alleviate this, perhaps make it take a second to reach out from its initial ball state to the full length of its attack, or force it to never point towards a player initially.
  • "Mandatory" Rolls on items
This is a touchy issue with me, as I can acknowledge the importance of having a certain rarity of quality goods when dealing with the auction house. I can't honestly decide if this is a good thing or not.

Basically, the issue is that certain items outright *require* certain attributes in order to be worthwhile. For example, any decent offhand item should have at least 8% critical hit chance. If you fail to make the roll, the item is worthless, regardless of how otherwise good it would be.

I am undecided in the matter, however I want to perhaps raise the point that the odds of getting the "required" fields should be higher on level 63 items than their lower level counterparts.

  • Lack of practical DPS test
I remember talking with someone about another game in which they had a "scarecrow" they could attack in order to test their DPS. Essentially, it had infinite health, and you could attack it as much as you wanted, and after you were done, it told you exactly how much damage each of your attacks did to it, and how much damage you dealt per second, how many attacks you hit it with, how many of those were critical hits.

This sounds like an awesome feature. As is, Diablo feels like a number-crunching game, to determine if your DPS would benefit  from attribute X or Y more, and numerous sites, spreadsheets, and apps have arisen to accommodate this need (and Diablo's refusal to provide an EHP stat).

I, for one, would love to have a nice friendly scarecrow to actually put numbers to these things, to show that a certain combination of skills gives about 30% better burst damage than another; rather than the current method of experimenting with what can only be called way too many variables.
  • Creep Blocking
When I said that your "not die" spells was one of the most frustrating ways to die, here is the other: getting creep blocked.

Creep Blocking is when you are surrounded by creeps and cannot move to escape them. It does not happen very often, but it is beyond frustrating when it does. It is especially bad for the Monk, who lacks a good all-around escape spell.

It generally isn't an issue, but it will make you want to rip your hair out when it is.

  • A lack of a "shut the hell up" mode
For those of us grinding the game, I would really appreciate an option that automatically disables or skips any and all quest related dialogue and cutscenes. Honestly, it wasn't particularly interesting the first time, and becomes less interesting and relevant with each iteration. 
  • A particularly annoying bug regarding Monster Power
For some reason, my option to enable the Monster Power mode keeps disabling itself. Almost every time I start a game, I feel that it is too easy, only to realize that my settings are messed up (yet again) and have to quit the game, forfeit whatever stacks I have, re-enable MP mode, and the remake the game on the appropriate difficulty level. 

I am not sure if this is just me having this issue, but it is really damn annoying. Would appreciate a fix, as this cannot be called anything other than a bug; thanks Blizzard.



I want to reiterate, this is not a post bashing Diablo. I think it is an excellent game, and Blizzard is doing an excellent job improving it with every patch. If it comes off as harsh, just consider it to be in the style of Zero Punctuation's Yahtzee; who bashes everything, and anything not mentioned can be considered fine by exclusion (that being said, his review of Diablo is pretty much worthless, as he didn't even beat the tutorial (i.e. the first 59 levels of the game)).

Those are the issues that I can think of, again, excluding balance issues. The only thing else that I want to mention is that playing the Monk is perhaps the most profoundly boring experience you can have in this game. It is the most passive-oriented, boring class. But more on that later.

-Colin


Thursday, 30 August 2012

Praise for the Fibonacci Sequence, and other mathematical scaling options


WARNING: This post is heavy on math.


I am here to sing the praises of the Fibonacci sequence. For those unfamiliar with it, here it is in its glory:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, and so on ad inifitum

It starts with 0 and 1, and then every number thereafter is the sum of the previous two. It can theoretically start with any two numbers, and in many cases it will be more convenient to start with 1 and 2, or even 2 and 3 if the gap between 1 and 2 is too extreme for you.

But what does this sequence have to do with game design?

Game design is inherently about designing systems for your players to enjoy. In order to effectively design systems, you need to know a thing or two about math. For example, I mention in the title the word 'scaling'. For those of you unfamiliar with the term, it refers to the ability for abilities/items/classes/cards/whatever (objects in future) to be effective at all points throughout the game.


Some objects start off incredibly powerful, but lose effectiveness as the game progresses. The most extreme example of this is Dragon Rage from Pokemon. It does 40 damage, regardless of any stats. At low levels, this will kill everything in one hit; at higher levels, everything has enough health that it is pretty much useless.

Other objects start off incredibly underwhelming, but are said to 'scale' incredibly well, making them amazing late game. An example of this is technology in 7 Wonders, whose value is equal to the square of the number of them that you have. Having 4 of a given technology is extremely difficult to beat. This is not to be confused with 'snowball' effects, where an advantage compounds itself in directly competitive games.

If something is always over or under powered throughout the course of the game, scaling is irrelevant, and you probably just need to balance it better.

As a designer, you will inevitably encounter scenarios where you have to scale your objects: the relative strength of all the levels of your object, or of different objects to each other.

This is where math comes in. There are many different curves you can employ when scaling.

There is linear [or incremental]:
1, 2, 3, 4,  5,  6,  7,  8,   etc.
2, 4, 6, 8,  10, 12, 14, 16,  etc.
There is exponential:
1, 4, 9, 16, 25, 36, 49, 64,  etc.
There is geometric:
1, 2, 4, 8,  16, 32, 64, 128, etc.
1, 3, 9, 27, 81, 243, etc.
And then there is the fibonacci sequence:
1, 2, 3, 5,  8,  13, 21,  34,  etc.
There is also Triangular Growth: (for interested parties [(x + x^2) / 2])
1, 3, 6, 10, 15, 21, 28, 36, 45, etc.

The trick to effective scaling is to make each level superior to the last without making the previous completely obsolete (unless you deliberately want to build your game around that, but let's ignore that case for now)

With linear scaling, new levels are not that exciting beyond the second or third, as the fourth is only 33% higher than the third, the fourth to fifth only goes up 20%.
Exponential and Geometric growth grow out of control extremely quickly, so unless there are only a few levels of it, it will dominate and possibly break the late game.
The fibonacci sequence and Triangular growth both provide a reasonable, integral values for scaling your levels.

An example I just noticed (that blew my mind slightly) is in Dominion:
Value of Resource cards (fibonacci)
Copper - 1
Silver - 2
Gold - 3
Platinum - 5

Cost of resource cards (linear)
Copper - 0
Silver - 3
Gold - 6
Platinum - 9

Value of VP Cards (triangular)
Estate - 1
Duchy - 3
Province - 6
Colony - 10

Cost of VP Cards (linear)
Estate - 2
Duchy - 5
Province - 8
Colony - 11

If they ever top Prosperity, you can bet the next VP card (empire?) will cost 14 and be worth 15; and the next resource card (diamond?) will be worth 8 and cost 12. If.

I have also used these scaling options (specifically the fibonacci sequence) to generate stats based on a star ranking system. I rated each object from 1 to 5 on how "relatively" tough or damaging it was, and then scaled that rating using the fibonacci sequence. It results in a diverse range of values, where the difference between each can be felt intuitively, and strategies devised accordingly.

Every system is slightly different, and you should experiment with different scales on your objects, as there are times when each scaling method is appropriate.

In additon, there can even be multidimensional scaling. This is where the end value is the product of two or more different systems of scaling. This is usually only applicable to video games, as the math quickly becomes overwhelming.

The best example and implementation of multidimensional scaling is in Diablo 3. Because of the epic scale and length of Diablo 3, it has an incredible number of dimensions.

For your defence, it has the following:

  • Vitality
  • Health per Vitality
  • Armour (1 - damage reduction)
  • Resistance (1 - damage reduction)
  • Dodge Chance (1 - dodge chance)

The end product of this calculation is referred to as your EHP (equivalent HP) and is the single dimension of your durability.

Each of these values scales individually, resulting in a formula that looks something like this: EHP = HP / ( (1 - (0.1713*ln(Resistance)-0.4353)*(1 - (0.1713*ln(Armour / 10)-0.4353) )
Note that this does not take into account Mob Level, dodge, or block. I am hoping this points out why multidimensional scaling is scarce outside of computers.

Multidimensional scaling is very powerful, as it allows each of its dimensions to have a dramatic impact on the end value, while simultaneously rewarding a well rounded character.


The next time you find yourself wondering how strong to make a Goblin King, compare the relative strengths of his Minions, Shamans, Overlords, and Generals and see if you can find a pattern. The Fibonacci sequence is a very intuitive pattern, and you may have used it without even realizing it (I am not convinced the people behind Dominion did, they probably just went with what values 'felt' right). Knowing when and where to use various scaling methods may just make your job much easier.

But more on that later.

-Colin