Stop making horrible console ports - a guide
Broken menus, wonky mouse controls, single figure framerates - this is the familiar story of PC gaming prowess held back by consoles. We understand why it happens: console-land was where the majority of sales were, and thus the focus of development. But that reasoning has never seemed, well, reasonable: a trashy console port can knock a chunk off your Metacritic rating, sour a huge potential audience against you forever and lose you loads of sales on a platform that can be extremely lucrative if only you know how to approach it.
It's really not that hard or expensive. After all, a pair of talented modders managed to make Dark Souls' PC version immeasurably better within the space of an evening, and while devs might not want to spend resources making hi-res assets just for PC, there's plenty of really basic stuff that can be done to not totally fuck up a game. Which, given the amount of time, love and money spent on these creations, is surely something that would please the developers and publishers as much as their beleaguered PC audience.
We've thrown together a list of tips, common foibles and fixes - add your own in the comments!
PC configurations are as many and varied as the gamers that own them. A PC game has to account for this with its range of settings. Have these options accessible in-game, and don't require the player to drop back to the main menu to change them. Definitely don't put them in a separate trainer which forces you to restart the entire damn game. (Hi there, Binary Domain.)
For the love of Baal, let us change the resolution. And definitely let us change the resolution before embarking on a lengthy unskippable opening cinematic in enforced default shatto-vision. (I’m looking at you, Max Payne 3 - or trying to, anyway.) Better still, autodetect the native resolution!
Let us at them. Particularly if, for whatever reason, you've decided to give charge of your keyboard inputs to someone who has never actually seen or used a keyboard before. How do you reach the main menu in Binary Domain? Oh, that’s right, it’s Enter. Of course. Then, when in the menus, you press space to select and F to go back. Obviously, in-game, F is the interact key - except when interact is space. Argh. Incidentally, Enter is not the PC's equivalent of the gamepad's A button - it's the furthest you can get from both hands in normal FPS control mode. So don't make it the compulsory key to dismiss pop-up messages.
Some games are designed for and best suit a gamepad. That's cool. But for games which might easily be controlled by either a gamepad or a traditional PC set-up, please autodetect which system is currently under use. Most games seem pretty good at this now, but there are still some stragglers.
Let those framerates soar free into the vast open skies of PC gaming wonderment. Also, let us fiddle with things like V-sync - with the vast array of PC hardware set-ups possible it is unlikely you will have guessed how to best optimise your game's performance for any one PC. Why wreck your hard work with dropped or torn frames when you could just trust players to tweak the game to perfection.
Field of View
PC gamers typically sit closer to their screens than console gamers and this changes the effect of a limited FOV. Unless you are setting out specifically to discomfit and sicken the player, offering the ability to adjust FOV will only make people like you. You do want to be liked, right?
If your game cannot do this, you are probably going to Hell, where you'll be forced to troubleshoot for irascible Windows ME users for the rest of eternity. Sorry about that.
PCs typically come equipped with a mouse - the perfect device with which to gaily skip through menus. Please make use of it. Do not make us scroll through a gazillion options when a single click would do. Relatedly, make your menus pay attention to where the cursor actually IS. Console ports, like many carnivorous predators, seem to only sense movement. So you often see the wrong menu option highlighted and have to wiggle the cursor a bit to make it notice where you're actually pointing.
Mice are not thumbsticks. This should be quickly apparent from their different shape. Do not duplicate the analogue stick deadzone with your mouse acceleration. (Got that, Dead Space?) Also do not impose momentum on mouse movements. My world stops spinning when my mouse stops, not a few seconds later, Syndicate. And don't use autotargeting systems based on the assumption that there are 8 degrees in a circle.
Social media integration
Games for Windows Live
Don’t do it. You may think that we PC gamers object to GfwL because we are a prickly bunch who resent having to install yet another wedge of corporate molestation replete with its own superfluous achievements system, fragmentary friends-lists, cross-promotional guff, easily lost log-in details and so on - particularly when we are already so well served by Steam. All that might be true of Origin or uPlay, but it doesn’t come close to describing the genuine horror of GfwL, which remains one of the most ill-conceived and poorly executed pieces of software it is possible to install on your PC. It’s hideously designed, hugely unergonomic, painfully slow, intrusive and prone to complete failure in every single aspect of its operation. It’s just unbelievably terrible.
Piracy sucks. We know. However, the solution should never be to periodically lose players' saves, punt them to desktop mid-game or prevent them from playing the game altogether.
Now, we’re not asking you to create an entirely new assets pipeline for the PC alone, but in many instances textures are created first at high resolution then scaled down to fit onto the itty-bitty consoles. You can make use of those on PC, you know.
We salute your ongoing commitment to PC gamers by releasing fixes after launch. But don't leave it until then to make your game playable. Don't leave it until launch day, even. There are good business reasons for this: reviewers will be playing your undercooked code; you'll burn your earliest purchasers and most loyal customers; you'll lose momentum building a community among players (particularly key if your game has an online component); people will be more likely to pirate your game if they think it's not worth the risk of an actual purchase.
Any more? Add them in the comments.