A Night With the Devil

diablo banner table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Introduction

Diablo is one of the most critically and commercially acclaimed videogame franchises of all time. It has spawned numerous “clones,” and its gameplay conventions have been adapted across multiple genres. The latest entry in the series, Diablo III, boasts the honour of being the fastest selling PC game of all time and the best selling PC game of all time.

So what makes the series so special? Almost to a fault, Diablo games are described as being incredibly addictive. That’s a fairly vague assertion, though, so I figured it’d be interesting to take a closer look at the original game and get a little closer to nailing down its je ne sais quois.

diablo title table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

The one that started it all.

From Roguelike to Diablo I

Various sources claim that Diablo started off as a turn-based roguelike, which makes sense considering the numerous genre tropes it employs.

Aesthetically it was not only a big step up from ASCII-based visuals, but it also outshone most other CRPGs of the era. Diablo ran at a 640×480 resolution and featured a dark, Gothic world rendered entirely in CG. Everything in the game animated smoothly, playable characters changed appearance based on equipment, a rudimentary lighting system helped set the mood, and a plethora of spell effects and item icons created a much more impressive presentation than that of its dungeon-crawling brethren.

Diablo was also fully voiced, and its music — especially the theme of Tristram — is fondly remembered to this day. More subtly, the game featured excellent sound design. This is most evident in the item drops that are represented by a spinning graphical icon, a whooshing sound effect, and an additional audio clip played when the item hits the ground. The sounds differed based on the item type that was spawned, and were clearer, louder, and longer in duration than all the other sound effects in the game. These cues ensured that spawned treasures were rarely missed and greatly enhanced the Pavlovian effects of loot-hunting.

diablo town quest table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

One of the fully-voiced conversations with town folk.

From a gameplay perspective, Diablo retained many defining aspects of a roguelike despite being a real-time game. Randomization was present in level layouts, monster type and placement, item generation, and even the available quests. Character classes shared the same basic statistics and could all learn a large swath of common spells, but possessed unique abilities and statistical progression. Shrines and consumable items provided further boosts and ailments, and inventory management was big part of the experience (even gold had to be accommodated for, one 5,000-coin stack at a time).

However, Diablo wasn’t quite as unforgiving as a typical roguelike. There was no instadeath, and saving/loading was allowed at any point. If the player died while playing online, they would respawn in town and get the chance to retrieve their equipment from their corpse. There was even an option to restart the game at any time, retaining all of the character’s armament and upgrades.

None of the items severely handicapped the player either, and it was possible to equip unidentified items to benefit from their statistical boosts while foregoing their special abilities. A superimposed minimap was an option as well, and compensated for the more zoomed-in viewpoint compared to typical roguelikes.

diablo ability icons table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Right mouse button abilities had colour-coded backgrounds: orange for staff-spell, pink for scroll, blue for memorized spell, gold for class ability, and gray for unusable (e.g., offensive spells in Tristram).

And of course there was multiplayer.

During the time of Diablo’s release, multiplayer usually meant configuring ports and IP addresses. Much like early server-browsers such as GameSpy Arcade and Xfire, Diablo’s Battle.net circumvented the issue by providing an easy graphical interface for getting online. The gameplay adjustments worked remarkably well too, with all monsters simply being given twice as much health for every player in the game. Granted friendly fire was always on, but this was still a very user-friendly online experience for the time.

All in all, Diablo was a very sleek package, and miles ahead of what one would expect from just a graphical roguelike.

diablo fire pillars table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

The depths below the church are not a friendly place.

8 Hours

In large part Diablo consisted of lumbering around Tristram selling loot, healing, swapping equipment, and getting ready for the next excursion. Since these pit-stops were not the meat of the game, I decided to limit my observations to the actual dungeon exploration. I played as a Warrior and endeavoured to kill every enemy, open every container, pick up every item, and generally explore every corner of every map before moving on to the next area.

As it turned out, 8 hours of hacking and slashing was just enough time to complete the whole game.

diablo town portal table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Town portals and zone shortcuts made for fast-travel into the dungeon, but a substantial amount of time was still spent trodding around in Tristram.

Core Progression

Below is a graph that illustrates the amount of time (in minutes) devoted to each map of the dungeon, how many trips it took to eliminate all the enemies and pick up all the loot, and how many experience levels my Warrior gained on each floor.

The purple marks indicate special maps that were not entirely randomized and served as arenas for boss battles.

