Sunday, May 17, 2020

Tactics games in 2020: game design notes about Horizon's Gate and Gears Tactics

I finished playing two 2020 RPG tactics games recently: Horizon's Gate and Gears Tactics. I've also written at length about Invisible Inc before. I clearly want to make a tactics game someday? Anyway here's my design analysis and thoughts.

NOTE: This post has a lot of mechanics / game design spoilers, but no story spoilers.

NOTE 2: This isn't me trying to prescribe what "good tactics design" is for everyone. I'm just trying to articulate my own personal tastes and rationales.

Horizon's Gate

Horizon's Gate is a retro pixel art open world sailing game about exploring towns and dungeons, buying low and selling high, and getting into battles where you push and pull and surround. It's very good and you should play it. If you don't have much time, you can probably stop after like 5 hours.

  • The overall RPG arc involves leveling up and constantly swapping job classes to advance across three different intertwining skill trees. So to access the late game mage-warrior class, you'll have to level up to an intermediate warrior class and an intermediate mage class first, etc.
  • There's two novel progression systems for earning money outside of combat and trade: cartographer NPCs pay you based on how much of the world map you've explored, and researcher NPCs pay you based on how many different items you've examined (rarer items lead to rare codex lore entries that you sell back for lots of money).
  • As a hard incentive for exploration, you also have to first unlock character classes by visiting trainers hidden around the world. 
    • But to explore around the world, you need to stop in towns to buy morale boosts and restock food.
    • But to store enough food for long voyages with few towns, you need to buy more boats with bigger cargo holds.
    • But to buy bigger boats, you need lots of money.
    • But to get money, you have to explore, trade, fight, etc.
  • You have a core landing party of 5 party members. You can also pickup a few dozen other party members to crew your boats, but they tend to be pretty useless and neglected in favor of your main landing party. 
