Saturday, March 24, 2012

Slicing data in SW:TOR


So I got nerdy and decided to do more detailed slicing analysis. 
 
I was inspired by the other popular spreadsheet floating around
 
I wanted to improve the spreadsheet in 3 areas:
  1. The analysis was done by credits per mission, rather than breaking out credit box data.  This misses a huge opportunity and loses a lot of information
  2. The sampling data is unreliable.  The numbers felt way off, and my suspicion was that the results weren’t being recorded accurately, which is going to happen when it’s done by hand but publicly editable. 
  3. The recording of schematic drops is not included, but is vitally  important when calculating your rate of reward.
 
Anyways, here is the results of my data.  Breaking the data down this way makes it way more accurate.  Results from different lockboxes on different missions can be aggregated to get more accurate results.
 
My results

Conclusions:
  • Every mission is divided into two possible missions results.  Result A and Result B
  • Every mission has the probability of Result A and Result B set differently.
 
Tier
 
Result A
Result B
5
Off the Grid
42-48 White
42-48 Green + Mission
5
His Home is His Castle
42-48 White
42-48 Green + Mission
5
The Fly on the Wall
42-48 Green
42-48 Blue + Mission
5
Taking Back Control
42-48 Green
42-48 Blue + Mission
5
Delivery Failure
42-48 White
42-48 White + Mission
6
Data Race
50 White
50 Green + Mission
6
Plug the Leak
50 White
50 White + Mission
 
  • From a design standpoint, this is interesting in that they are making Result B the “jackpot” result, and they accentuate the impact of the result by removing the results that are only slightly good.  For example, Off the Grid can never yield a White + Mission, nor can it give a Green without a mission.  You either get a “normal” result (white), or a “jackpot” result (green + Mission)
  • The probabily of each box within each category appears to be weighted flat.  For example, if you drop a 42-48 lockbox, it seems to be an even distribution
    • 42 – 25%
    • 44 – 25%
    • 46 – 25%
    • 48 – 25%
 

Sunday, March 18, 2012

Complexity vs. Depth in games.

To begin, I have a board game recommendation - Power Grid: The First Sparks.

http://www.boardgamegeek.com/boardgame/106662/power-grid-the-first-sparks

The original Power Grid is one of my favorite board games from the last 10 years.  However, it has 3 problems that hold me back from playing it more often:

  • It sometimes feels that once somebody gets ahead, they stay ahead.  I think the game actually feels quite well balanced and it is totally possible to come from behind for a victory, or among closely skilled players the tension in vying for position works out quite well - but even the perception that it isn't possible to recover from falling behind is enough to turn some people off.
  • It required lots of nit-picky arithmetic to play effectively.  Typical end game turns involve adding 15+18+10+9+10 (new city cost) and then holding that number in your head while you compute your fueling costs (3 units @ 3 + 4 units @ 5 + 2 units @ 10+ 1 unit @ 12) etc. etc.  
  • The game length is slightly on the long side for my tastes - 75-90 minutes.
Despite these challenges, I love the game and it retains a place in my geek-heart.

Enter First Sparks!  Which addresses all 3 of these concerns.  The game does a marvelous job of retaining the essence of everything I loved about Power Grid while shortening the game length to about 45-60 minutes, simplifying the math, and inserting slightly more tension on gameplay as players jockey for 1st place.  It's really fantastic and surprisingly well done.  I would go so far as to say playing Power Grid and then moving on to Power Grid: The First Sparks should be considered a textbook case in good game design.

One of my personal design mantras is to lower complexity while retaining depth.  It is very easy to make a overly complex game, it is slightly more challenging to ensure your game has depth, and it's a constant challenge to maximize depth while minimizing complexity.

To illustrate the difference between the two, have you ever heard of Rock-Paper-Scissors-Lizard-Spock?  It became more well-known following it's appearance on the Big Bang Theory

The relationships are shown here
Link from thinkgeek
Rock-Paper-Scissors-Lizard-Spock is in my mind the perfect example of introducing complexity without increasing depth. It exhibits all the traditional properties of valuing complexity over depth:
  • It is harder to learn, but gives a feeling of mastery to the hardcore (though this feeling of mastery would have been attained just as easily from adding mechanics that added depth)
  • It adds rules without increasing strategic depth
  • It increases the number of options to the player, (which can lead to analysis-paralysis) without making those options strongly-differentiated
  • It makes the game more appealing to a narrower band
  • The complexity is added to solve a problem (in this case, high tie rates) when either simpler solutions already exist, or the problem isn't even recognized as a problem for most people.
To be clear - I am not against adding complexity in games, you just want to ensure you're getting a sufficient "return on investment" for your complexity dollar. 

