Saints Row: The Third – Developer Blog Part 2
When working on Saints Row: The Third PC, the Volition PC team wanted to make sure our players would not be disappointed. Early on, we identified goals we felt were necessary for a solid player experience:
- Meet or exceed the console player experience in terms of visual quality, stability, and framerate in both singleplayer and CO-OP play while supporting a range of hardware/software configurations
- Take advantage of DirectX® 10/11 features and allow users the ability to control display options settings via in-game menus and the display.ini file
- Ensure the game has solid mouse and keyboard controls paired with appropriate UI messaging while also maintaining gamepad support
In this development blog, we will outline some of the features we support in Saints Row: The Third and share some of the things we learned along the way.
Part 1 – Visual Features
Part 2 – Solid Controls
Part 3 – AMD Eyefinity
Part 2 – Solid Controls
Getting the controls right in the PC version of Saints Row: The Third was one of our top priorities. No matter how good the game looks, if the controls don’t feel right, the gameplay experience will be less than worthy.
One of the biggest challenges with controls when working on a game with the scope of Saints Row: The Third is handling all the different cases. There’re controls for on foot, cars, motorcycles, boats, tanks, helicopters, and planes, not to mention the myriad of stores to browse. On top of that there are a ton of special case controls found throughout the game, like when skydiving or transformed into a giant fire breathing swordsman (yeah, that happens). All of these different cases have their own control needs (ascending and descending in a helicopter, for example), but in the grander scheme of things they need to be cohesive as a whole so a player getting into a new vehicle doesn’t have to relearn how to move. This took a lot of iteration, and in some cases (like sharp turns in planes and helicopters) the end result works fairly differently from its console counterpart.
One such example of controls that had to be revamped for keyboard and mouse is seen with “burning out” in cars and motorcycles. With a gamepad, this is accomplished by holding both triggers (accelerate and brake) simultaneously. While burning out, you should be able to move left and right. When you release the brake, you peal out. When we first tried this with the keyboard, moving left and right while burning out didn’t work because holding down the default keys “W” and “S” for accelerate and brake simultaneously plus one additional key is not supported by most keyboards (and it’s also awkward). Our first attempt at a solution for burnout was to add an additional key binding, a burnout toggle key, that you could hit to start burning out, allowing you to steer with a single key at a time, and then hit the accelerate key to peal out. This worked, but it wasn’t fun, and we didn’t think anyone would ever bother to bind that burnout key. Instead we came up with a solution of using the drift key (default binding is the spacebar). If you hold the drift key when the vehicle velocity is low enough, it will start burning out, and you can steer left and right with the appropriate keys until you hit accelerate to peal out. The result is a solution that not only works for the keyboard, but feels right, and is more fun to use.
Another priority for us for PC controls was getting the mouse right. You have to recognize that the mouse is a completely different input mechanism than a stick. PC gamers can tell within seconds upon moving the mouse if the game is using real mouse controls or if the mouse is just emulating stick controls. In addition, any dampening multipliers that are applied to camera movement in different situations have to be different when using a mouse than when using a gamepad. Our controls were tweaked based on feedback from design review passes, extensive QA testing, and playtests. There are also sensitivity and invert controls in the options menu that allow the player to adjust the mouse according to their setup or taste. One of the larger differences that went into mouse control is seen in the manual vehicle cameras (i.e. player is actively aiming). In this case, what feels good with a mouse is just very different from what works using an analog stick. On a gamepad, the camera will rotate with the vehicle body, but this just doesn’t feel like enough precision for a mouse camera. We ended up making a new camera mode that allows the player to more precisely aim while driving, and it’s smart enough to snap back into the non-manual camera if you return to an angle close to the default view. This allowed us to add a longer delay to the camera’s snap, as well. The end result is a much quicker, more precise camera when using the mouse. If players like the original camera method, they can still choose that instead within the options.
When using a keyboard and mouse as your input mechanism, there are a bunch of additional control actions available (some of these are unbound by default, but can be bound to a keyboard key or mouse button using the options menu): sprint toggle, crouch toggle, fine-aim toggle, walk hold/walk toggle, and weapon slot/grenade slot hot keys. Additionally, any time we added controls specific to the keyboard/mouse, we maintained the ability to bind the original control as well. Options like these give the PC version more customization so players can set their controls up in a way that works best for them.
PC controls changes extend into the interface as well. As would be expected, all menu screens (and there are a lot of them in Saints Row: The Third, what with the insane amount of player customization) needed to be updated to support keyboard and mouse. For better usability, screens can also be fully navigated using only the keyboard, only the mouse, or both. While that seems like a small detail, it’s a place where some PC games falter and playtesting shows that different players tend to use only one input type while in a menu. Additionally, some screens needed a total overhaul to work in a more PC-friendly way. The pause map, for example, works very differently than on consoles – more akin to what you’d be used to while using a program such as Google Maps.
After all of that work to make sure that keyboard and mouse weren’t just an afterthought, we wanted to make sure that those who prefer gamepads were covered as well. With a gamepad you’ll get the exact same experience as you would on consoles (plus improved visuals). You can even swap between gamepad and keyboard/mouse on the fly. So if, say, you enjoy keyboard and mouse on foot but a gamepad when driving around, you can just change which one you’re using at your leisure. The game updates automatically to make sure you don’t miss a beat.
Overall, our controls benefitted from strong attention to detail and lots of playtesting. We look forward to hearing about what key-bindings and settings our players prefer.
Contributors:
JT Hooker, Senior Programmer
Jim Brennan, Principal Programmer
John Buckley, Principal Programmer
Kate Nelson, Associate Producer
David Bianchi, Systems Designer
The contents of this blog were provided by these employees of Volition Inc. The information and opinions presented in this presentation may not represents AMD’s position, strategies or opinions. Unless explicitly stated, AMD is not responsible for the content herein and no endorsements are implied.





“Getting the controls right in the PC version of Saints Row: The Third was one of our top priorities. No matter how good the game looks, if the controls don’t feel right, the gameplay experience will be less than worthy.”
Then why did you abandon this philosophy on the console version? You give players only one control option on the console version which is known as “default”. There are other stick control options that have been around for years but it seems developers have forgotten about them. I can’t enjoy this game to the fullest because I’m forced to play the “default” (instead of being able to choose a “Legacy” or “Southpaw” option) control scheme. Will you please add a patch to the console version so that old school gamers like me can enjoy our purchase like our pc brethren?
P.S. Valve did it with their “Left for Dead 2″ game, and Halo and others already include many control options to suit all of their customers.
Please, please can you implement consistent control for the tank or an option to switch to it?
When I press W or up I want to go forward, when I press A or S (or to the sides on the controller) I want the tank to rotate.
The current look dependent control makes the tank a pain. Sometimes the tank starts twitching refusing to move at all (when using an xbox controller plunged into my PC).
For the best control I’m using a xbox controller for movement and a mouse for look.
Another request, though this is perhaps a pipe dream due to the work involved. It would be nice to be able map a joystick to the xbox controller’s move analogue stick. This would be great for the Logitech G13 gaming keyboard/controller.
yeah, you guys did an amazing job. Keep up the good work <3