Friday, March 6, 2015

Modding D2: Item Balancing

To properly balance skills and monsters in D2, one must balance the items first. Unfortunately vanilla LoD items are very broken, as they are mostly "balanced" for a multiplayer economy. Less than 20 ridiculously overpowered runewords and unique items are considered usable at top tier, with everything else at WTF NOOB LRN2PLAY-tier.

Many mods introduce their own uniques, sets, and runewords to combat this. Some mods, such as Median, implement entirely new runeword/unique systems. I would be content with nerfing vanilla LoD items.

Item Drop Rates


High-level runes have prohibitive drop rates, effectively limiting single player characters out of the fun (unless character editors are involved). All runes have identical drop bias, which should trivialize high-level rune farming. Note that qlvl requirements are still in place, so high runes should still be harder to find.

Magic and Rare Items

Elemental Skill Damage and -X% to Enemy Resistance

These properties are popular among casters and elemental classes, but they are only available on a limited pool of items in vanilla LoD. I introduce new affixes for magic and rare items to fix this.

of the Firestarter -(5-10)% Enemy Fire Resistance ?
of the Snowpiercer -(5-10)% Enemy Cold Resistance ?
of Tesla -(5-10)% Enemy Lightning Resistance?
of Immunodeficiency-(5-10)% Enemy Poison Resistance ?

(To be expanded)


Aura When Equipped

One of the reasons that make runewords popular is their "Aura When Equipped" properties. These are often up to par with, or even outshine regular Paladin auras, making them even more redundant. Many of them are nerfed.

Table of Changed Runewords

RunewordRuneword Properties
Grief 35% Chance to Cast Level 15 Venom on Striking
+(30-40)% Increased Attack Speed
Damage +(340-400)
Ignore Target's Defense
+(1.875*lvl)% Dmg to Demons (Based on Character Level)
-(20-25)% Enemy Poison Resistance
+(10-15) Life After Each Kill
Bramble Level (15-21) Thorns Aura When Equipped
+50% Faster Hit Recovery
+(25-50)% to Poison Skill Damage
+300 Defense
Poison Resist +100%
+13 Life After Each Kill
Level 13 Spirit of Barbs (33 Charges)
Breath of the Dying 50% Chance to Cast Level 20 Poison Nova When You Kill an Enemy
+60% Increased Attack Speed
+(350-400)% Enhanced Damage
+125% Damage to Undead
(12-15)% Life Stolen per hit
Prevent Monster Heal
+30 to All Attributes
Exile 15% Chance to Cast Level 5 Life Tap on Striking
Level (13-16) Defiance Aura When Equipped
+2 Offensive Auras (Paladin Only)
+30% Faster Block Rate
Freezes Target +1
+(220-260)% Enhanced Defense
Repairs 1 Durability in 4 Seconds
Heart of the Oak +3 All Skills
+40% Faster Cast Rate
Replenish Life +20
Increase Maximum Mana 15%
All Resistances +(30-40)
Level 4 Oak Sage (25 Charges)
Level 14 Raven (60 Charges)
Faith Level (12-15) Fanaticism Aura When Equipped
+(1-2) All Skills
280% Enhanced Damage
300% Bonus to Attack Rating
+120 Fire Damage
All Resistances +15
10% Reanimate as: Returned
Fortitude 20% Chance to Cast Level 15 Chilling Armor When Struck
+25% Faster Cast Rate
+300% Enhanced Damage
+200% Enhanced Defense
+(lvl*(1-1.5)) Life (Based on Character Level)
All Resistances +(25-30)
12% Damage Taken Goes to Mana
Phoenix 100% Chance to Cast Level 40 Blaze When You Level-up
40% Chance to Cast Level 22 Firestorm on Striking
Level (10-15) Redemption Aura When Equipped
+(350-400)% Enhanced Damage
-28% Enemy Fire Resistance
+(350-400) Defense vs Missile
+(15-21) Fire Absorb

Unique Items

