Low-Level Systems

In my absence from writing and independently making games, I’ve been doing my best to play as many as varied games as I can get my hands on. The game combination which has specifically spurred this set of pieces (and it is a set) is: F.3.A.R. (henceforth entitled ffthrir), Shadows of the Damned, Bioshock 2 (“Minerva’s Den”), The Legend of Zelda: Ocarina of Time 3D, DiRT 3, Tactics Ogre, Trenched, Outlands, Gods Eater Burst, and Dead Rising 2. I’m also in the process of adding Fallout: New Vegas to the mix. Also Starhawk, but I’m making that once so I’ll omit it from discussion. None of these games have much (if anything) in common other than as a set indicating that I both play entirely too many games and play entirely too many games at once. One game in particular prompted the thought exercise that led to this series: ffthrir.

A F.E.A.R. 3 Analysis

ffthrir is such a strange game. If someone was to take a cold and impartiel view of ffthrir, I wonder if that person would find what is simply a largely competent and uninspired first-person shooter (a very crowded genre). What I found when playing ffthrir, however, was a game which appeared to not have the significant budget or AAA polish of its predecessors but, despite that, remained an incredibly fun and entertaining game from start-to-finish. On the surface, there was absolutely nothing extraordinary about the game other than its story hinging on a dead psychic girl who is pregnant with the rape-child of the player character from F.E.A.R. 2. What made ffthrir so enjoyable, however, was its dedication to ensuring that everything it did mechanically, it did well. While that is often not enough, it was in this case because the game didn’t really ask much of its player (which, industrially, is far from a commendable attribute). What ffthrir aimed (har) to be was an enjoyable shooter with an interesting cooperative mode and even more interesting multiplayer modes, and they succeeded on all counts. The reason their success was made possible is due, entirely, to how rewarding and interesting their low-level systems were designed and executed; it was simply fun to move and shoot.

That moving and shooting in a first-person shooting is fun is by no means a revelation. It’s why the genre exists and why Call of Duty has made more money than exists in active circulation at any one time (not a real statistic). What’s remarkable about ffthrir is how little else of the typical first-person shooter supporting cast is there: the story is passable, there isn’t a lot of complex scripted sequences or cinematics, no open world, no real continuity from level to level, and the level design itself is a throwback to shooters of the late 90s in its workmanlike environments and linear progression/cover placement. To tangent: this is with the exception of one remarkable bit of a level set in a Best Buy-esque electronics store. It’s astounding.

ffthrir is a shooter about moving around an encounter space as ammo and AI maneuvers dictate and all accompanied with the [present] industry standard two weapons and regenerating health. The fact that this is an entertaining game to play through given how many games I play through yearly, seems like it would defy explanation. In most media that wouldn’t be the case, but so much about what makes video games unique is through the interaction with a human player. A game which feels like it gives the player a unique experience solely through how it interprets the player’s actions on-screen has the capability to immerse and enthrall players almost regardless of the game’s specific context and surrounding elements. That importance of that supporting cast of X (where X is the set of the innumerable amount of things that go into the game) should never be far from a designer’s mind, but focus is often a helpful tool. So, in the interest of focus, here is an attempt at breaking down the low-level interactions in ffthrir(for the “Point Man”, which is the traditional shooter character in the game). There is going to be some interactions and overlap between these core systems and higher-level ones, but there isn’t really much of a need or use in being overly pedantic about how granular a given system or mechanic is:

  • Moving
  • Melee
  • Shooting
  • Cover
  • Inventory Management
  • Throwing a Grenade
  • Reloading
  • Avoiding Death
  • Slow Motion

All of these interactions are commonplace in the span of any given encounter throughout all of the game. To take it a step further: with the exception of slow motion these are all interactions that are commonplace throughout the first- and third-person shooter genres. It’s the specific execution, prominence, and the allowed overlap between all of these systems which give each game its unique second-to-second and minute-to-minute gameplay.

Low-Level System Design

