Six or seven years ago, for a brief period, I wasn't fat. I was lean, fast, agile and well exercised. For once I had a hobby which could reasonably be mentioned in polite company. Friends and relatives assumed (wrongly) that I took to the roofs of Southampton at night, doing back flips over cool bad guys. Not quite, but I had discovered Parkour: the art of efficiently moving up, over, across and through whatever obstacle gets in your way.
And then two years ago, I joined Splash Damage. They showed me pre-production work on what would later become Brink. What really caught my eye was their desire to have a freedom of movement system. Having learnt a bit about moving freely and having rubbed shoulders with some of the pros in the scene, it seemed like a match made in heaven.
Brink's setting, the man-made Ark, was never designed to house tens of thousands of inhabitants. It was built for a few thousand scientists, businessmen, workers and celebrities: people who stuck to the paths and conformed to the architecture's resonant rational structure. But massive overcrowding, decay and dilapidation have resulted in a very different network of routes: containers piled against walls are now convenient enough to be climbed, and barriers which once forced direction on pedestrians now beg to be vaulted.
In real life, spaces designed to arbitrarily constrain crowd-flow very often make for the most unintentionally fantastic Parkour playgrounds. We try to bring this philosophy into Brink's world, because if a level designer telegraphs a wall hop gap too obviously, it steals a sense of creativity and improvisation from the player - something which is central to the spirit of Parkour. In many ways, it's the unintentional drops, wall hops and finger-tip 180° cat leaps which give you the best videogame analog to Parkour's sense of free, creative path finding.
...meet Smooth Movement
Unfortunately, when we step into an FPS game, our avatars are effectively refrigerators on rollerskates, wearing a cone of shame: although we hear footsteps and see arms and a weapon before us, we're just a big box sliding over geometry with a limited field of vision. As players, we develop complex, well-honed skills to compensate for our chunky virtual presence and limited artificial senses.
As worlds get more intricate, there's more and more to trip up over, spoiling our sense of flowing movement. One solution is to let our refrigerator jump 6 feet in the air, avoiding the need to deal with insignificant geometry which we'd easily navigate in real life. This can certainly result in smooth, elegant movement (take a look at the trick jumps you can pull off in QUAKE II or III), but isn't too believable.
Our challenge, therefore, was to create a system of movement which dealt elegantly with our detailed environments, whilst maintaining the player's sense of control and creativity.
Jumping to Conclusions
Stylistically, we wanted the sense of unencumbered flowing motion of the original traceurs like David Belle (Banlieu 13) and Sebastien Foucan (Jump Britain/Casino Royale). We wanted to make players feel fluid and uninterrupted in their movement, while giving a sense of how real Parkour techniques are applied. We wanted moves to be useful, and not just flashy.
To give others in the studio a sense of the feel of freeform motion in first person, I took up Parkour again. I ventured to my parent's farmhouse in the southwest of England, strapped a dog-cam to my head, and ran around the yard.
The studio's common assumption was that I was getting reference footage for the game - that every shake and jerk recorded by the camera could be somehow digitized and translated into the game itself. In fact, my aim was to prove how the reality of Parkour was incompatible with its in-game incarnation.
Vaulting over gates and tic-tac-ing off walls, I was fully aware of my own bodily orientation (also known as "proprioception"), but in the editing room, the footage told a different tale: the view jerked around, making it hard to tell what I was doing. Any gamer trying to take control of such a shaky camera via mouse or controller would be instantly disoriented and disconnected from the experience. I tried to explain this at work, but they just kept replaying the bit of footage where my dad punches me in the face.
Once the tears of laughter had dried, we agreed that our camera shakes and animations need to inform, and not disorient. And, after some nifty coding, that's just what they do.
All that was left now was months of prototyping, iteration, finalization and a catchy acronym: S.M.A.R.T. -- Smooth Movement Across Random Terrain.
Under the Hood: How SMART Works
This was the tricky bit. We pre-process the level geometry to create a simplified model which only records navigable areas and "reachabilities" between those areas.
Our clever coders realized that doing raw environment "traces" to establish whether a SMART move was possible would be too costly for 16 players at once, but all the information we needed to find ledges and low areas was already contained in the Bot Navigation Mesh. Our level designers don't set up specific spots for players to use mantles, vaults and slides – the system simply pre-calculates where they're possible.
As a player runs around levels, we check for these invisible reachabilities ahead of them. We then filter down the list of reachabilities based on their position and orientation. Because of the wealth of routes a player could take at any point, we may still be left with more than one choice even after all this culling. We want to make navigation straightforward for the player, but we don't want to launch a player into a move that they didn't intend (a false positive vault when the player wanted to slide, for example).
This is where the SMART button comes in. As well as allowing the player to sprint, the SMART button lets the movement system know you want vaults, slides, wall hops and mantles to automatically engage as soon as you move into the context for one. When there's more than one choice, we use your aim to choose the final decision. Given a railing you could slide under or vault over, looking low will result in the slide, and looking high will result in the vault.
After some prototyping, this turned out feeling highly intuitive, as if you are "threading the needle" with your eye.
Semi Automatic for the People
It is important to note that SMART isn't an autopilot and it doesn't play the game for you. Rather, it is a tool designed to free you to play BRINK the way you want to, a bridge into the experience, rather than a barrier to entry.
As far as possible, your ability to aim and shoot guns is uninterrupted. If you vault while reloading your weapon, the reload process continues from where it left off, rather than being "cancelled." Moves are short, or interruptible, minimizing the time spent waiting around for an animation to relinquish full control of your avatar.
Vaults are quick, registering your incoming velocity, scaling speed to maintain fluidity. Slides have slight after-touch to retain a sense of control. View kicks are kept to a minimum so that you can always aim consistently, regardless of the move you're in. Even the first-person view bobbing effect counter-compensates (simulating "eye fixation") so that you're always aiming where you chose to aim. As a general rule, we avoid messing with your line of fire just for effect.
Mantles (wall climbs) are relatively quick and can be broken out of to chain into wall hops. The wall hops aren't a fixed move along a wall either, but more of a highly linkable second jump. All this contributes to a sense of being 100% in control 100% of the time: something you feel even during the riskiest real world Parkour moves.
And you can still use old-style jump and crouch to manually use vaults, mantles, slides and wall hops. It's the combination of SMART and manual movement, however, that gives you the greatest versatility, freeing you to look around easily, and concentrate on bigger concerns. But for a tricky wall jump which could convert a mantle into a much faster vault, you might want to opt for a manual jump to get your timing just right, while still holding SMART to ensure you nail the vault. You're always in control of the automation, and can opt in or out simply by pressing or releasing the SMART button while you move.
When people at the studio talk to me about their play experiences with SMART, one story echoes: when going back to other FPS games, they feel like they miss having a SMART button. Digby, one of our testers, told me about the time he was found by a clanmate in another popular online FPS, slamming straight into a low wall, expecting to just get up and over. His clan mates asked "Diggers...what are you doing Diggers?" to which he, mindful of his Non-Disclosure Agreement, could only reply "I...err... I can't tell you."
I hope you have fun finding ways to work SMART moves into your combat repertoire!