Unique ItemProperties
Tomb Reaver
(Elite Cryptic Axe)
+(200-280)% Enhanced Damage
+(150-230)% Damage To Undead
+60% Increased Attack Speed
+(250-350) To Attack Rating Against Undead
All Resistances +(30-50)
10% Reanimate As: Returned
+(10-14) Life After Each Kill
+50-80% Better Chance of Getting Magic Items
+4 To Light Radius
Socketed (1-3)

(To be expanded)

Monday, March 2, 2015

New Druid Skills

Concepts and Mechanics

Skill Tree

  • Disaster Skills (formerly Elemental Skills)
    • Firestorm
      Remove casting delay.
    • Tumbling Boulder
      100%-physical damage version of Molten Boulder. Moves faster, does not spawn pyres, and has no casting delay.
    • Fissure
    • Volcano
    • Armageddon
    • Arctic Blast
      "Wind up" skill: -50% damage and range applied during the first 3 seconds.
      Range is now a constant value.
      Fix a bug that causes only 1/2 of the damage displayed.
      • Level 10 bonus: Winds up 50% faster (2 seconds)
      • Level 20 bonus: +100% range
    • Cyclone Armor
    • Twister
    • Tornado
    • Hurricane
  • Shape Shifting Skills
    • Werewolf
    • Lycanthropy
    • Feral Rage
    • Rabies
    • Fury
    • Werebear
    • Maul
    • Fire Claws
    • Hunger
    • Shockwave
  • Natural Summoning Skills (formerly Druid Summoning)
    • Raven
    • Summon Spirit Wolf
    • Summon Dire Wolf
    • Summon Grizzly
    • Oak Sage
      Spirits are immobile and must be resummoned to move to a new place.
    • Heart of Wolverine
      Spirits are immobile and must be resummoned to move to a new place.
    • Spirit of Barbs
      Spirits are immobile and must be resummoned to move to a new place.
    • Poison Creeper
    • Carrion Vine
      Provide an aura (?)
    • Solar Creeper
      Provide an aura (?)

New Barbarian Skills

Concepts and Mechanics


This skill is hard to expand upon without code editing. There is no way to spawn a missile server-side, because the skill does not use missile at all (leapknockback missile is just a dummy). Other people have stumbled here as well.

Skill Tree

  • Combat Skills
    • Bash
    • Stun
    • Concentrate
    • Berserk
    • Leap
    • Leap Attack
      2x weapon damage.
    • Whirlwind
      3/4 weapon damage
    • Double Swing
    • Double Throw
    • Frenzy
  • Combat Masteries
    • Sword/Axe/Mace/Polearm/Throwing/Spear Mastery
      +(5 + 5 × slvl)% Damage
      • Level 10 bonus: +(5 + 5 × slvl)% AR
      • Level 20 bonus: +20% chance of critical strike
    • Increased Stamina
    • Increased Speed
      +(3 × slvl)% movement speed, -(20 × slvl) life
    • Iron Skin
    • Natural Resistance
  • Warcries
    • Howl
    • Taunt
    • Battle Cry
    • War Cry
    • War Shout
      Party buff that provides +% life and +% defense
    • Battle Song
      Party buff that provides FRW and +% piercing attack
    • Ancient Chant
      Party buff that provides +% mana and FCR.
    • Offering
      Destroy a corpse to restore life and mana. Melee version of Redemption.
    • Find Item
    • Grim Ward
      Reduces enemy magic resistance (?)

New Amazon Skills

Concepts and Mechanics

To be added

Skill Tree