Back when I discussed what I was then calling the “systemic integrity of expression”, I got a little bit ahead of myself discussing the high-level importance of various game systems when there is a lot of value in starting with a quick discussion of the lower-level systems that most gamers like/dislike on a largely subconscious level. One of the aspects of first-person shooters that has always fascinated me is the degree to which people begin to internalize all of the lower-level mechanics and systems. Whenever I get a new game, I have about an hour of complete unfamiliarity while my hands, eyes, and brain adjust to the slight differences in systems and input response from the last game I played. And then, once that learning curve has been surpassed, I subconsciously move on to the next layer of design features to really understand.

When I think about what constitutes a low-level system in design, I think of a single interaction (or feature) from the player’s perspective. So, while a number of various code features or content may make up something like the firing of a weapon, it is the act of shooting that weapon which is the system. And that system is made up of any number of individual art assets and code components, but it’s the combination of these varying factors which makes up the system as a whole. Firing an AK-47 in any modern first-person shooter is likely going be composed of a variety of the same components from game to game — sound effects, art effects, lighting effects, camera shake, controller vibration, aim/bullet assist, and recoil — but it is the specific tuning, combination, and implementation of these components which makes one weapon differ from game to game.

These low-level components aren’t exactly topics that are broached in casual design conversation, but they’re where the type of tuning and fiddling that make a game’s “feel” unique are derived. Two of the best talks across GDC 2010 and 2011 were both given by ex-Bungie designer Jaime Griesemer and carried session titles like “Design in Detail: Changing the Time Between Shots for the Sniper Rifle from 0.5 to 0.7 Seconds for Halo 3″ and “Tuning the Muzzle Velocity of the Plasma Rifle Bolt on Legendary Difficulty Across the Halo Franchise.” It’s hard to think of a more seemingly minute detail of a game that could possibly make for an hour-long design lecture, but both years Griesemere not only pulled it off, but made it superb. And game development and design is a string of these sorts of seemingly-insignificant decisions; this is true regardless of the scope of the game.

If a system is defined as the concerted operation of its components, then it follows that good system design is about breaking down problems into a bunch of little pieces and knowing what to tune and when. That’s far more general advice than is particularly useful, though; specifically, good low-level system design is being able to identify a problem and consider one of the many solutions that could possibly fix it. In addition, the problem being identified needs to be at an appropriate level of granularity to yield positive and productive discussion following its identification. It’s not enough to say “the game is too hard,” designers need to know enough about the game to be able to say “enemy A does unbelievably aggressive” or “enemy B is impossibly accurate” or a more fundamental “the player’s health takes too long to recharge.” Saying “the game is too hard” identifies a feeling, which is a good starting point in a discussion, but it’s a fundamentally meaningless statement by which to balance the game.

Basically, in thought and discussion, spend time identifying the right problem before tuning things which will at best be a partial fix and, at worst, cover up a more glaring issue. Beyond that, system design is generally learning the granularity with which to break down a system as well as what is and what is not important to tweak (see: Sid Meier/Soren Johnson on tuning).

The Shooting in the Manshooter F.3.A.R. (ffthrir)

When compared to F.E.A.R. (1ear) and F.E.A.R. 2: Project Origin (fe2r), the weapons of ffthrir are actually fairly reserved and tame. There’s no particle cannon which vaporizes enemies, there’s just a laser and a nailgun (video games). There are the standard fare weapons, though, and these provide not only a good baseline for design comparison, but they’re also the primary weapons in the game as well.

For the sake of comparison, I’m going to look specifically at the initial SMG (acquired in the introductory level of the game) and the “advancement” of that, the assault rifle. First, there are the common gameplay elements you’d expect in a modern first-person shooter weapon:

  • Ammunition: max clip size and total ammo count
  • Rate of fire: the speed at which the weapon fires every individual projectile
  • Reload time: the amount of time it takes a player to reload the gun
  • Damage: How much damage each projectile does. This is modulated by where the projectile hits on a target and while I don’t know the specific breakdown for the game, it is, hypothetically, base damage for a torso hit, 0.75x damage for arms/legs, and 2x damage for a headshot.
  • Recoil: the amount the gun kicks the player’s aim vector per every shot fired (may operate with a different value set depending on hip fire versus iron-sights fire)
  • Spread: the x/y velocity variance (and the increase per shot) when firing a projectile — this may also function slightly different when using iron-sights as recoil will take care of the spread that is simulated when hip firing
  • Muzzle velocity: speed at which the projectile is fired from the weapon (which determines the delay between firing and the projectile hitting its target)