Battle design:
  • Each unit gets 1 move action and 1 attack / skill action. Square grid.
  • Arenas tend to be pretty simple and open, otherwise the AI doesn't have enough space to maneuver. The AI is bad at multiple chokepoints / fronts, which seems like a hard problem.
  • Most encounters pit 6-7 enemies against a player party of 5, but big fights can go up to 8-10. 
  • In JRPG tradition there's also big potential for cheesing via items, where if you buy enough megabombs and lifeshards then you can probably defeat the final boss with a level 1 party. 
  • The most interesting enemies were "splitworms" that split into two clones upon being damaged, which encourages you to hit them really hard once, and then use a weak AoE attack with wide spread to clean up the resulting clones -- if you use a weak AoE attack first, you'll quickly be overwhelmed.
  • There's some fun interactions between the open world layer and the battle layer. Like if you run out of food and your fleet has low morale, then you will begin any battle with "demoralized" status effects that weaken everyone.
  • Lots of skills about pushing and pulling positions, borrowing from Into The Breach. So you might pull your warrior out of the way of friendly fire, and then cast a big AoE spell on the mob. Or you might push an enemy into another enemy, which lines them all up for a charging attack, etc.
  • There's a Tactician skill class that's a huge missed opportunity, with skills that reposition others but don't apply any damage directly. I wish we could've used this to manipulate turn timers more directly, but I imagine it was probably too powerful. The Tactician ultimate skill gives someone a whole other turn, with a very long cooldown. (Compare this stinginess with Gears Tactics below.)
  • Late game chains are about stun-locking dangerous enemies into place (there's like 5 different types of disabling status effects) to keep them out of melee range and force them to get hit by delayed AoE spell channeling. Most AoE spells take 15+ ticks to cast, which is just long enough for most enemies to start their turn and possibly move away (12-17 ticks later).
  • Late game also gives you lots of opportunities to inflict status effects, so another strategy is to stack a bunch of status effects on an enemy (poison, itchy, blinded, silenced, immobilized, demoralized...) and then use a skill that "cashes in" the status effects (e.g. +20% damage for each status effect) to maximize damage.
Design lessons:
  • Big parties make a crowd. In games with dozens of recruitable characters, you can't treat them all the same. You'll want a lot of granular detail and options for your main party, but very coarse options for your secondary party because you don't actually care about them. This is where a lot of games would let you send these crew on idle game style missions, or XCOM would let you assign them to background tasks outside of missions. I think the compromise would be a system where these NPCs keep busy in the background, and then when there's an open slot in your main party, you can "promote" them to official PC player character status.
  • Per-unit turn timers break chains in an unsatisfying way. Every unit has its own individual turn timer, and I don't think it's worth it unless you let players cheese and manipulate it a lot. It's not fun for a game to say "sorry, you can't do that, this thing will be too late by 1 second." Horizon ends up holding back on time manipulation to balance the game, which is a shame. It's impossible to make a very fast character or a very slow character, everyone's always in a muddy sort of fast sort of slow state, with not enough differentiation. I prefer the simplicity and flexibility of XCOM style turn taking here: each team takes turns moving their units in any order. 
  • Knockback and positional mechanics are cool. This is already a lesson from Into The Breach, which designed an entire game around it, but Horizon's Gate still includes plenty of opportunities for roping people in, pushing melee attackers away, pushing enemies into spikes or hazards, pulling enemies into the line of fire, etc. And you almost always feel clever when you do it, or feel surprised when an enemy does it.
  • Generic item modifications are cool. There's a slotted rune / gem system, where you can put elemental "triggers" into weapons or armor. Some of the triggers add knockback, stun, poison, fire... but the most interesting one is the healing trigger, which converts the weapon damage into a healing effect. So one late game strategy is to make a "healing laser whip" and give it to someone with multi-targeting abilities, which lets them heal a lot of people all the time.
  • Directional facing systems aren't worth it. Like Final Fantasy Tactics, every unit also has a post-turn phase where they choose which direction to face. This isn't worth it, and just slows down play for a fiddly thing that doesn't really matter except for very specific backstab style mechanics. I'd rather just make a tactics game without any directional facing system.
  • Avoid implementing too many status effects. This a problem with a lot of RPGs, but I really felt it here... I never figured out what the "itchy" status did. I can see the rationale here: you want to make each skill and spell element feel unique, so you give them each a unique status ailment, etc. In practice, I just kept using the generic ones like poison and stun.
  • If you're going to include a mechanic, give it consistent attention or leave it out. This is the developer's 3rd game with the same engine / framework, so there's lots of systems leftover from previous games that doesn't make sense. Like there's all this environmental manipulation stuff (e.g. setting areas on fire or make them wet) but then the game barely uses it, and the effect on the battle is often negligible. It's a bit confusing for players because we don't know if this mechanic will be a big deal or not. (That maybe explains my previous gripes with the facing and the status effects too: it's leftover game design.) Contrast this with Divinity Original Sin 2's obsession with environmental effects that remains surprisingly consistent through the entire game.

Gears Tactics