Bow and Crossbow Skills

  • Playball
    Tosses a magic ball that heals nearby allies for 10 seconds.
    • Level 10 bonus: +25% Elemental Skill Damage to allies
    • Level 20 bonus: +25% Elemental Skill Damage to allies
    • Level 30 bonus: +25% Elemental Skill Damage to allies
  • Multiple Shot
    Fires 8 arrows. Disabled piercing. Has Next Delay.
    • Level 10 bonus: +8 arrows
    • Level 20 bonus: +8 arrows
    • Level 30 bonus: +8 arrows
  • Guided Arrow
    Reenabled piercing, now takes attack rating into account
    • Level 10 bonus: +100% damage
    • Level 20 bonus: +200% damage
    • Level 30 bonus: +300% damage
  • Strafe
    Fires 4-8 arrows. No next delay.
    • Level 10 bonus: +4 arrows
    • Level 20 bonus: +4 arrows
    • Level 30 bonus: +4 arrows
  • Siege Arrow
    Shoots medium-range multiple shot that ignores unit collision. Converts 100% weapon damage to fire. Has Next Delay.
    • Level 10 bonus: +2 arrows
    • Level 20 bonus: +3 arrows
    • Level 30 bonus: +4 arrows
  • Exploding Arrow
    Note: Set sHitPar1=0 for explodingarrowexp2 in missiles.txt, the game will read the explosion radius from calc1 in skills.txt. Unfortunately there seems to be no way of increasing the explosion size displayed on the client.
    • Level 10 bonus: +2/3 yard explosion radius
    • Level 20 bonus: +2/3 yard explosion radius 
    • Level 30 bonus: +2/3 yard explosion radius
  • Immolation Arrow
    Removed casting delay.
    • Level 10 bonus: +2/3 yard explosion and pyre radius
    • Level 20 bonus: +2/3 yard explosion and pyre radius
    • Level 30 bonus: +2/3 yard explosion and pyre radius
  • Glacial Arrow
    Arrow that leaves a trail of ice on the ground. Allies that step on the ice gain +100% movement speed.
    • Level 10 bonus: +25% movement speed
    • Level 20 bonus: +25% movement speed
    • Level 30 bonus: +25% movement speed
  • Icicle Arrow
    Fires (7 + lvl) short-range arrows, each dealing 12.5% weapon damage. Converts 100% weapon damage to cold. Disabled piercing. No next delay.
    • Level 10 bonus: +3 arrows
    • Level 20 bonus: +5 arrows
    • Level 30 bonus: +7 arrows
  • Freezing Arrow
    • Level 10 bonus: +2/3 yard explosion radius
    • Level 20 bonus: +2/3 yard explosion radius
    • Level 30 bonus: +2/3 yard explosion radius
  • Magic Arrow
  • Fire Arrow
  • Cold Arrow
  • Ice Arrow

Passive & Magic Skills

  • Inner Sight
    Curse effect. Reduce movement speed by -dm(0, 40)%.
    • Level 10 bonus: -25% missile speed
    • Level 20 bonus: -20% missile speed
    • Level 30 bonus: -15% missile speed
  • Blood Hunt
    Curse effect. Adds +(4 + lvl)% Life Tap effect (melee attacks only).
    • Level 10 bonus: -50% physical resistance on critical curse
    • Level 20 bonus: +10% critical curse chance
    • Level 30 bonus: +10% critical curse chance
  • Decoy
    • Level 10 bonus: Receives synergy from Fiery Skin
    • Level 20 bonus: +1 decoy
    • Level 30 bonus: +1 decoy
  • Valkyrie
    Gains (20 * lvl) strength and (10 * lvl) dexterity. Equipment has (24 + lvl) ilvl.
    • Level 10 bonus: Receives synergy from Fiery Skin
    • Level 20 bonus: Receives synergy from Penetrate
    • Level 30 bonus: Equipment magic level +25
  • Dodge, Avoid, Evade
    Exclusive self-buff. Dodge melee attacks while standing. (dm(0, 70))% chance.
    • Level 10 bonus: Avoid missiles while standing
    • Level 20 bonus: Evade attacks while moving
    • Level 30 bonus: +10% dodge chance
  • Survival Instincts
    Exclusive self-buff. Adds life regeneration but negates life steal.
    • Level 10 bonus: Replenish Life +50
    • Level 20 bonus: Replenish Life +100
    • Level 30 bonus: Replenish Life +150
  • Stunning Blows
    Exclusive self-buff. Melee attacks stun enemies for (0.4 + 0.4 * lvl) seconds.
    • Level 10 bonus: +10% movement speed
    • Level 20 bonus: +10% movement speed
    • Level 30 bonus: +10% movement speed
  • Fiery Skin
    Passive. Provides attacker takes X fire damage. +10% synergic damage per character level.
    • Level 10 bonus: +100% synergic damage
    • Level 20 bonus: +200% synergic damage
    • Level 30 bonus: +300% synergic damage
  • Penetrate
    Passive. Provides +(15 + 10 * lvl)% Attack Rating.
    • Level 10 bonus: +20% chance of critical strike
    • Level 20 bonus: +20% chance of critical strike
    • Level 30 bonus: +20% chance of critical strike
  • Pierce
    Passive. Provides (dm(0, 60))% chance to pierce.
    • Level 10 bonus: +15% chance to pierce
    • Level 20 bonus: +10% chance to pierce
    • Level 30 bonus: +5% chance to pierce
  • Dodge
  • Evade
  • Avoid
  • Critical Strike
  • Slow Missile