Bottom line:  Big Bang Theory is awesome.  So is Power Grid: The First Sparks.

Sunday, March 11, 2012

Redesigning the Powertech class

Star Wars: The Old Republic is, for the most part, a pretty well done game.  There are many things I enjoy including:

  • Beautiful environments
  • Fantastic job capturing the Star Wars fantasy
  • All things considered, above average server stability for an MMO launch.
On the other hand, the class design isn't as much to my liking.  Despite the superficial appearance to be like WoW's class design, I find it more cumbersome.  The biggest offender is simply the sheer number of skills every class is given.  I thought it would be a fun exercise to redesign the class, trying hard to keep the general vibe

I chose to redesign the Powertech as this is the class as I'm most familiar with, having leveled it to 50 and played around with all 3 specs.

In terms of design goals I believe the designers at BioWare probably want
  • A class kit that is singularly flexible enough to handle solo, Flashpoint, Ops and PvP environments
  • A class kit that provides skill differentiation in both PvE and PvP environments; allowing highly skilled players to outperform players who are either not as knowledgeable or not as adept at playing the class.
  • Skills that support a variety of PvE activities.  Class skills and PvE design cannot be designed in a vacuum of one another.  So the mobs will still spawn in groups of 4.  There are weak, normal, strong and elite monsters and those mobs should feel different from one another.
In order to understand the choices I made, here are some of my philosophical guidelines:
  • Depth is good, complexity is bad.  Skills which add complexity but not a lot of depth should be streamlined.
  • The skill system should be left roughly as is in structure.  New skills learned at the trainer, talents that improve your skills and sometimes introduce new skills at 11/21/31.
  • I am assuming that many UI improvements will be made across the board.  If the UI was always going to be as is, I'd have made even more aggressive changes.  I am assuming that eventually the game will have a "PowerAuras" style spell notification, better buff monitors, better enemy cast time bars, and better resource level visualization.  The quality of information a player has can make a skill seem better or worse.  For example, if skill A has a 15% chance to become active every time you use skill B, the quality of this mechanic is highly dependent on how well the proc triggering is communicated to the player.  If the only feedback you receive is the icon on the bottom bar going from grey to lit, I would cut the mechanic completely.  
Bounty Hunter Shared
1. Thermal Sensor Override - Instant - Cooldown: 120s - Your next ability generates no heat. Effect lasts 15 seconds.
2. Stealth Scan - Instant - Cooldown: 20s - Range: 30 m - Fires off probes that scan the area for stealthed opponents. Probes last for 10 seconds.
3. Shoulder Slam - Instant - Cooldown: 45s - Range: 4 m - Slams into the target with a rocket-propelled shoulder charge, dealing 2253 - 2315 kinetic damage to weak and standard targets or 1613 - 1676 kinetic damage to strong targets. Only usable on incapacitated targets.
4. Kolto Overload - Instant - Cooldown: 180s - Restores 15% of maximum health over 10 seconds.
5. On the Trail - Instant - Cooldown: 1200s - Finishes the cooldown on Electro Dart and restores 2% of maximum health every 3 seconds. Requires an active companion. Lasts 1 minute.
6. Energy Shield - Instant - Cooldown: 120s - Reduces all damage taken by 25% for 12 seconds.
7. Sprint - Instant - Increase movement speed by 35% while not in combat.
8. Electro Dart - Instant - Heat: 8 - Cooldown: 60s - Range: 30 m - Fires an electro dart that stuns the target for 4 seconds.
9. Death from Above - Instant - Heat: 25 - Cooldown: 60s - Range: 30 m - Rains death from above, firing a volley of missiles at the target area, dealing 11840 - 16519 kinetic damage over the duration. Standard and weak targets are knocked down by the blasts.
10. Determination - Instant - Cooldown: 120s - Removes all incapacitating and movement-impairing effects.
11. Flame Thrower - Instant - Heat: 25 - Cooldown: 18s - Torches everything in a 10-meter cone with a flamethrower, dealing 1593 elemental damage over the duration.
12. Rail Shot - Instant - Heat: 16 - Cooldown: 15s - Range: 30 m - Fires a very powerful shot at the target that deals 1404 - 1591 weapon damage. Only usable against incapacitated targets and targets suffering from periodic damage.
13. Explosive Dart - Instant - Heat: 16 - Cooldown: 15s - Range: 30 m - Fires a dart that will detonate after several seconds. Standard and weak enemies enter a state of panic while the dart is active. The explosion deals 858 - 923 kinetic damage to up to 3 nearby enemies when it detonates. Standard and weak targets are knocked back from the blast.
14. Combustible Gas Cylinder - Activation: 1.5 secs - Loads your blaster with combustible gas, giving all of your blaster attacks a 10% chance to deal 1295 additional elemental damage over 6 seconds. Only one cylinder can be active at a time.
15. Unload - Instant - Heat: 16 - Cooldown: 15s - Range: 30 m - Unloads your blaster into the target, dealing 587 - 690 weapon damage every second. Weak and standard enemies caught in the blaster fire are stunned for the duration. Fires both blasters if dual wielding.
16. Rocket Punch - Instant - Heat: 16 - Cooldown: 9s - Range: 4 m - Engages the jetpack, allowing you to strike the target with a heavy punch that deals 2205 - 2415 kinetic damage.
17. Hunter's Boon - Instant - Cooldown: 6s - Range: 30 m - Increases the target's Endurance by 5% for 60 minutes. If the target is a party member, all other party members are also affected.
18. Rapid Shots - Instant - Range: 30 m - Fires a quick stream of bolts, causing 670 - 817 weapon damage.
19. Vent Heat - Instant - Cooldown: 120s - Rapidly vents 50 heat over 3 seconds.
20. Missile Blast - Instant - Heat: 25 - Range: 30 m - Deals 1535 - 1587 kinetic damage to the target and 198 - 233 additional kinetic damage to up to 3 nearby enemies in a 5-meter radius. If the primary target is a weak or standard enemy, it is knocked to the ground.
21. Recharge and Reload - Instant - Regenerates health and vents heat while channeling. Not usable in combat.