Gears Tactics is a fancy XCOM-style 3D tactics game about scooting into cover, managing sightlines, and doing actions in the best order. I liked playing it a lot, but if you don't have much time, you can probably stop playing at the 33% mark, after the first boss fight, which is the best part of the game anyway.

  • I played on normal difficulty. You know, like a normal person.
  • Progression is Gears Tactics' biggest departure from XCOM. There's no overall strategic layer or metagame here, it's just a menu where you click on a button to begin the next mission. You can interpret this as a statement about the purity of tactics without strategy nonsense...
  • ... but there's this weird vestigial mechanic where your squad members can die and you have to replace them, but it doesn't work without the rest of the fantasy of managing a scrappy army. And unlike XCOM, new recruits often start at a higher XP level than your existing troops, which feels even more awkward.
  • As many reviews mention, this game often requires you to use hero units, and their deaths make you restart the mission... which, again, breaks the idea that you bond with your squad and mourn their loss. For the final mission of the game, you're not even allowed to bring any of your personalized units.
    • Obviously they had to do this so that they could add some Gears of War (TM) narrative cutscenes and storytelling. The converse is perhaps a weakness of XCOM too: because anyone can die, the authored story has to focus on factions and boss figures instead of your squad.
    • With respect to the talented devs at Splash Damage -- this gamble to strengthen story obviously wasn't worth it. No one plays Gears of War for its drama or cutscenes, it'll always be flat characters doing nonsense things for nonsense reasons. This franchise should've pivoted into stupidity like Doom 2016. 
  • In between missions, you assign equipment and level up troops. 
    • The equipment design is very unsatisfying for the first 75% of the game, it's just about stacking all these fiddly little bonuses (+5% health, +5% accuracy) and hopefully it adds up to something. By late game, you get equipment that actually feels meaningful with big chunky bonuses (+50% ammo! +30% crit chance!) but that's assuming you stick with it for that long. In the last third of the game, I just stopped managing equipment because it just took too long with the cumbersome UI and shopping.
    • The skill tree design is a mixed bag with highs and lows. But more on that later.
  • All these issues collide with each other: the narrative designers make you stay with just one set of units, while the game designers want you to have an A team / B team / C team that all explore different parts of the skill tree.
  • Boss 1 is hard with an unclear movement range and devastating melee + gun attack. Boss 2 is easier because it's stationary and relies on delayed attacks, and probably should've been slotted as Boss 1. Boss 3 splits your squad of 4 into 2 mini squads on opposite sides of a divide, but it ends up being the easiest boss battle because by then you've internalized the rules about how bosses work, and maybe that's ok, final bosses can exist to validate your mastery instead of providing a challenge?