Javelin & Spear Skills

  • Jab
    • Level 10 bonus: +50% damage, +25% AR
    • Level 20 bonus: +100% damage, +50% AR
    • Level 30 bonus: +150% damage, +75% AR
  • Impale
    199% weapon damage. Lowers enemy physical resistance by 25% for 4 seconds.
    • Level 10 bonus: -25% enemy physical resistance
    • Level 20 bonus: -25% enemy physical resistance
    • Level 30 bonus: -25% enemy physical resistance
  • Fend
    • Level 10 bonus: +50% damage, +25% AR
    • Level 20 bonus: +100% damage, +50% AR 
    • Level 30 bonus: +150% damage, +75% AR
  • Lightning Dash
    Based on Paladin's Charge. +100% running speed. Converts 100% weapon damage to lightning.
    • Level 10 bonus: +100% damage, +50% AR
    • Level 20 bonus: +200% damage, +100% AR
    • Level 30 bonus: +300% damage, +150% AR
  • Charged Strike
    Creates 5 charged bolts.
    • Level 10 bonus: +3 bolts
    • Level 20 bonus: +3 bolts
    • Level 30 bonus: +3 bolts
  • Lightning Strike
    Hits 5 times. Target search radius reduced to 8 yards (12 subtiles)
    • Level 10 bonus: +3 maximum hits
    • Level 20 bonus: +50% radius
    • Level 30 bonus: +3 maximum hits
  • Lightning Fury
    Fires a maximum of 4 bolts.
    • Level 10 bonus: +2 maximum bolts
    • Level 20 bonus: +2 maximum bolts
    • Level 30 bonus: +2 maximum bolts
  • Poison Javelin
    Bitrate-based poison skill.
    • Level 10 bonus: +100% synergic damage
    • Level 20 bonus: +200% synergic damage
    • Level 30 bonus: +200% synergic damage
  • Plague Javelin
    Duration-based poison skill. Does not create poison clouds while in flight. No casting delay.
    • Level 10 bonus: +50% duration
    • Level 20 bonus: +100% duration
    • Level 30 bonus: +150% duration
  • Power Strike

New Sorceress Skills

Concepts and Mechanics

To be addex

Skill Tree

  • Fire Spells
    • Fire Bolt
    • Fire Ball
    • Meteor
    • Inferno
      "Wind up" skill: -50% damage and range applied during the first 3 seconds.
      Range is now a constant value.
      Fix a bug that causes only 1/2 of the damage displayed.
      • Level 10 bonus: Winds up 50% faster (2 seconds)
      • Level 20 bonus: +100% range
    • Blaze
      Fire duration is now a constant value.
    • Fire Wall
      Removed delay. Wall length and duration is now a constant value.
    • Warmth
    • Enchant
    • Hydra
      Removed delay. Number of Hydra packs is capped at 10.
      • Level 10 bonus: +5 hydra packs
      • Level 20 bonus: +5 hydra packs
    • Fire Mastery
  • Lightning Spells
    • Charged Bolt
    • Lightning
    • Chain Lightning
    • Static Field
    • Nova
    • Thunder Storm
    • Telekinesis
    • Teleport
      Added casting delay.
    • Energy Shield
    • Lightning Mastery:
      Provides both Lighting Skill Damage +% and Enemy Lightning Resist -% (albeit at reduced values)
  • Cold Spells
    • Ice Bolt
    • Ice Blast
    • Glacial Spike
    • Nova
    • Blizzard
    • Frozen Orb
      No longer spawns a ring of Ice Bolts when the orb collides with an enemy mid-flight.
    • Frozen Armor
    • Shiver Armor
    • Chilling Armor
    • Cold Mastery:
      Reduced effectiveness.