core progression table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Right off the bat it’s obvious that the amount of time required for each map climbed steadily, but still varied noticeably from floor to floor. The major differences were caused by the static maps, but even without these there was enough variation to prevent the experience from feeling wholly homogenized. The shortest map clocked in at 7.5 minutes and the longest at 31 minutes, with the average coming in at 19.4 minutes. However, it’s also worth noting that the variations were in part due to my Warrior refusing to use the teleport spell (making backtracking more time consuming in some layouts) and combat difficulty (needing to spend time kiting enemies and running away to recharge health and mana).

diablo blood fountain table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

The Warrior was never above taking a sip from a blood fountain to restore his health. Perhaps that’s why things didn’t go that well for him in the end.

The amount of trips required to fully explore each floor was more consistent, but this is more indicative of the loot-hauling than anything else. Having played a sturdy character with a focus on health-regeneration, retreating to Tristram in order to recuperate wasn’t an issue until the very end of the game. Instead, the trips were a direct result of inventory limitations and my determination to collect every spawned item. The relative consistency of the amount of trips indicates that despite unique layouts, monster populations, treasure chest distributions, etc., each floor produced a similar number of items throughout the game. In total, the smallest amount of trips to clear a floor was 1 and the largest 5, with the average coming in at 3.1.

Finally, much like the amount of trips, the experience progression was fairly consistent. On average, 1.3 levels were gained for every dungeon floor. This is noteworthy as none of the statistical progression in Diablo involves randomness. Each level-up grants 5 points that the player can distribute among 4 attributes, and each character class has a specific starting and maximum number for each attribute. This results in all the uniqueness of a character build coming exclusively from items — via equipment and spells — thereby putting further emphasis on loot-drops.

Overall Diablo is split up into 4 zones, each one consisting of 4 dungeon floors. There’s a steady progression of new monsters and map objects as the player delves further underground, but the interesting part is that each zone has a slightly different approach to generating its layout. This helps to give all the areas a unique atmosphere and even has some implications on exploration and combat mechanics.

diablo butcher quest table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Not everyone gets the Butcher quest their first time around, but everyone seems to remember it years later.

Another interesting factor is that the availability of quests is randomized as well. This is quite substantial as it means certain characters and bosses — and by extension entire maps — cannot be encountered in a single playthrough. Combined with the ability to start the game anew while retaining character progression, it’s clear that Diablo was designed with replayability in mind.

Loot Drops

Item spawning is often credited as being Diablo’s “secret sauce,” but all of its algorithms have been meticulously catalogued by devoted fans. According to the compiled data, entities that drop items follow slightly different formulas that help give them defining characteristics: chests drop 0-3 treasures based on size, sarcophagi can contain hidden monsters, weapon racks always yield armaments, etc.  However, it’s defeated enemies that make up the bulk of the loot. Let’s take a look:

Regular Monsters:

Gold: 30.3%
Item: 10.7%
Nothing: 59.0%
*Some monster types (Winged Fiends and Hork Spawns) never drop items.

Unique Monsters:

Item: 100%
*Unique monsters always drop an item, and it can either be a book or an item that can take on a prefix and/or suffix (or be unique).

Well, that’s rather simple, isn’t it? Over half the time nothing drops. When it does, it’s usually gold. There’s only a 10.7% chance an item drops from a regular monster, and special ones always drop good loot.

diablo unique monster table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

You should yield something good…

Aside from quest MacGuffins, items are either consumable or equipable. Consumables consist of health and/or mana recharging potions, stat-raising elixirs, scrolls that cast single-use spells without draining mana, and magic books that teach spells for permanent use.

Equipable items are split into weapons, shields, armour, helms, rings, and amulets. Armour changes the appearance of the player avatar, shields increase the chance of blocking, weapons have different attack speeds and monster-family properties (e.g., swords do 150% damage to Animals, 100% damage to Demons, and 50% damage to Undead), while rings and amulets are indestructible and always Magic or Unique.

All of the equipment also belongs to one of the three main types:

Normal – Standard swords, shields, helmets, etc.; no special attributes.

Magic – Enchanted items shown in blue; can contain one of the aforementioned prefix and/or suffix modifiers.

Unique – Gold items with multiple non-randomized statistics and a set of special properties; most often obtained through completing quests.

Normal items follow a set progression table for each equipment category, e.g., the helms table looks like this: Cap->Skull Cap->Helm->Full Helm->Crown->Great Helm. Each sub-category contains a unique visual, damage/armour range, durability range, sell-price, etc.