Battle design:
  • There are basically four types of missions: kill everything, protect two control points for X turns, attack two control points to rescue new squad members, and run to the end without getting hit by an incoming wave of bombs. 
  • Each mission consists of 3-4 waves where the game pre-places or spawns mobs of enemies. There's some good variety here in terms of mob feel: sometimes a mob consists of 4 fast weak melee enemies, sometimes it's 8, sometimes it's 4 infantry, sometimes it's 1 grenade soldier, etc. And sometimes a wave spawns a mob in front of you and behind you.
    • I played a mid-late-game mission where I could bring only 2 squad members, but they had to somehow fight off 6 fast melee enemies, 4 kamikaze crawly things, 4 snipers, 4 gun soldiers, and a strong elite soldier. I felt massively outnumbered, but the level design balanced this by making them all approach pretty slowly and from the front, which made it much easier to stay in cover and slowly manage them.
  • Most missions have you bring 4 units. Some missions make you use only 2 units, and some of those 2 unit missions let you rescue 2 more during the mission to get back up to 4.
  • Each unit gets 3 action points, which can be used for any combination of movement and skills. More about this in the "Chaining" notes.
  • There's also no grid... kind of. In practice, there's a loose stochastic grid where you "snap" to cover objects. 
  • Cover can be half-cover or full-cover like in XCOM. The cover hit % math here is one of this game's best refinements, and it's much clearer and feels much more fair than in XCOM. It divides hit % into sub-categories like range, obstruction, and target's evasion % bonus. Congrats to whoever tuned the angles and numbers.
  • That said, this game's big subtle innovation in level design is that sometimes staying in cover is actually bad. You only need to be in cover if there are enemies nearby, otherwise you're forcing yourself to go too slow or stay too far away. It's pretty great when you realize this.
  • This game's overwatch is a great update of XCOM. 
    • Leftover actions go into additional overwatch triggers. (e.g. 3 actions = 3 opportunities for overwatch.)
    • Overwatch is also triggered by any damage-dealing action, not just movement. For XCOM veterans this will feel wrong at first, but now I think I like this better.
    • You can also set the overwatch cone to be shorter than the effective weapon range, which gives you detailed control over how your squad's overlapping overwatch cones will trigger. (The longest cone will trigger first, the shortest cone last, etc.)
    • You could probably make an entire tactics puzzle game based on this implementation of overwatch. Expect the next entry in XCOM to steal this shamelessly.
    • This is also the game's greatest achievement in sound design: the overwatch trigger sound is like a gun click mixed with a slot machine, it's a drug.
  • The best part of this game is the frag grenades, which are super OP but I'm ok with it. Grenades can't miss, go farther than most guns, over walls and bounced off walls, and the game previews the trajectory and bounce for you before you throw. Grenades can one-hit kill half the enemies, and also interrupt enemy overwatch and knockback enemies out of cover...
    • ... which means you can chain grenades together. Hit an enemy with one grenade to push them into range for another grenade. 
    • 25% of my playtime was spent pixel hunting for the exact optimal grenade trajectory.
    • It's basically like playing turn-based pool / billiards, but with explosives.
    • Like the newly finessed overwatch mechanic, there's potentially a whole other game here. What if you incorporate verticality to let grenades roll down slopes? What if you throw one grenade to knock over a panel, and then roll a second grenade across that panel?
  • Chaining is definitely where Gears Tactics shines. The core chaining mechanic involves "executions" -- when you inflict high DPS that doesn't gib a humanoid enemy, they can become "downed" and die in 2 turns, or you can run up and "execute" them to earn a 1 action bonus for everyone else in the squad. This leads to chains where you can basically double your squad's allotment of actions, as your squad leap frogs each other to execute a chain of downed enemies, and destroy an entire wave of enemies in a single turn.
    • Hardcore tactics types will probably be annoyed by the opacity here though. What exactly is that damage threshold for "downing" an enemy? It's a black box, with maybe some dynamic difficulty adjustment fudge to sway things in the player's favor based on the squad's health pool? I couldn't really figure out how to plan for it, which is maybe the point. It's supposed to be a surprise that you react to.
    • Also, in late game, I was just killing everything with grenades lol... which is theoretically a big weakness: nades always gib enemies, and never produce execution opportunities.
    • You're also supposed to save nades for bombing "emergence holes", but as you enter act 3, the game uses fewer and fewer of them. E-holes seem difficult to balance level design around, because they either spawn like 4-8 enemies, or they spawn 0 because the player put a proximity mine on top. Their overall effect varies so wildly.
  • The downside to this cool "actions = more actions" chaining is that actions become really valuable, which unbalances the class designs that don't support bonus actions.
    • I think the designers realized this, which is why there's all these "15% chance to get +1 action" type buffs. That's their way of doing a more granular +0.15 actions thing.
  • The Vanguard tank class is useless because it can't earn bonus actions outside of executions, nor make effective use of its extra actions.
    • Most of its abilities focus on debuffing nearby enemies. But by the time you get that close, you've usually killed these enemies already. Level designers also can't design any puzzle encounters around requiring these debuff skills, since you never know if the player actually leveled it up or not.
    • Bayonet Charge is a sprint that insta-kills an enemy at the end, but it's actually very fiddly: it requires a clear uninterrupted straight path of movement with an enemy at the end, which is rare in levels full of cover objects. This ability really needs a buff where it also gives one free cover hop at the beginning, charges through breakable cover, gives x% overwatch resistance, etc. but I think the simplest fix would be to damage enemies along the path + don't require an enemy at the end point?
    • This class would've been better as an XCOM mech or something that borrows Overwatch tank-like shielding abilities, so that this unit itself can act as a cover object. Right now it mostly just plays like a worse Support class that heals faster. The Bayonet Charge is just a less flexible version of the Support's Chainsaw Attack.
    • Sorry this class design just made me kind of mad, and I was upset the game kept making me use this class over and over
  • The Heavy class has an "anchored" mechanic where movement makes it lose buffs... but when the optimal way to play involves not moving your units around, that doesn't work. The game even admits the heavy is boring when it bans heavies from the final boss fight.
  • The Sniper class has one obviously optimal skill tree specialization that enables bonus actions if you hit or kill an enemy. It's useful, but boring in its own way because it doesn't really interact with anyone else. The trade-off is supposed to be more accuracy / crit damage vs more actions / ammo, but I think most players will decide that more actions will always win out.
  • The Scout class is super overpowered and I love it. It can sprint long distances with a single action, cloak to become untargetable, and with the right equipment, throw a grenade every turn.
    • The trade-off is that it's somewhat weak and vulnerable, like a glass cannon rogue-type... but unfortunately no enemy type can counter the cloaking. Some skills try to entice you to use the cloak as an offensive tool, but I always decided that 1-2 turn invulnerability is too great to waste on a crit damage bonus. I think a "true-sight" detector mechanic would've been bloaty and pointless for the other classes though, so... what about giving an enemy type some proximity mines that still react to cloaked scouts, which we see for boss 2 but never again?
  • The Support class is the main design lesson here. It is also the main protagonist's class, so... QED.
    • "Empower" gives 1 (or 2, at highest level) bonus actions to someone else, which makes someone 33-66% more useful. "Teamwork" gives this support character more bonus actions... for each enemy that the targeted ally kills. You're betting that this ally will go on a killing spree. For stronger enemies, that means that ally needs to get all the last hits. Both of these skills are pretty deep game changers.
    • ... but half of the Support skill tree is useless healing skills. Every class already has built-in self-healing mechanisms. If you don't make healing more fun and finessed, like how Team Fortress 2 / Overwatch approach healing as an activity, then healing is always going to feel like a boring interaction that also goes against the Gears of War / Doom aesthetic of momentum.