Thursday, February 26, 2015

게임의 첫경험?!

내가 스타크래프트를 처음 접한 것은 2009년, 고등학교 2학년 때이다. 그때 어쩌다 보니 기숙사에서 친구들과 속된 말로 이빨을 까고 있을 때였다. 친구 녀석들이 스타크래프트를 하면서 왜 나보고는 아직까지 스타크래프트를 안 해봤냐고 물어봤다.

"우리 부모님이 스타는 피가 튀는 잔인한 게임이라고 하셨거든."

친구들은 어이없다는 듯 피식 웃었고 나도 멋쩍게 웃었다. 그리고 스타크래프트를 시작했다. (어떻게 설치했는지는...)

그렇게 해서 캠페인을 시작했다. 나온 지 벌써 8년이 된 게임이였고 당시 기준으로도 어느 컴퓨터에나 돌아가는 물건이었으나, 내 은색 SENS X06 노트북은 그마저도 간혹 힘에 부쳐서 허덕이는 똥이었다.

그러다가 공식 경기를 찾아보고, 프로게이머들의 손에 의해 펼쳐지는 장면을 보게 되었다. 처음에는 게임을 잘하기 위한 각종 팁과 전략을 찾아보는 정도였으나, 나중에는 프로게이머들의 이야기와 게임에 대한 시시콜콜한 정보를 찾게 되었다.

어떤 게임이든지 파고들다 보면 밸런스라는 주제를 필연적으로 접하게 된다. 스타크래프트는 긴 세월 동안 끌어온 인기만큼이나 각 진영 간의 균형에 대한 논쟁이 밑도 끝도 없이 이어져 온 게임이었고, 스타 좀 해 본 사람이라면 누구나 아는 테란 > 저그 > 프로토스 > 테란의 상성 공식은 관련 커뮤니티에서는 언제나 키보드를 두들기며 의지를 태울 수 있는 좋은 땔감이었다. 당연히 게임을 제작한 블리자드 사와 공식 경기용 맵을 만드는 사람들 모두 종족 간의 균형을 맞추기 위해 여러 시도를 해왔지만, 모든 진영이 완벽하게 동일하지 않은 이상 밸런스를 잡는 것은 근본적으로 불가능했다.

물론 나도 이 달콤한 떡밥에 끌리지 않을 수 없었고, 온라인에서 사람들이 불균형에 대해 다양한 아이디어를 내놓는 동안 나 스스로도 곰곰히 생각해 보게 되었다. 하지만 블리자드를 욕하며 맵 제작자들의 묘수만을 바라보던 대다수의 사람들과는 달리 내게는 강력한 무기가 있었다. 바로 MOD였다.

재미있게도 처음 MOD를 접하게 된 것은 스타크래프트가 아닌 다른 게임이었다. 엄밀히 말하자면 스타의 짝퉁이라 할 수 있는 Star Dominion이라는 플래시 게임을 종종 플레이했다. 이 게임은 스타크래프트의 그래픽 데이터를 추출하여 무단으로 편집/도용해 만든 주제에 그럭저럭 할만한 캠페인을 제공했다. 물론 플래시 게임이라는 기술적인 한계로 인해 스타보다 훨씬 단순하고, 속도도 느리며, 조작도 훨씬 불편하긴 했지만. 이후 진품을 영접하게 되면서 Star Dominion에 대한 관심은 빠르게 식어버렸지만, 유독 그 설정과 캠페인만은 버리기 아깝다는 생각이 들었다. 이때 접한 것이 그 유명한 유즈맵을 만드는 스타에딧이라는 툴이다.