Powertech Shared
22. Explosive Fuel - Instant - Cooldown: 120s - Increases ranged and tech critical hit chance by 25% for 15 seconds.
23. Carbonize - Instant - Heat: 8 - Cooldown: 45s - Encases up to 5 enemies within 8 meters in carbonite, stunning them for 2.5 seconds.
24. Sonic Missile - Instant - Cooldown: 45s - Range: 30 m - Fires a missile at taunting enemies and nearby enemies to attack for 6 seconds. Enemy players have their damage reduced for 6 seconds unless they attack you
25. Flame Sweep - Instant - Heat: 25 - Torches up to 5 targets within 5 meters for 437 - 561 elemental damage.
26. Grapple - Instant - Cooldown: 45s - Range: 30 m - Fires a grapple line that pulls the target to the Bounty Hunter and generates a high amount of threat. Cannot be used on targets in cover.
27. High Energy Gas Cylinder - Activation: 1.5 secs - Loads your blaster with a high-energy gas cylinder. While active, all internal and elemental damage dealt is increased by 5%. Only one cylinder can be active at a time.
28. Quell - Instant - Heat: 8 - Cooldown: 8s - Range: 4 m - Interrupts the target's current action and prevents that ability from being used for the next 4 seconds
29. Neural Dart - Instant - Cooldown: 15s - Range: 30 m - Fires a neural dart that taunts the target to attack for 6 seconds. Player targets deal 30% less damage when attacking anyone other than you. Effect lasts 6 seconds.
30. Guard - Instant - Range: 30 m - Guards the target while it remains within 15 meters. While active, the target takes 5% less damage and generates 25% less threat. In addition, 50% of all incoming damage from enemies is transferred back to you. Requires Ion Gas Cylinder.
31. Flame Burst - Instant - Heat: 16 - Range: 10 m - Fires a burst of flame at the target that deals 558 - 622 elemental damage.
32. Hydraulic Overrides - Instant - Cooldown: 30s - Grants 8 seconds of immunity from movement-impairing effects, knockdowns and physics and increases movement speed by 30%.
33. Ion Gas Cylinder - Activation: 1.5 secs - Loads your blaster with ion-charged gas, giving ranged attacks a 15% chance to deal 253 additional energy damage. While this cylinder is active, threat generated is increased by 50%. Increases armor by 60%, decreases all damage taken by 5%, and increases shield chance by 15%. Only one cylinder can be active at a time. Ion Jolts can only occur once every 1.5 seconds.

Shield Tech
34-1. Heat Blast - Instant - Cooldown: 15s - Range: 10 m - Discharges 8 heat into a fiery blast, dealing 443 elemental damage.
35-1. Jet Charge - Instant - Cooldown: 15s - Range: 30 m - Jumps to a distant target, dealing 447 kinetic damage, interrupting the target's current action and immobilizing the target for 3 seconds. Cannot be used against targets in cover.
36-1. Oil Slick - Instant - Cooldown: 60s - Sprays the immediate area with oil. Nearby enemies become unbalanced and their accuracy of ranged and melee attacks is lowered by 20% for 18 seconds.

Advanced Prototype
34-2. Immolate - Instant - Heat: 8 - Cooldown: 15s - Range: 10 m - Sprays the target with fuel and ignites it into a fireball that deals 623 elemental damage.
35-2. Rectractable Blade - Instant - Heat: 16 - Range: 4 m - Plunges a retractable blade into the target that deals 380 kinetic damage and causes the target to bleed for 459 internal damage over 15 seconds.