diablo magic table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

“Zodiac” branded jewelry was always a keeper.

Magic items are upgraded versions of normal items enhanced with one or two special properties. These properties include elemental damage/resistance, character attribute enhancement, hit chance boost, etc. Much like regular equipment, special properties can be split into categories and sub-categories, e.g., the added fire damage category contains the sub-categories of: Flame->Fire->Burning->Flaming, each one with a different extra-damage range.

Sub-categories also fall into a prefix or a suffix slot and get added to the actual name of the item, e.g., the Ivory Mace of Swiftness contains the “Ivory” prefix, granting 31-40 additional magic resistance, and the “Sorcery” suffix, increasing the player’s Magic attribute by 16-30.

It’s also worth noting that special properties can only be applied to certain categories of items, and some prefixes are incompatible with other types of suffixes.

… the highly-coveted suffix enchantment “of the Zodiac” (adds between 16 and 20 to all four Attributes evenly) is only available on rings and amulets, so the game engine cannot generate Shields of the Zodiac or Helms of the Zodiac.

…systemic limitations within the game mechanism prevent some prefixes and suffixes from appearing together on the same item. For example, the item “Godly Plate of the Whale” (abbreviated on Battle.net as “G.P.O.W.”) cannot be generated by any monster or vendor in the game.

Unique items can contain up to six special properties, but are not enhanced via the same mechanism as Magic items. Instead, each Unique item has a specific name, a potentially unique icon, and a custom set of statistics/special properties. For example, the “Gotterdamerung” helm has an armour class of 60, adds 20 to all character attributes, lowers damage by 4, drops all resistances to 0, and decreases the player’s light radius by 40%.

The actual formulae for generating items are quite complex and take into consideration the player’s level, type of spawn, location, existing items, and various other variables. Jarulf’s Guide offers a full breakdown of these, but here’s what the system produced during my playthrough:

item drops table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

It’s immediately obvious that consumables made up the largest group of spawned items. A total of 175 dropped throughout the game, with an average of 9.2 per map. As usual, the smaller static maps skewed this to be a bit lower than the median.

Consumables steadily declined throughout the game, and this is notable as it’s a fairly subtle way of adjusting difficulty. Early on in the game, health and mana potions are quite abundant in order to facilitate exploration and experimentation for newcomers. Later on, it’s expected that the player has a greater mastery of the game’s mechanics and needs to worker harder to maintain momentum.

Normal equipable items made up the second largest group of drops and, somewhat surprisingly, remained prevalent long after they had outlived their usefulness. Even in the last map of the game, Normals dropped quite frequently despite only being beneficial during the opening map or two. A total of 144 Normal items dropped during my playthrough, with an average of 7.6 per map.

Magic items didn’t start appearing until the second map, and from there on spawned regularly following a rough sine wave pattern. The 99 Magic drops in the game represented the bulk of the equipment changes, but only outnumbered Normal drops on a handful of maps with an average of 5.2 per floor.

diablo unique table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Unique items get a custom pop-up window in the top-left as all of their special attributes wouldn’t fit in the properties box at the bottom of the screen.

Only 8 Unique items dropped throughout the whole game, an average of 0.4 per map, resulting in 4 equipment changes. This 50% equipment-change ratio might not seem that high for these powerful artefacts, but it’s a much higher ratio than that of Normal or Magic items: 2.1% and 8.1% respectively. What’s more, Unique items had the highest longevity out of all the equipables due to their usefulness, e.g., the Skeleton King’s Undead Crown obtained in map #4 was the helm I wore for the remainder of the game due to its life-leeching properties.

Overall 25 equipment changes took place in the game, but only 15 of these came from loot drops. This makes for a paltry 6.0% overall equipment-change ratio, which is all the starker considering various item slots were rarely swapped.

diablo final boss table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Trivia: it’s ordinarily impossible to pick up Diablo’s drops as the game ends immediately after he’s defeated. The trick here is to select the Telekinesis spell before the boss dies from ongoing damage, e.g., a summoned Guardian, and then click on the spawned item.

Economy

Economies in RPGs can be quite tricky. Their goal is to give the player plenty of paid options for goods and services without making the currency too rare or too prevalent. Diablo does a great job of hitting this goal as there’s always something to spend money on: identifying items, repairing equipment, recharging magic staves, or even getting a glance at one shopkeeper’s inventory. And of course there are the items themselves:

item purchases table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

During my playthrough, consumables made up the bulk of the purchasables and climbed sharply towards the end of the game. The main reason for this was the need to stock up on health/rejuvenation potions in order to plow through the tougher monster encounters.

Normal items were purchased during the first 2 maps, but quickly became obsolete. Magic items replaced them and — with no possibility of buying Unique items — became the main gold-sink. Magic equipment was very expensive, topping off at tens of thousands of gold coins, but well worth it. In a way, Magic items made the economy work by making the shopkeepers a paid-for loot drop.

diablo wirt table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Wirt was far from a fan-favourite, but could procure extremely useful gear.

Unlike most RPGs, the inventory of each seller was generated via an algorithm similar to that of the in-dungeon item spawning. Merchant-items tended to stick around until the player leveled up, allowing a bit of time to gather enough gold to purchase them, and helped alleviate potential issues with consistently getting inappropriate items, i.e., high-dexterity bows for the Sorcerer. The shopkeeps were also notable for having their own personalities and adding a bit of flavour to the economy itself, e.g., they’d only pay 1 gold piece for “cursed” items (Magic equipment with negative special properties), Wirt the Peg-Legged Boy offered just one item at a time but could sell the best equipment in the game, etc.

Overall only 4 Normal and 6 Magic items were bought during my playthrough — compared to 157 consumables — but these accounted for massive 40% of the equipment changes.

The actual amount of gold obtained by picking up coins and selling items can be seen below:

gold aquisition table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Despite a few sharp peaks and valleys, gold accumulation slowly grew throughout the game. This was true of both the quantities of gold pieces dropped and the prices of sold items. What’s most interesting here is that it felt like my Warrior was constantly gathering huge amounts of gold, but these paled in comparison to how much merchants paid for equipment: I accumulated 60932 gold pieces in the game, but less than 10% of that came from gold drops.

When I completed the game, I had just over 5,000 gold pieces left over in my inventory. This was roughly the same amount of gold as the total number of coins picked up throughout the whole game. Essentially, if no gold drops were ever collected, my Warrior still could’ve afforded most (if not all) of his equipment and consumables.

Gold is by far the most common type of drop in the game, so it’s easy to see how it creates the impression that it’s available in large quantities. Since there are still plenty of useful ways to spend small amounts of money — buying potions or repairing equipment — it never feels pointless either. Ultimately gold drops serve as something of a large filler in Diablo, but it’s done quite subtly and the economy never suffers for it.

diablo gold stacks table stats schedule roguelike rogue reward randomization loot drop loot formula diablo CRPG algorithm addictive

Saving up for a new sword.

Conclusion

Without a doubt, Diablo was very well received. It had an iconic look that spawned countless GeoCities and Tripod sites with Gothic fonts and firewall gifs. It sounded great as well, and its interface made both single-player and multiplayer easy to pick up. The roguelike elements it adopted were also fairly uncommon at the time giving many players a brand new type of experience via large-scale randomization and expertly tuned reward schedules.

Of course various titles tried to copy this template, sometimes wholesale, but never reached the same level of success. Its tempting to say that the reason for this was simply Diablo being more than the sum of its parts, but there’s one more element that might had something to do with it: intelligent design.

Diablo’s entire world, and most specifically its items, were not just randomly generated. The algorithms for creating them were heavily gated, pruning possibilities at each step. While this might sound limiting, it made for a more coherent world with its own atmosphere and ruleset. Instead of finding a “Longsword +1″, the player would receive the “King’s Sword of Haste,” a mighty weapon that — true to its name — increased swing speed and granted a few other bonuses. The item would stay equipped for hours on end, imbuing it with a sense of importance, and conjure images of a long gone dynasty and its skilled blacksmiths. It’d be natural for the player to form an attachment to the weapon, and its “specialness” would only get accentuated by the lack of any bows or shields with the same prefix and suffix. The presence of fixed items and quest would only add credence to the sword’s legacy, blurring the lines between scripted and generated content, and bring forth a tinge of longing and regret when something better came along.

And when Diablo was finally defeated, the player could simply keep going. The quest for better loot never quite ended, which is perhaps why the game is still played and modded to this day.

, , , , , , , , , , , , ,

15 Comments

Trudy is Coming!

tm banner turn based TBS tactics steampunk SRPG PC
Set in a rich Steampunk universe, Trudy’s Mechanicals is our upcoming turn-based tactics game in development for the PC.