스타크래프트의 우월한 조작감과 더 깔끔한 그래픽 위에서는 Star Dominion의 설정과 캠페인을 좀 더 재미있게 접할 수 있지 않을까?
하지만 스타에딧으로는 Star Dominion의 단순하면서도 스타크래프트와는 미묘하게 다른 시스템을 제대로 재현하기 힘들었다. 기본적인 유닛의 역할과 테크가 전혀 달라서 건물에서 유닛을 생산한다는 것은 꿈도 꿀 수 없었고...

MOD를 제작할 때는 끊임없이 이상과 현실 사이에서 고민하게 된다. 내가 생각한 기능을 실제로 만들 수 있을까? 원래 개발자들도 생각하지 못했던 것을 추가하려면 때로는 기존의 기능을 이리저리 뒤틀거나, 게임 엔진이 허용하는 한계 내에서 최대한 몸을 펴기 위해 용틀임을 해야만 했다. 반대로 기존의 기능을 가지고 다른 사람들이 미처 생각하지 못한 새로운 가능성을 최대한 끌어내야 할 때도 있었다. 그 와중에도 자신이 원하는 MOD의 성격을 최대한 충실하게 구현하고, 스스로 정한 일정한 규칙과 통일성을 지키기 위해 끊임없이 고민했다.

스타크래프트의 MOD를 만들면서 나는 중대한 문제에 부딛혔다. 앞서 말했듯 최종적인 목표는 밸런스를 바로잡는 것이였지만, 정작 게임을 이리저리 뜯어고치고 나니 이게 과연 밸런스가 맞는지 확인할 길이 없었던 것이다. 물론 컴퓨터를 상대로 수백 판의 게임을 하면서 내가 만든 유닛과 기술이 제대로 동작하는지를 확인할 수는 있었지만, 이것이 과연 모든 종족에게 공평한 것인지를 파악하기에는 기존의 인공지능은 너무나도 많은 허점을 가지고 있었다. 게다가 블리자드가 넣어준 인공지능 스크립트는 새로 만든 기술과 유닛들을 제대로 활용하지도 못했다. 이 때문에 나는 결국 인공지능 스크립트에도 손을 대게 되었다.

당연하지만 스타를 좋아하는 모든 사람들이 다른 사람들과의 대전을 즐기는 것은 아니다. 어떤 사람들은 같이 협력하여 주어진 과제를 해결하는 유즈맵을 좋아하기도 하고, 다른 이들은 새로운 시나리오를 제공하는 캠페인을 즐기기도 한다. 또한 나처럼 컴퓨터와의 대전을 좋아한 나머지, 더 재미있고 어려운 인공지능을 만들기 위해 노력하는 사람들도 있었다. 이들이 오랜 시간 심혈을 기울여 만든 여러 인공지능 스크립트는 내 MOD를 제작하는 데 큰 도움이 되었다. 강화된 인공지능은 내가 1:1로 상대하기에도 벅찰 정도로 많은 물량을 쏟아부었고, 새로 수정한 테크와 연구를 적극적으로 활용해 때로는 정신없고 흥미진진한 경기를 만들기도 했다.

하지만 아무리 강력한 인공지능과 붙는다 해도 한계가 있었다. 스타크래프트와 같은 전략시뮬레이션 게임의 밸런스는 결국 컴퓨터가 아닌 사람들 간의 대결에 의해 결정되는 것인 만큼, 혼자서 MOD를 만들던 내게는 근본적으로 닿을 수 없는 목표였다. 실제 사람들 간의 통계가 없는, 나 혼자만의 경험을 통해 고른 수치들이 과연 균형을 이룰 수 있을지는 모르는 것이었다. 당시에는 깨닫지 못했으나, 지금 와서 되돌아보면 이 당연한 사실을 모르기보다는 내 스스로 인정하고 싶지 않아했던 것 같다. 밸런스는 MOD를 제작하는 것에 대한 핑계이자, 스스로 정했으나 이룰 수 없는 목표였다. 나의 노력들은 결국 자기 만족을 위해 아이디어를 짜낸 것에 불과했다.