Pyrotech
34-3. Thermal Detonator - Instant - Heat: 16 - Cooldown: 15s - Range: 30 m - Hurls a thermal detonator that adheres to the target and detonates after several seconds. Standard and weak enemies enter a state of panic while the explosive is active. The explosion deals 949 kinetic damage when it detonates. Standard and weak targets are knocked back from the blast. Shares a 15-second cooldown with Explosive Dart.
35-3. Incendiary Missile - Instant - Heat: 25 - Range: 30 m - Fires a missile that explodes on contact, igniting the target for 216 elemental damage and an additional 689 elemental damage over 18 seconds.

First Pass - Obvious Cuts
First trip through I just cut or merge all of the low hanging fruit.

  • Thermal Sensor Override - CUT.  I think this skill adds a high skill differentiation, but is very hardcore in it's current incarnation.  There is a lot of high level play that involves using it only when you're high on heat and are going to cast an expensive spell but the complexity:benefit ratio is off. The skill adds a small amount of depth for a large amount of complexity.
  • Shoulder Slam - CUT.  I don't think players benefit from the existence of this skill except possibly in PvP.  One might argue that it gives players the ability to do a small amount of situational burst but in reality the situations are narrow, the targets are limited and the burst is small.
  • On the Trail - CUT.  This ability feels like it's for solo PvE and world PVP.  The best use is probably to help players get past an otherwise difficult progression blocker in the storyline, or to add an interesting beat to world PvP.  The PvE progression blocker case should probably be solved as a systemic level not class design, with either blockers that get easier to defeat or short-term and expensive stims that could be used to beat a blocker.  World PvP probably doesn't need this either.
  • Sprint - This ability should be a passive that is always active, 35% when not in combat.
  • Determination - This ability is  not needed.  CC breakers are more important when the pace of combat and lethality of skills is high, so being able to break out of a CC is more important.  The pace of PvP combat in SWTOR is lower, so people can just suck up being CC'ed.  This also keeps the person who used the CC ability from being confused as to why it ended early.  CC breaks can be interesting though, so the functionality could be just as easily rolled as a talent onto one of the existing skills (as is already being done for those classes that talent into a second CC break)
  • Kolto Overload and Energy Shield - MERGE.  I totally agree with the idea of defensive cooldowns, but I don't see why you need 2.  Merge these into 1 with a 60 second cooldown that recovers health and reduces incoming damage
  • Explosive Dart and Missile Blast - MERGE.  These two skills a very similar in their function from the player's point of view.  They are AOE skills.  In theory if you are dealing AOE, it gives you an AOE "rotation" to use, but you already have additional AOE to use in the form of Flame Thrower and Death from Above.  I don't think I need 4 skills in my AOE rotation
  • Sonic Missile - CUT.  While I appreciate the value in this skill, encounters can probably be designed without it
Making the above cuts and sorting the skills into categories for additional design simplification I got:
Non-Combat Skills
  • Recharge and Reload
  • Stealth Scan
  • Hunter's Boon
  • Combustible Gas Cylinde
  • High Energy Gas Cylinder
  • Ion Gas Cylinder
Utility
  • Overloaded Kolto Shield
  • Electro Dart
  • Vent Heat
  • Carbonize
  • Grapple
  • Neural Dart
  • Hydraulic Overrides
  • Quell
  • Guard
  • Explosive Fuel
  • Jet Charge (Shield Tech)
  • Oil Slick (Shield Tech)
Close Range Damage
  • Rocket Punch
  • Flame Burst
  • Heat Blast (Shield Tech)
  • Immolate (Advanced Prototype)
  • Retractable Blade Advanced Prototype)
Close Range AOE
  • Flame Thrower
  • Flame Sweep
AOE Damage
  • Death from Above
  • Explosive Missile Blast
Ranged Damage
  • Rail Shot 
  • Unload 
  • Rapid Shots 
  • Thermal Detonator (Pyrotech)
  • Incendiary Missile (Pyrotech)
Second Pass. Refining the specs  
Many of the talent trees add a few new skills that overlap the functionality of previous ones. The result is that players usually end up using both skills but it's a math problem to figure out which is better and why.    The second pass involves trying to retain some skill differentiation, keeping each tree feeling unique, and looking at a meaningful rotation for each spec.

Close Range Damage.  
Many of the Bounty Hunter Core skills are not melee, however 2 of the 3 trees are.  In fact the signature spell for the Pyrotech is Flame Burst, which I never understood because it doesn't work well with the Pyrotech tree.