Follow the plight of industrialized warriors as they fight for a spot aboard the floating airship nicknamed Trudy.

trudy cast turn based TBS tactics steampunk SRPG PC

, , , , ,

1 Comment

Mistranslated Worlds

souls header wizardry shadow tower reference progression pop culture otogi mistranslation manga localization kings field history heritage From Software evolution evergrace eternal ring design Demons Souls dark souls berserk art

Loose threads and general vagueness are often poor crutches in storytelling. These aspects tend to be weird for the sake of being weird, or serve as token springboards for potential sequels, or — worse yet — are indicative of the creator(s)’s lack of a narrative plan, e.g., Lost.

Mystery is inherently alluring, though, and it can also have a fulfilling payoff. The Souls games are a good example of that.

Each title begins with a seemingly disconnected CG intro, and proceeds to thrust the player into a crumbling world with barely an explanation. There are no lengthy expositions, conquests retold over animated world maps, extensive flashback sequences, etc. Instead, whatever pieces of narrative the player puts together are entirely optional and widely scattered about.

dark souls item flavor wizardry shadow tower reference progression pop culture otogi mistranslation manga localization kings field history heritage From Software evolution evergrace eternal ring design Demons Souls dark souls berserk art

Who is this Artorias? Probably just some throwaway text to go along with that big wolf boss…

A tib-bit mentioned in passing by an NPC foreshadows a gruesome battlefield encountered later in the game. Flavour text accompanying an item hints at a long-standing dynasty and its wealth. Parts of defaced statues allude to an outcast regal heir.

 

There’s not much of a plot to the player-controlled protagonist, but there’s an incredible sense of depth and history to the setting itself. It’s all very cohesive and consistent, and delivered with understated elegance.

 

That’s something incredibly rare for a brand new series, but the Souls games actually have something of a 20+ year development history.

From Software’s other games such as Eternal Ring, Shadow Tower, Evergrace, Otogi, and King’s Field contain bits of gameplay and ambiance present in the Souls titles: stamina-draining melee attacks, stat-boosting equipment, sporadically dispersed NPCs, non-linear exploration, item durability and crafting, fog-of-war/dynamic lighting, loading screen and item flavour text, highly destructible environments, “soul”-harvesting progression, etc.

All of these previous games experimented with and revised what’s so confidently delivered in Demon’s Souls and Dark Souls, but the series itself also follows in the footsteps of another older title: Wizardry.

souls berserk wizardry shadow tower reference progression pop culture otogi mistranslation manga localization kings field history heritage From Software evolution evergrace eternal ring design Demons Souls dark souls berserk art

Somewhat famously, the Souls games also seem to borrow a few aesthetics from the Berserk manga.

Wizardry’s arrival and subsequent popularity in Japan is fairly well documented, and King’s Field, From Software’s inaugural release, is said to have been closely inspired by the Western CRPG. The interesting part is that Wizardry’s success seems to have come in part due to a shoddy localization. The only clear example of this I can find is a Wikipedia entry that mentions Blade Cusinart — a silly nod to Cuisinart food processors — evoking an aura of alien mythology.

I assume the results were similar with subsequent Wizardry titles, which contained even more pop culture references, but it’s hard to find any concrete evidence of how these were interpreted in Japan. Perhaps someone else could shine a light on the subject?

ostrava souls feast wizardry shadow tower reference progression pop culture otogi mistranslation manga localization kings field history heritage From Software evolution evergrace eternal ring design Demons Souls dark souls berserk art

It’s feeding time for Ostrava!

Regardless, it’s still fascinating to think about how a simple misconception could be taken to an extreme. Many of From Software’s titles found a niche audience and followed their own paths instead of borrowing the homogeneous conventions of their peers; what else could we have seen if a misunderstood production memo or marketing bullet-point was left to evolve in a bubble?

In the end the significance of Wizardy’s Japanese localization might be a bit overstated, but its heritage is certainly evident in the Souls games. They’re positively brimming with relics steeped in a strange, foreign history, and greatly contribute to the series’ unique style.

, , , , , , , , , , , , , , , , , , , ,

1 Comment

Feeding Time is Here!

The little puzzle game that could has finally hit the AppStore!

Also, check out the official #FeedingTime website.

Well, now that that’s done, maybe I can finally get back to posting stuff on here!

, , , , , ,

1 Comment