Re: Spectacles: Bruce's Story
Reply #41 –
So I've been pretty quiet lately, everyone probably thinks this project fell off the edge of the earth. But it didn't, just laziness on my part. But I finally got back into the spirit of coding again, thanks in large part to Radnen's Link library which really makes so many things much easier that I had to do manually before. So anyway, my latest addition to the battle engine is what I call the Stance system, a more advanced, more flexible iteration of the Defend feature seen in so many RPGs.
A little background before I explain the new system: One of my main goals with Spectacles has always been boss-player equality. For example, I try to keep status immunities to a minimum (only those that make logical sense given the nature of the boss): the final boss of Bruce's Story is proof of this, not having a single immunity! This certainly makes the AI routines much more complicated to program, but it's a small price to pay for the added strategic depth. (This depth is also the reason I allow enemy AIs access to the turn predictor.)
But even worse than excessive status immunities, too many RPGs give their bosses, particularly mid- to late-game storyline bosses, advanced techniques that player-controlled characters simply don't have access to. Final Fantasy is a prime offender here: Many, MANY bosses have a point in the fight where, if you attack them, they will counterattack, often with something EXTREMELY painful. The player could never hope to duplicate such a strategy, and this is something I've always considered unfair. Sure, it makes the fight more challenging, but for all the wrong reasons.
Another gripe of mine is that the Defend command in most battle systems is practically worthless. Typically it halves damage, but using it in the heat of battle is, in practice, usually tantamount to suicide. There's almost never a situation where it's better to take a defensive stance over just dishing out a ton of damage in a reckless last stand, and if you really need the damage reduction, you're almost always better served exploiting openings in the enemy's attack pattern to buff the party and then carry on attacking. In fact, the ONLY good use I've ever found for defending in lieu of damage output is during--you guessed it, a boss's counterattacking phase! This all almost has me convinced that the usual counterattack implementation for bosses is inherently broken and the Defend command is pretty much only provided to mitigate it.
The Stance system in Spectacles fixes all that. At present there are three stances: Attack, Defend, and Counter, and both player- and AI-controlled battlers alike can use them. How it works is this: All units enter the fight in the Attack stance. This is the standard mode of operation, where units get to choose a move each turn and their next turn is determined by a combination of their immediate AGI stat and the rank of the move used (the higher the rank, the more the next turn is delayed).
The remaining two stances, Defend and Counter, are a bit different. When a battler's turn comes up, that unit has the option to either choose a move as usual, or change their stance. The catch is that changing stance represents a commitment: A unit changing stance won't receive another turn until the conditions of the stance are met. Units in the Defend stance are stuck that way until they take damage (which is then reduced), and Counter-stance units are likewise stuck until their counterattack is activated.
Of course, the Counter stance has an additional level of commitment: When switching stance to Counter, the move to counter with has to be chosen in advance, which requires some strategy. The upshot, however, is that a move used in a counterattack will be greatly more effective than that same move used from the Attack stance: Damaging moves deal more damage, attack accuracy is set at 100%, and intrinsically inaccurate moves like Munch are more likely to succeed. This boost in efficacy elevates the Counter stance from useless fluff to a genuinely useful battle tactic: if you have a boss that likes to target one battler and whale on him, just have that unit counterattack with something powerful. And just as it should be, if you try to abuse the mechanic, you'll get killed in short order.
As for that Defend stance, it may at first seem just as useless as any other Defend command, but it's not: Because of the way the Stance system works, the subtle difference in timing makes all the difference in the world. In a Final Fantasy battle, for example, it's entirely possible to Defend and then not get hit at all before your next turn (this is less likely to happen in FFX as you can see the turn order ahead of time, but you don't have that luxury with ATB). Which means, hey, you just wasted a turn defending that you could otherwise have used to damage the enemy or benefit the party. Nice going, genius! The Defend stance, however, doesn't end until the character is hit at least once, making it much more valuable strategically. In addition, Defend in Spectacles also guards against instant-kill moves, halving their damage as with any other damaging attack and thus rendering them survivable.