내가 만든 MOD는 결국 내 손을 떠난 적이 없었다. 열심히 홈페이지까지 만들고 홍보에도 나섰지만 결국 다른 사람이 아닌 나 자신의 만족을 위해 만들었고, target audience에는 나 혼자 뿐이었다. 나는 아직도 내가 만든 것을 다른 사람들이 즐기고, 애착감을 가지고, 신경을 써 주는 느낌이 무엇인지 알지 못한다. 사실 누군가 내 MOD에 지대한 관심을 가졌다면 오히려 겁이 났을 것이다. 다른 사람이 내 작품(?)을 접하는 순간, 더 이상 나만의 작품이 아니게 된다. 사소한 오타부터 중대한 실수까지 모두 그 사람이 받는 인상과 경험의 일부가 되는 것이다. 만약 내 MOD에 문제가 있었다 하더라도 이를 즐기는 사람이 좋아한다면 내가 어찌할 수 없는 하나의 요소가 되는 것이다. 이를 근본적으로 막으려면 미래를 예측해야 하나? 파급을 고려해야 하나?

지금 와서 되돌아보면 '밸런스'라는 한계는 내가 게임을 즐기지 못하게 하는 것은 아니었다. 나는 사람들과 대결하지도 않았고, 오로지 게임 제작자들과 컴퓨터가 제공하는 환경 내에서 노는 것, 즉 PvE를 즐기는 사람이었다. 내가 '균형'을 문제시한 것은 순전히 온라인에서 다른 사람들이 주장하는 바를 (스타크래프트의 밸런스에는 문제가 있으며, 이러저러한 방법으로 해결할 수 있을 것이다) 그대로 받아들인 것에 불과했다. 그렇다면 왜 나는 밸런스에 그렇게 집착했을까?

바로 짜릿함이다. 나처럼 게임 내 세계를 탐험하고 복잡한 설정과 여러 기능들을 배우는 것을 좋아하는 사용자에게 있어서 가장 인상깊은 순간은 바로 게임을 처음 시작할 때이다. 새로운 세계에 소개되고, 지금껏 느껴보지 못한 발견의 감각에 압도당하며 온 정신이 완벽하게 빨려들어가는 경이로운 느낌. 지금까지 게임을 놓지 못하는 것은 바로 그 찰나의 매력을 잊지 못하고, 언젠가는 다시 만날 수 있을 것이라는 희망 때문이다.

물론 첫 경험은 다시는 느낄 수 없음을 알고 있다. 이제 나는 스타크래프트의 스토리와 게임 내 설정, 각 유닛의 특징과 시시콜콜한 메커니즘에 대해 대부분 꿰고 있다. 설령 30, 40년 동안 잊고 있다가 다시 스타크래프트를 하더라도, 고등학교 2학년 여름의 그 날처럼 선명하고 강렬한 느낌을 받지는 못할 것이다.

어느 온라인 RPG에 푹 빠져 살던 시절에 게이머들을 분류하는 방법에 대해 들어본 적이 있다. 이 심리 테스트(?)는 트럼프 카드의 네 무늬를 따서 사람들을 나누었는데, 어느 분야에서 최고를 향해 달려가는 다이아몬드, 삽을 들고 미지의 땅을 개척하러 떠나는 스페이드, 게임 자체보다는 사람들과 어울리는 것을 즐기는 하트, 그리고 다른 사람을 몽둥이 찜질로 이겨야만 성이 차는 클럽이 있었다. 이쯤 되면 명백하겠지만, 나는 새로운 경험과 발견을 좋아하고, 끊임없이 더 많은 것을 경험하고자 하는 스페이드였다. 내가 더 많은 아이템을 추구한 것도, 열심히 레벨업을 한 것도, 지루한 사냥에 임한 것도 모두 호기심과 발견의 재미에서 비롯된 것이다. (스타크래프트 못지 않게 푹 빠졌었던 디아블로 2의 경우, 나만큼 열심히 마을을 돌아다니며 NPC들에게 말을 걸어 새로운 대화를 찾는 사람을 본 적이 없다.) 그리고 게임에 대해 웬만큼 알고 다 이해하게 되면서 더 이상 새로운 경험을 느낄 수 없었고, 그 지루함의 원인으로 엉뚱하게도 밸런스를 지목하고 공격하게 된 것이다.

