Spartan: Total Warrior Designer Diary #2
Clive Gratton returns to discuss the combat design in this game of large-scale conflict.
Currently slated for release in North America toward the end of September, Spartan: Total Warrior is a third-person action game from Creative Assembly--the same UK-based developer responsible for the Total War series of PC real-time strategy games. In his second weekly designer diary, lead programmer Clive Gratton is here to talk about the design of the combat in this ambitious, large-scale game of classical warfare.
How to Kill Hundreds of EnemiesBy Clive Gratton, Lead Programmer, Creative Assembly
Hi again. In this developer diary I'm going to try and give an insight into how the combat in Spartan: Total Warrior was designed.
With the potential of hundreds of enemies, we thought of a myriad of ways to kill them: massive explosions; gored by giant beasts; a hail of artillery. These all sound spectacularly cool but we realized early on that we'd need a combat system which would allow the player to come face-to-face with a horde of enemies and have fun killing them. We also wanted fights against smaller numbers and one-on-one fights, and so we needed a very large range of techniques to dispatch enemies. Making a decision about which technique you wanted to achieve on a moment-by-moment basis as the shape of the encounter changed also seemed to be very important. This would require a combat system that gave instantaneous control of the techniques available. Eventually the marketing department would dub this "action and reaction" combat.
As any good gamer knows, button bashing is the mortal enemy of the combat game! My first thoughts were on the nature of button bashing and how to avoid it. Button bashing is a result of a player's intention not matching the results onscreen (or trivially, a game being very easy). There are two parts to this: intention and results.
Intention is hampered by a complex user interface on the joypad or too many choices without obvious, discernable differences. Many games provide an interface to the moves with a long series of button presses. If you get a split-second chance to use a highly damaging move on an individual, having to input XXXOO (rotate pad right) rather than XXXXOO (rotate pad right) is, at the best of times, very difficult. If the moves are similar in nature then it was pointless, from a combat point of view, having the alternatives there in the first place. You mash the buttons and get similar results. Creating a UI which was simple and yet allowed access to a large variety of clearly differentiated moves was a priority.
The expected result not matching the player's intention is quite a complex problem. In order to get a weapon hitting an enemy and looking realistic in a third-person game, we have to create systems to assist the player. These typically consist of inverse kinematics (IK) and physics solutions mapped over animations in order to get the blade stuck into an enemy. Some games even resort to varying-length weapons to simplify this process. If these systems are too "helpful" then every press of a button can be converted into an impact with an enemy. This inevitably leads to unskilled gameplay where the skill and reward of attacking is lost. If there was a single word to describe the overall tone of the game we were making it was "visceral." We wanted as many aspects of the game as possible to exhibit this quality. I used this as a starting point when creating the basic interaction of the player's sword with the enemies. Each hit and kill looks and feels realistic. It's also skillful and as a result very rewarding.
So, what are the basic elements available to our hero? A sword, a shield, and a bow. Very early on we hit upon the idea of making the shield an active component of the combat. The reality of someone fighting with a shield is that it is not simply a defensive device; it's also used in an offensive manner to bash opponents. This was perfect for managing our large numbers of enemies and gave a unique quality to the combat. It also meant that our three combat elements could have control techniques in common, i.e.: Each of them could have a single button press for a "single enemy" attack and another alternate button press for a "multiple opponents" attack. So we now have two consistent buttons to press for attacks and two modifiers to change your weapon from the sword: shield or bow. We quickly realized that this system could be applied to all of the attacking moves to create the simple attack UI (two buttons). Modifiers are used to create the depth of moves required. Pick up and play at its best! The skill is not in the ability to select a move--the skill comes from the user deciding what is the best move to use for a given situation.
In addition to the standard attacks, we wanted a set of devastating moves which would be appropriate for very tough characters such as bosses and large groups of enemies. What's the point in giving the user the experience of fighting masses of enemies if they don't have the payoff of killing tens or hundreds in one go? These moves utilize power orbs that are gained in the levels and can be used at tactical intervals during the game. These fit into the current control system as another alternate modifier. If you want to pull off a power move with the bow against multiple enemies simply press bow, power, and multiple. This instantly gives a very large extended move set.
Once we had levels up and working it soon became apparent that we seemed to have a very large gap between the standard moves and the power moves. We needed some moves that would fill this middle ground. Thus, the combat-charged moves were born. These moves, using the same consistent UI, allow the player to decapitate groups for the multiple opponents move and deliver a nasty surprise for the single enemy variation. Cool!
The palette of moves was now very large, even before adding delights such as jumping attacks and the ability to perform fatalities on enemies who've been knocked down to the ground. We now had the tools to kill hundreds of enemies and have fun while doing it…bring on the bad guys!