The intention is obviously to provide a decent rotation for melee usage.  I would argue that you only need 2, at most 3 abilities to make for an interesting single target rotation. (you should use your encounter design to allow for usage of utility skills, target switching, switching to AOE, and occasionally needing to be at range to shake things up.  Only 3 abilities at melee is too few if you never did anything else but you shouldn't be fighting target dummies)

With that in mind, I think Flame Burst is the only Core skill needed.  Mostly because the Pyrotech doesn't need additional close range abilities.  I would move Rocket Punch to be Shield Tech only. 

This gives for Close Range combat rotations
  • Shield Tech: Rocket Punch when available. Talents and gear can make Rocket Punch available more often.  Heat Blast on cooldown every 10 seconds. Spam Flame Burst Otherwise
  • Advanced Prototype: Keep Retractable Blade DOT up. Immolate on cooldown.  Spam Flame Burst Otherwise
  • Pyrotech: Spam Flame Burst
Close Range AOE
The Pyrotech, as a ranged class, doesn't get any close range AOE, although to be nice one could just let him use the ranged AOE abilities.  At close range you only need 1, maybe 2 AOE abilities.

That leaves Flame Thrower and Flame Sweep.  Flame Sweep could be baseline, whereas Flamethrower could easily become Advanced Prototype only.

This gives for Close Range AOE rotation
  • Shield Tech: Spam Flame Sweep
  • Advanced Prototype: Flamethrower if you can channel, Spam Flame Sweep otherwise
  • Pyrotech: Use your ranged AOE rotation or spam Flame Sweep
Ranged Damage
The core bounty hunter kit is ranged, so you'll see a few more attacks here than melee, but there doesn't need to be many.  The biggest improvement can probably be found by improving baseline abilities rather than introducing completely new ones with heavily overlapping functionality.

Rapid Shots is basically auto-attack, and can stay.  Unload is a very niche spell that basically says "do more damage if you can channel and spare the heat".  Rail Shot serves a good purpose as a cooldown button you hit when it's available, which is probably enough for the core kit.

If Rail Shot is there, rather than introducing duplicate cooldown-controlled abilies, Pyrotech can enhance it instead. Furthermore, while I appreciate the design behind Thermal Detonator, I think it's too subtle.  If the decision is a tradeoff between doing more single target damage and more AOE damage, that decision is already captured by the opportunity cost of your cast times, heat allocation and GCD usage. Having to flip a 15-second cooldown between one usage and another seems like overkill.  I could cut Thermal Detonator completely, or if you want to be really awesome, make it an upgrade to Explosive Dart that just let's it do more AOE damage and balance accordingly.

This gives Ranged single target rotation of
  • Shield Tech: Rail Shot on cooldown, unload if you can stand still and spare heat, rapid shots otherwise
  • Advanced Prototype: Rail Shot on cooldown, unload if you can stand still and spare heat, rapid shots otherwise
  • Pyrotech: Keep Incendiary missile up, Rail Shot on cooldown, unload if you can stand still and spare heat, rapid shots otherwise

Ranged AOE
The ranged AOE int he original class got merged in pass 1, so the classes all share the same rotation
  • All specs: Death From Above if available, Explosive Missile Blast otherwise

Third Pass - Evaluate gameplay value
For the third pass, I'm going to just ruthlessly cut to see what would happen if you wanted to retain 95% of the gameplay for reduced complexity.  One might argue that reduced complexity means you have more room to complexity in future content with better mechanics to get more depth than we're losing now.

  • Hunter's Boon - CUT.  Party buffs have some social merit but doesn't add any combat depth.
  • All 3 Cylinders - CUT.  This is tough.  The main reason to have this mechanic is on the theory that you might perform a role other than your spec.  For example you might be tank spec but need to DPS for a while.  Or you might be DPS spec but you're going to tank a Flashpoint and can't afford the credits. Unfortunately it doesn't work at all in practice \because so many abilities in the trees rely on you having a Cylinder active anyways.  For example, if you are Shield Tech, half your talents turn off unless you're using Ion Gas Cylinder. Using anything but Combustible cylinder in Flametech tree causes your main DPS ability to turn off half the time.  As a result, the "off-spec" Cylinder mechanic is already gone.
  • Electro Dart - Merge with Carbonize.  Carbonize re-design - Shoot at a target.  Encase that target plus up to 5 targets around it in carbonite.  40 second cooldown.
  • Neural Dart - Cut.  Give Shield Tech a passive that builds a taunt into Rail Shot.
  • Guard - Cut.  The amount of gameplay value added by this ability is super small.

The Final List

Recharge and Reload - Instant - Regenerates health and vents heat while channeling. Not usable in combat.
Stealth Scan - Instant - Cooldown: 20s - Range: 30 m - Fires off probes that scan the area for stealthed opponents. Probes last for 10 seconds.
Overloaded Kolto Shield - Instant - Cooldown: 60s- Restores 15% of maximum health over 12 seconds.  Damage taken is reduced by 25% during this time.
Vent Heat - Instant - Cooldown: 120s - Rapidly vents 50 heat over 3 seconds.
Carbonize - Instant - Heat: 8 - Cooldown: 40s - Shoot at a target.  Encase that target and up to 5 enemies within 8 meters in carbonite, stunning them for 4 seconds
Grapple - Instant - Cooldown: 45s - Range: 30 m - Fires a grapple line that pulls the target to the Bounty Hunter and generates a high amount of threat. Cannot be used on targets in cover.
Hydraulic Overrides - Instant - Cooldown: 30s - Grants 8 seconds of immunity from movement-impairing effects, knockdowns and physics and increases movement speed by 30%.
Quell - Instant - Heat: 8 - Cooldown: 8s - Range: 4 m - Interrupts the target's current action and prevents that ability from being used for the next 4 seconds
Explosive Fuel - Instant - Cooldown: 120s - Increases ranged and tech critical hit chance by 25% for 15 seconds.
Flame Burst - Instant - Heat: 16 - Range: 10 m - Fires a burst of flame at the target that deals 558 - 622 elemental damage.
Flame Sweep - Instant - Heat: 25 - Torches up to 5 targets within 5 meters for 437 - 561 elemental damage.
Rail Shot - Instant - Heat: 16 - Cooldown: 15s - Range: 30 m - Fires a very powerful shot at the target that deals 1404 - 1591 weapon damage. Only usable against incapacitated targets and targets suffering from periodic damage.
Unload - Instant - Heat: 16 - Cooldown: 15s - Range: 30 m - Unloads your blaster into the target, dealing 587 - 690 weapon damage every second. Weak and standard enemies caught in the blaster fire are stunned for the duration. Fires both blasters if dual wielding.
Rapid Shots - Instant - Range: 30 m - Fires a quick stream of bolts, causing 670 - 817 weapon damage.
Death from Above - Instant - Heat: 25 - Cooldown: 60s - Range: 30 m - Rains death from above, firing a volley of missiles at the target area, dealing 11840 - 16519 kinetic damage over the duration. Standard and weak targets are knocked down by the blasts.
Explosive Missile Blast - Instant - Heat: 25 - Range: 30 m - Deals 1535 - 1587 kinetic damage to the target and 198 - 233 additional kinetic damage to up to 3 nearby enemies in a 5-meter radius. If the primary target is a weak or standard enemy, it is knocked to the ground.

Shield Tech Skills and Talents

Rocket Punch - Instant - Heat: 16 - Cooldown: 9s - Range: 4 m - Engages the jetpack, allowing you to strike the target with a heavy punch that deals 2205 - 2415 kinetic damage.
Heat Blast - Instant - Cooldown: 15s - Range: 10 m - Discharges 8 heat into a fiery blast, dealing 443 elemental damage.
Jet Charge - Instant - Cooldown: 15s - Range: 30 m - Jumps to a distant target, dealing 447 kinetic damage, interrupting the target's current action and immobilizing the target for 3 seconds. Cannot be used against targets in cover.
Oil Slick - Instant - Cooldown: 60s - Sprays the immediate area with oil. Nearby enemies become unbalanced and their accuracy of ranged and melee attacks is lowered by 20% for 18 seconds.


Advanced Prototype Skills and Talents

Immolate - Instant - Heat: 8 - Cooldown: 15s - Range: 10 m - Sprays the target with fuel and ignites it into a fireball that deals 623 elemental damage.
Rectractable Blade - Instant - Heat: 16 - Range: 4 m - Plunges a retractable blade into the target that deals 380 kinetic damage and causes the target to bleed for 459 internal damage over 15 seconds.
Flame Thrower - Instant - Heat: 25 - Cooldown: 18s - Torches everything in a 10-meter cone with a flamethrower, dealing 1593 elemental damage over the duration.


Pyrotech Skills and Talents

Incendiary Missile - Instant - Heat: 25 - Range: 30 m - Fires a missile that explodes on contact, igniting the target for 216 elemental damage and an additional 689 elemental damage over 18 seconds.


Of course, no design ever exists in a vacuum, a few downsides with the approach I've taken:

  • Less skills may make level-up feel less satisfying
  • Some players prefer having lots of skills, and appreciate anything that allows them to feel a sense of mastery
  • Encounter design may need to be more varied to compensate for skills being simpler. Fights with no interesting mechanics are going to feel extra boring.
  • While this would all be fine for a game pre-launch, post-launch it is disorienting to make significant changes to a class.

Sunday, March 4, 2012

Hero Academy First Turn Advantage

The advantage of going first in Hero Academy has been on my mind for the last week or so.  The topic has come up on the Robot Entertainment forums with a few solutions proposed.  I've been brainstorming up some solutions and would like to share some today.

For those who are not aware, there is a First Turn Advantage (FTA) for going first in Hero Academy.  Many games have this problem and different games have come up with different solutions to it.  In Hero Academy the person who goes first is always 5 actions ahead.  This 5 action advantage is more noticeable on some maps than other and is also more noticeable at higher levels of play.

The single large crystal map has a particularly strong FTA .  This makes sense, because the relevance of the FTA goes up for short games, and the single large crystal map usually has shorter games. Here is a worst-case scenario (but unfortunately not atypical) shot of a game I had this week.  My opening hand had two Knights which I used to secure the two purple assault tiles very quickly.  To make matters worse my opponent is playing Dwarves and has no ability to move my Knight (such as with Knight knockback or Impaler tug).

The map is bursty already - and the FTA exacerbates the issue.

With both assault tiles secured, I just start bursting down his crystal.  In this shot you can see I'm even using a priest now to attack the tile, who can deal a whopping 800 damage per attack thanks to control of both Assault Tiles.  On the subsequent turns I follow up with my Knight, Archer and Ninja -combined with the health potion and the scroll - I can charge straight at my opponent's crystal with reckless abandon.  My opponent clearly has a dominating army on the board, and would win in a comparable situation on any other map, but the combination of the FTA and this map are overwhelming.

So that's the problem - but what's the solution?  Some of the most challenging design problems are those with a large number of solutions, but every solution has a different drawback.  The job of the designer becomes choosing the solution that best addresses the problem while being in line with his or her overall vision for the game.


Starting Player has a Smaller Initial Hand
You could start the first player with only 2 units in their hand.  This heavily restricts the options they have for the first turn
Pros: Might actually make the new player experience easier and more streamlined.
Cons: May not actually solve the problem, 5 actions is 5 actions and some games I play I spend all of my first 5 actions getting 1-2 units into position anyway.

Starting Player Deploys from a Single Deploy Zone
You could restrict the first player to only deploying on their first turn from a single Deploy Zone.
Pros: Simple.
Cons: Might actually be confusing to new players.  May not actually solve the problem.


Second Player can Mulligan
A "mulligan" is where you reject your starting hand and draw a new one.  In Hero Academy terms, you could allow the second player have an opportunity to discard any number of cards from starting hand and then draw back up to full before beginning turn.  The first player would have the action advantage but the second player would be minimizing the effect of bad draws

Pros: Asymmetrical advantages can be pretty cool. Some players really hate RNG so may enjoy going second.
Cons: Asymmetrical advantages are harder to tune.  This solution is binary, if it fails to solve the FTA there is no granularity on the tuning knob, you'll basically have to go with one of the other solutions anyway.  Introducing a solution that basically remove RNG for one player isn't very sexy.  Having players choose between a concrete action advantage vs. not being screwed over by their deck is not an appealing choice. Increased burden for teaching new players.

Manipulate Starting Hands to Favor Second Player
One subtle technique that games that are player vs AI (or player vs. environment) often do is manipulate the random number generator to favor particular outcomes. For example, the first player might have a reduced (or zero) chance of getting swords in their starting hand, while the player who goes second might be guaranteed a sword in their starting hand.

Pros: Could probably manipulate the RNG to get 50%.  New players will never know.
Cons: Feels icky.  Betrays the trust of the players who are expecting true RNG. Part of the longevity and appeal of Hero Academy comes from varying starting hands being a random element that players have to accommodate.

Fixed Starting Hands
A variant of manipulating via RNG - each race could have a pre-determined starting hand, with the second player's starting hand being better.

Pro: Good deal of granularity for tuning to 50% win rates.  A really nice side benefit is the New player experience might actually be better.  Starting hands that are easy to understand could also be accompanied by tutorials that are designed to match the starting hand.
Con: The randomness of the draw is part of replay-ability formula - could lead to many games feeling similar to one another.  This may be mitigated in the future by having a large board pool rotation and lots of available races.

Extra Item for Second Player
This is a variant of manipulating the deck but does it a clear way so the hardcore players know it's happening. Since the deck contents are set, you could throw an extra sword, shield, or scroll into the second player's deck.

Pros: If you choose something like a scroll - that's probably equivalent to the FTA.  This modification does not affect the new player experience at all.
Cons: Is very hidden from the player, (unless Robot decided to show deck contents).  Feels like a less elegant solution (though I will admit I'm having trouble verbalizing why right now).

Add a Deploy Phase at Game Start
Much like Warhammer, you could begin with a deploy phase.  Rather than take their normal turn, the game starts with a deploy phase where players can place a few initial units directly onto the battlefield.

The design team could play around with the deployment rules.  For example, no super units - perhaps the player who goes second is allowed 1 extra deploy, or one extra unit to choose from.  You could declare that the starting player can only deploy units in the first 2 columns but the second player can deploy units in the first 3 columns.  There are so many deployment rule variations this could become a fun and interesting side to the game.

Pros: Some players may actually really enjoy having a deploy phase.  A deploy phase also helps to mitigate starting hand RNG. Tuning has a lot of granularity which makes it easier to get to 50% win rates.
Cons: Complicates the game with an entire new phase.  May add a barrier-of-entry for new players.  May make understanding the deployment squares in future turns confusing for new players.  Reduces some of the strategic options such as 1st turn Rambo Monks.  FTA with a deploy phase may have varying value based on the board, which increases the tuning complexity for future board designs.

Adjust Starting Crystal Health
In Go there is the notion of Komi - a point advantage granted to the player going second to compensate for the disadvantage.  When I started playing Go 15 years ago Komi was 5.5, but is currently 7.5 in the United Staes.

In Hero Academy the equivalent would be for the starting Crystal Health amounts to not be equal.  For example, instead of the standard 4500 health, the second player could have 4800 health per crystal.

Pros: Minimal impact for the new player experience.  Allows a very precise tuning knob that can be adjusted based on the map.  Elegantly preserves the symmetry of the rest of the game.  If a map ever needs more than about 400 crystal health adjustment (800 total) to bring the map to a 50% win rate, I would start to question the map design.  (For example, on the aforementioned single crystal map, I could see a crystal Komi adjustment as large as 2000 not being enough - which starts to hint that the map design itself needs to be revisited).
Cons: In some matchups you don't even attack the crystal until board control is established, and at that point it doesn't matter what the starting crystal health was.  It feels a bit strange that one player's crystal is not the same health as the other's.  This can probably be mitigated if desired by inserting some text or a mini animation in between the first and second turn "Bonus health for second player" - though that might just be even more confusing to new players.  In general - but particularly as a free to play game - I'm pretty sensitive to changes that makes the new player experience more confusing or intimidating.  Depending on the UI visualization, I could very easily see it as being awkward to compare "Who's crystal is at lower health?" unless one person's crystal health bar either started higher than 100%, or one person started lower than 100%.


First Player Starts with Less Actions
This is a fairly popular forum suggestion - since this is mostly about the first player always being 5 actions ahead, why not reduce the actions of the starting player?

Some people have suggested 4 actions but I think that's just silly - 4 actions is saying "We acknowledge there's a problem so we'll half fix it, but it'll still be a problem"

Reducing to 2 or 3 actions would be the correct fix if Robot chose to go down this road.
3 actions - This says "yeah there's an advantage but we've made it as small as possible" - and hey - maybe the second player's ability to deploy their army in response to the decisions made by the first player could be a small advantage of it's own.
2 actions - This actually gives the action momentum to the second player, but leaves the first player - arguably, with an "Initiative" advantage.

This is actually the solution I've personally adopted in my games. If I ever challenge you to a game, I voluntarily give up 2 actions now when I go first, accompanied by the following text:

I encourage anybody else reading this to consider adopting this convention as well.  Perhaps, much like "throwing the second round" in Street fighter or "Solo-Mid" in League of Legends, we can probably fix this via social convention for the people that care.  If you care about FTA, surrender 2 of your starting actions!  Or - if you want to be really boss - voluntarily surrender 3 of your actions and only start with 2 actions!


Pros: I think starting with only 2 or 3 actions will bring Hero Academy about as close to 50% as we reasonably need.
Cons: You may be detecting a pattern - but I think a forced 2 or 3 actions for the first turn will hurt the new player experience.  As a free-to-play game Robot needs to make sure when somebody downloads Hero Academy and challenges their friend - those first 30 seconds need to be representative of the game and feels satisfying.  The other possible con is that this solution probably won't bring the win rate to a theoretical exactly 50%,  but it would bring it a whole lot closer.

Conclusion
So there you have it - some solutions to the FTA.  I'd be curious to see if Robot does anything.  Personally I'd be just fine if they tweaked the single crystal map and left the rest to the community.  The community can use social convention to skip the first 2 actions among the hardcore players who care.  Organized league play can enforce skipping the first 2 or 3 actions very easily - it's akin to fighting game tournaments who will ban particular characters for that tournament under "generally accepted agreement" the character is overpowered or sports game tournaments who have at time banned the use of certain moves that exploit AI flaws beyond the control of the other player.