Our team built new skills out of unused animations in the game data, redesigned the skill trees, and rebalanced the magical prefixes and suffixes in an attempt to make a greater range of builds viable in the endgame. It consumed a huge chunk of my senior year and was scarcely a solo effort. Cold Fusion served as my best friend, Justin Gash's, senior computer science project (he's now a PhD of mathematics at Franklin College) with contributions from another friend, John Stanford. Another programmer and math genius; Matt Wesson, was instrumental in designing the mod's monster statistics and changing the leveling curve.
Diablo II has evolved tremendously since Cold Fusion was popular (the last version of Diablo 2 it works with is 1.06b and the website is 11 years old) -- but the enormous amount of work we did back in the game's early days gives me a unique insight into how Diablo 3's design improves and expands the original game's formula. Let's get started.
The Road To Tristram Runs Through Azeroth -
Diablo 3's flexible, switchable skill design owes a lot to World of Warcraft and the evolution of Blizzard's thinking on class design. When WoW launched, class respecs were expensive and hybrids were penalized by default. Druids, for example, could theoretically tank, DPS, or heal, but were treated as though these capabilities gave them an inherent advantage at all times. In reality, Druids who were busy in one role had no time to jump into a different one and were never wearing the proper gear even if they switched assignments mid-fight.
Blizzard eventually abandoned this viewpoint and, over a period of several years, modified Paladins, Shamans, and Druids so that they were able to perform their specific roles as well as the mainstream classes. This has more to do with Diablo III than you might think.
From Static Trees To Flexible Fabric -
Trying to balance the original set of skills before any form of synergy was possible was an ugly job.
Skill scaling in Diablo II was originally a mess. Game mechanics overwhelmingly favored life drain as a healing mechanism. The Barbarian skill Whirlwind, which hit multiple times, is the best example of the problem. There was no viable alternative to using it above Normal difficulty. The only way to make the Barbarian's other late-tree attacks like Berserk viable in the end-game was to completely rethink the role (and need) for vampiric life drain and change how the ability functioned.
Skill scaling was static. If putting a point in a skill increased its damage by 15, putting in a second point had to do the same thing. There was no way to way to increase the damage ramp by a percentage or to add an additional effect at the 5 point or 10 point level. Weapon Masteries -- the skills that gave you a flat percentile buff to your DPS with a specific type of weapon, were an attempt to improve ability scaling. Unfortunately, investing in Mastery meant diverting talent points that could be used to open the later (and better) skills. Blizzard addressed this to a certain degree Patch 1.10 by adding synergy; certain late-game abilities now scale further if you have invested points in earlier skills.
Why Diablo III's Approach is Better -
Diablo III's skill approach dumps the need to carefully invest in a min/max formula in favor of improving player choice. The Skill/Rune system is a far more effective way of accomplishing this goal than anything we achieved in CF or that Blizzard has built into D2.
Consider the core Barbarian ability "Leap." Here are the runes available for Leap, alongside their unlock levels.
- Iron Impact: Increase your armor for a limited time after landing.
- Launch: Slow enemies from your takeoff point as you leap into the air.
- Toppling Impact: Send enemies hurtling away from where you land.
- Call of Arreat: Draw enemies toward you when you land.
- Death from Above: Stun enemies at the point of impact.
Adding Runes keeps early skills from turning stale and replaces the customization that was previously available through assigning Attribute points, and it does so in a way that's tied more directly to game play than investing points in abstract values. Each class has a core attribute that bursts damage; non-core attributes have less of an impact on character scaling.