그래서, 어쩌면 "너무 많이 달라지지 않은, 적당히 바뀐" MOD를 만들려고 했던 나보다는, "전혀 새로운, 완벽히 바뀐" total conversion 계열의 MOD를 플레이하던 사람들이 더 현명한 것일지도 모르겠다.

Modding D2-Game Difficulty, Monster AIs, and More

Brother Laz, creator of the popular Median series of Diablo 2 mods, offers ways to make the game harder:
  • improved ai (aidelay, ai type, ai parameters);
  • increased attack and hit recovery animation speeds;
  • cold slow % reduced, all other slowing options (decrepify) nerfed;
  • increased damage to regular critters (do reduce boss bonuses though!);
  • nerf to hirelings/minions so they aren't invulnerable;
  • nerf or removal of uber crowd control (CoS, mindblast, dim vision);
  • removal of rejuv potions, regular ones changed to heal over time;
  • reduced life steal, and especially weapon damage;
  • reduced stamina, so characters can't outrun everything;
  • ...

In the same thread, Nefarius, another prominent modder writes:
Speeding up AI alone will not help, you need to make it less predictable, using all 100s params is bad for this purpose, an approach that you can use to make the AI less predictable is to use those AIs that can cast many skills (oblivion knights, summoner, vampires, mephisto, diablo) and melee AIs like (duriel) to a greater extent for base monsters. Also, adding units that look identical to other units but act totally different can be a neat gimmick.

In another post, Brother Laz discusses how to balance melee and ranged classes. He writes:
1) AI. The problem isn't that casters have more hp than fighters [they don't have the same ac, after all], the problem is they rarely take damage and merely need enough hp to survive one-hit kills, and can leech or rejuv everything back afterwards.

There are some tough endless-chase-spam-attack AIs [spear and jav cats, dogs in ranged mode,... ]. These can force a caster character to keep moving, and if aidelay is short enough, things like attack frequency are maxed and their speed is high enough, they can actually get more than enough hits in to be dangerous, caster or not. Don't forget to decrease speed penalty from chill effects.

Things like frozen creepers are seriously skewed towards ranged characters. Just stand there and click, and if you are lucky you might actually see them move a couple of pixels before they die. While a melee character gets pummeled by two or three of them all the time, while being constantly chilled by arctic blast. Grrr.

2) Attack types. Being able to fire multishot two screens away without aiming makes it very easy to hit and run without ever taking damage. Nova and charged bolt are much shorter ranged and more dangerous. Blizzard is long ranged, but you can't just click around randomly. Those skills make it much more likely to take physical damage as a caster, making armor better compared to pumping vitality.

3) Defense should matter, even in smaller doses. If a decent white armor of the second highest available type gives a character of the appropriate level like 20% ctgh as opposed to CLoD's 85-90%, it would be a good reason for casters to invest in str at the expense of vit. Defense is basically a random percentage based life enhancer, so the lower the benefits of more vit, the sooner players will turn to defense instead. You may want to remove the ac=0 on running part, or just increase walk speed and decrease stamina to force characters to run only in emergencies.

4) The giant straight +hp and +mana adders need to go. They make up at least half of a caster's hp and most of a fighter's mana, ignoring class differences. Then casters will have to actually invest in vit [and enr!] instead of just using items and staying at base stats forever.

More on the potential of monster AIs from Brother Laz:
Ais are only part of what makes a monster dangerous, but a critical part. Monsters with good ais (*) with (nearly) maxed offensive parameters, a decently high run speed, fast attack speed and hit recovery, short aidelay, low chill effect (50% is ridiculous), large aidist (wake-up range) and perhaps a surprise ability on hit/kill is much more dangerous than a regular monster with 52398149!!!1!1 damage.

(*) The big bad minotaurs in Median 2006 are actually using the mosquito ai.

If you do this right, you'll probably have to decrease their damage massively to make them actually beatable.