Design lessons:
  • Mix up important core numbers to mix up pacing. When the mission only lets you bring 2 squad members, your turns go much faster / the battles are smaller. It feels surprisingly fresh, and also lets the game teach you new things a bit better. This is an important cleanser to contrast with the 4 squad missions.
  • Grenades are the best combat mechanic in every video game. Projectile guns are an ok compromise, and hitscan guns are obviously whatever.
  • Be careful with recruitment mechanics. This game keeps pushing these authored hero protagonists in your face, while letting your personalized characters and rescued characters just fade away from the spotlight. It feels terrible, much worse than how Horizon's Gate makes you recruit a giant disposable party.
  • Let players choose the turn order. This is what makes the overwatch and grenades work. Just to reiterate the problem with Horizon's Gate: per-unit turn order forces the player to do a bunch of math to get the best turn order, which is even more annoying when you balance the game to discourage too much time manipulation.
  • More actions is better, as long as you support it. The decision to have every class start with 3 actions per turn was very savvy, and when I played one late-game mission that limited my actions to 2 per turn, it was an interesting experiment but obviously a much worse game. And as I criticize above, I think the Vanguard, Heavy, and Sniper classes are deeply flawed because they don't play with the action chaining system nor interact enough with other classes.
  • Let players bet on what will happen. The Scout class can stash actions for the next turn ("Anticipation") or sacrifice health for bonus actions ("Exertion"). The Support class can donate actions to an ally ("Empower") or bet that an ally will go on a kill streak ("Teamwork"). There's also more indirect ways of betting... like the Heavy would've been better if it borrowed some of the Horizon's Gate playbook with time-delayed AoE spells that rely on a second character to stun-lock a target, or better yet, predict where enemies are going to move.
  • Cover replaced directional facing. It basically combined movement and directional facing into one action, very elegant. The equivalent of the tactics "backstab" here is just flanking. What if there was an even simpler way to get the feel of the backstab mechanic, but without even a cover system? 
  • Let enemies be resources. The execution mechanic adopts a core tenet of Broughlike design: enemies are resources for player actions, so sometimes you "save" an execution for later, when it will chain with the rest of your squad abilities.
  • Avoid lazy ability design. The Support class has an ability called "High-Powered Shot", it shoots with a +50% damage buff... and, uh, ok? This isn't really fundamentally different from the regular Shoot ability. Gears Tactics is full of these "a bit better Shoot" abilities which is pretty disappointing compared to the variety of abilities in XCOM.

Anyway, again, I just want to reiterate that I liked both of these games. I played both to completion. This criticism is not meant to be an attack on anyone, it's just my opinion / me thinking out loud and reflecting on my reactions.