This is by no means a comprehensive list of all of the values which go into the gameplay behavior of ffthrir‘s weapons, but it’s a decent working list. And to get the desired gameplay variance for two types of weapons, it’s just tuning these values to end up in a happy place for each weapon and each weapon within the context of every other weapon (both criteria have to be satisfied).

  • SMG: The “quick,” reliable, low-powered weapon. Moderate clip size/ammo belt, moderate rate of fire, fast reload time, low damage, low recoil, and moderate spread.
  • Assault Rifle: the “go-to” weapon is moderately powerful, accurate, but takes longer to reload and has more recoil. Low clip size, moderate ammo belt, moderate rate of fire, moderate reload time, moderate damage, moderate recoil, and low spread.

Here are two weapons with similar characteristics, but which behave slightly differently at a numerical level and, in practice, “feel” differently enough from each other that in my playthrough of ffthrir, these were the weapons I chose to have on me most often.

It’s not enough to have purely numerical variance between weapons. While these two weapons will feel different in the hands of the player who is familiar with the game, there may not be a perceptible difference to someone who is not extensively familiar with the game. This is where other presentational elements pick up the slack. The weapon model and audio will obviously be different, but there are other things that the game does to further differentiate their behavior in a very low-level way: controller vibration and camera shake. The only tool the player has for interacting with ffthrir is the game controller and how the game responds to his input. Controller vibration plays an obvious role in that it simulates the feel of actually firing the weapon, but the game camera needs to have the same caliber of response as well to maintain the player’s perceived simulation. By giving the assault rifle a stronger vibration and more potent camera kicks/shakes, that weapon is more obviously differentiated in a way that is consistent with the player’s perspective of the game.

That’s still not enough.

For every release of Battlefield prior to Battlefield: Bad Company, hit feedback was relegated solely to the game’s user interface. When the player hit an enemy, an ‘X’ appeared on the UI signalling to the player that his shot connected. There wasn’t much in the way (if any) of hit reactions on the player model and there was no blood. Without the interface, it was almost impossible to discern when a player hit an enemy and when he missed. As a result, games of Battlefield 2 (when the graphical fidelity reached a level where the lack of hit feedback became jarring), the game’s core shooting mechanics felt wrong. For all of the violence going on between vehicles and the large explosions, infantry combat was relegated to a very sterile, non-dynamic shooting model. It wasn’t until Battlefield: Bad Company was released where DICE added blood sprays and hit decals to the world, giving players a more natural, visual response to their primary method of interaction within the game.

Ffthrir handles hit response like any other first-person shooter, but they do it to a level of completion that manages to completely sell their first-person shooter gameplay. Enemies have blood sprays for every bullet they take, decals that get projected onto walls to highlight where the enemy was when the player hit him, animated hit responses so the enemy can clutch whatever part of him was just hit (and also momentarily stun the enemy), the crosshair/UI will have a quick flash to indicate a successful hit, and a voiceover clip to play for the added aural response. At the very least, one of these methods of hit response will be noticed by the player, providing him/her with the information he needs while maneuvering and shooting around the complex encounter space.

And that’s an analysis, more or less, of one of the lower-level components of the game that I outlined earlier. The resulting gameplay is the result of all of those low-level systems being tied together through a set of mid-level systems, which serve to deliver on the goals of the game as a whole. In my mind, that’s the ideal state of a low-level system: a thorough, encompassing set of components delivering on one aspect of the game. The firing of a weapon in ffthrir is by no means original or innovative, but it is a very simple, straight-forward, and well-executed system. The interplay with everything else in the game is what makes the game ffthrir, but taken as an isolated component, the weapons and the feel of using them in the game are solid.

By no means are all of those layers of the shooting systems necessary, but it’s all informed by the kind of game that ffthrir wants to be: a fast-paced first-person shooter which seemingly has more in common with an FPS from ten years ago than the more cerebral, genre mix of the genre presently. And the game is completely consistent in all of its low-level systems with this goal, and that is largely why it works so well. It does everything it aims to do, and it executes on each of those goals well.

Leave a Reply