Dear Developers,
I appreciate that publishers sometimes fund your work and that for whatever reasons (too myriad to get into) consoles are your primary development platform. However for those of you who do make PC games, or even just port over your console games, I want to tell you how to do it properly as you often get it wrong. Time and again you make fundamental mistakes or overlook or forget the unique features of the PC and this results in a poorer experience, a poorer product and for yourselves, a poorer reputation.
The list of grievances is long. However I will not turn this into a wishlist as I understand that budget, time, design and other constraints are among the primary considerations of your work. While I might wish for games to be designed to fully take advantage of the vastly superior processing power and capabilities of the platform, the harsh reality is that you make console games and we get ports and that isn't going to change. The below however is a list of easily achievable and inexpensive tips to help you at least get this part right. If we're only ever going to get console ports, it isn't too much to ask that you at least do it properly. So without furter ado and in no particular order:
- Field of View
I don't understand why console games need have such a restricted view, but for whatever reason you insist on putting horse-blinders on players. Your games look awful on PC; the restricted, narrow "tunnel-vision" view is nausea-inducingly bad. Either increase it by default (minimum 80 degrees), or ideally follow BioShock: Infinite and Far Cry 3's example by making it adjustable in-game.
- Controls
Unlike console owners, we have two primary input devices: a mouse and a keyboard. Our mice, especially the top-end ones have many more buttons than the 2-3 they were restricted to 15 years ago. We want the option of mapping controls to whichever keyboard or mouse key we choose, including alternate/multiple inputs for the same function. We also have many more keys to assign functions to; use them. Other games manage it, so should yours.
- Framerates
If you lock your game down to 30FPS, it will look and play poorly on a PC. Our monitors usually start at 60-75Hz. Do not lock your game's framerates on the PC, let our graphics cards work it out; it's what they're for.
- Single-slot saves/checkpoints
We detest with a passion the inability to save at will. We have long been accustomed to the ability to save when we choose, backup and trade our save files and more. The checkpoint system is horrid and if BioWare can manage a save system in KotOR on the old XBox a decade ago, you can manage it now. Copy that system wholesale if you need to. This segues nicely into the next point...
- F5/F9
These keys are sacrosanct. They are not to be used for functions within your game. They should be used for one purpose only and do not need reimagining, reinventing, revitalising or tampering with. And to reinforce the previous point, please use them.
- Direct connections in MP games
I realise that XBox Live/PSN make MP gaming on consoles easier. However we prefer options. When we wish to play with friends, we are intelligent enough to connect directly to them. Having a server-client system is fine for strangers, but as you always turn servers off after time, include the option to connect directly. Peer-to-peer is almost always superior. An alternative or addition would be...
- Dedicated servers
We had them 15 years ago. We had them 5 years ago. Now we do not. Bring them back so we can host ourselves. Your servers aren't always reliable or even necessary. It vastly increases the lifespan and playability of your games. I realise this goes against the "annual re-release of the same game with an incrememented number" policy, but is important.
- Gamespy
Don't use it. Ever. It's such an awful and unreliable service your game can only suffer for making it the cornerstone upon which your MP rests. Use Steamworks, and/or see the previous two points.
- Title screens
WTF are they even for? We don't need them and they serve no purpose. Get rid of them.
- UI
Remember the mouse mentioned earlier? Well they aren't controllers restricted to four directions of movement. Please optimise or design your game's UI properly. We don't need to go through every option to get to the one we want, we can choose it right away. This is probably the single most obvious and crucial factor that decides if you give us a lazy port or a proper one.
- Quick-time events
These are stupid and lazy mechanics in a console game. In a PC game they suck harder than a black hole. Do not include these in PC games. Hitman: Absolution's melee mechanics are a perfect example of why they shouldn't be used; it's so infuriatingly bad it's reason enough to uninstall and curse the game forevermore.
- DirectX 11/Latest OpenGL
I realise this point crosses the line into the budget/time territory, but seriously we're in 2013, not 2005. Don't mistake me, DirectX 9.0c was around a long time and gave us great games, but it's 8 years old and we've moved on since then. At least have a patch/add-on that brings your game into the current day and gives us some way to take advantage of even part of the superior processing power of the platform. Playing a brand new game with 8 year old graphics is disappointing, tragic and reflects poorly on you and your games.
- Triple-buffering
Whether or not consoles support it, PC games should. VSync is fine for low-demand games but can adversely affect high-action games. Your game should support triple buffering either way. It gives us the ability to optimise graphical fidelity vs. performance while preventing screen tearing. It cannot be stressed enough how important this feature is.
- Always-online
Have you heard of laptop PCs? They're computers, only portable. As such, they don't always have the option of going online. Or perhaps you know of firewalls, preventing your proprietary port/protocol requirements connecting? Don't implement an always-online component in your game.
- Profiles
These are a console conceit and do not belong on the PC. Multiple in-game profiles for different control schemes is one thing but do not lock down a game, save files or any other aspect to a unique profile. This is one of the worst things to come out of the last console generation and has no place on the PC.
There are more points but these are chief among them. With possibly one or two exceptions, the above list is not challenging or costly to implement. Treat us better and your games will sell more, be played more and be liked and enjoyed more. I don't know if you realise how frustrating it is when an otherwise good (or even great) game is let down by being realised so poorly on the PC. I'd love to ask you to make maps larger, fewer loading screens and better textures, but I understand that 8-year old console hardware restrictions dictate these things. In the absence of proper PC games, at least give us good ports. My thanks for your attention.
Yours faithfully,
KingsGambit
I appreciate that publishers sometimes fund your work and that for whatever reasons (too myriad to get into) consoles are your primary development platform. However for those of you who do make PC games, or even just port over your console games, I want to tell you how to do it properly as you often get it wrong. Time and again you make fundamental mistakes or overlook or forget the unique features of the PC and this results in a poorer experience, a poorer product and for yourselves, a poorer reputation.
The list of grievances is long. However I will not turn this into a wishlist as I understand that budget, time, design and other constraints are among the primary considerations of your work. While I might wish for games to be designed to fully take advantage of the vastly superior processing power and capabilities of the platform, the harsh reality is that you make console games and we get ports and that isn't going to change. The below however is a list of easily achievable and inexpensive tips to help you at least get this part right. If we're only ever going to get console ports, it isn't too much to ask that you at least do it properly. So without furter ado and in no particular order:
- Field of View
I don't understand why console games need have such a restricted view, but for whatever reason you insist on putting horse-blinders on players. Your games look awful on PC; the restricted, narrow "tunnel-vision" view is nausea-inducingly bad. Either increase it by default (minimum 80 degrees), or ideally follow BioShock: Infinite and Far Cry 3's example by making it adjustable in-game.
- Controls
Unlike console owners, we have two primary input devices: a mouse and a keyboard. Our mice, especially the top-end ones have many more buttons than the 2-3 they were restricted to 15 years ago. We want the option of mapping controls to whichever keyboard or mouse key we choose, including alternate/multiple inputs for the same function. We also have many more keys to assign functions to; use them. Other games manage it, so should yours.
- Framerates
If you lock your game down to 30FPS, it will look and play poorly on a PC. Our monitors usually start at 60-75Hz. Do not lock your game's framerates on the PC, let our graphics cards work it out; it's what they're for.
- Single-slot saves/checkpoints
We detest with a passion the inability to save at will. We have long been accustomed to the ability to save when we choose, backup and trade our save files and more. The checkpoint system is horrid and if BioWare can manage a save system in KotOR on the old XBox a decade ago, you can manage it now. Copy that system wholesale if you need to. This segues nicely into the next point...
- F5/F9
These keys are sacrosanct. They are not to be used for functions within your game. They should be used for one purpose only and do not need reimagining, reinventing, revitalising or tampering with. And to reinforce the previous point, please use them.
- Direct connections in MP games
I realise that XBox Live/PSN make MP gaming on consoles easier. However we prefer options. When we wish to play with friends, we are intelligent enough to connect directly to them. Having a server-client system is fine for strangers, but as you always turn servers off after time, include the option to connect directly. Peer-to-peer is almost always superior. An alternative or addition would be...
- Dedicated servers
We had them 15 years ago. We had them 5 years ago. Now we do not. Bring them back so we can host ourselves. Your servers aren't always reliable or even necessary. It vastly increases the lifespan and playability of your games. I realise this goes against the "annual re-release of the same game with an incrememented number" policy, but is important.
- Gamespy
Don't use it. Ever. It's such an awful and unreliable service your game can only suffer for making it the cornerstone upon which your MP rests. Use Steamworks, and/or see the previous two points.
- Title screens
WTF are they even for? We don't need them and they serve no purpose. Get rid of them.
- UI
Remember the mouse mentioned earlier? Well they aren't controllers restricted to four directions of movement. Please optimise or design your game's UI properly. We don't need to go through every option to get to the one we want, we can choose it right away. This is probably the single most obvious and crucial factor that decides if you give us a lazy port or a proper one.
- Quick-time events
These are stupid and lazy mechanics in a console game. In a PC game they suck harder than a black hole. Do not include these in PC games. Hitman: Absolution's melee mechanics are a perfect example of why they shouldn't be used; it's so infuriatingly bad it's reason enough to uninstall and curse the game forevermore.
- DirectX 11/Latest OpenGL
I realise this point crosses the line into the budget/time territory, but seriously we're in 2013, not 2005. Don't mistake me, DirectX 9.0c was around a long time and gave us great games, but it's 8 years old and we've moved on since then. At least have a patch/add-on that brings your game into the current day and gives us some way to take advantage of even part of the superior processing power of the platform. Playing a brand new game with 8 year old graphics is disappointing, tragic and reflects poorly on you and your games.
- Triple-buffering
Whether or not consoles support it, PC games should. VSync is fine for low-demand games but can adversely affect high-action games. Your game should support triple buffering either way. It gives us the ability to optimise graphical fidelity vs. performance while preventing screen tearing. It cannot be stressed enough how important this feature is.
- Always-online
Have you heard of laptop PCs? They're computers, only portable. As such, they don't always have the option of going online. Or perhaps you know of firewalls, preventing your proprietary port/protocol requirements connecting? Don't implement an always-online component in your game.
- Profiles
These are a console conceit and do not belong on the PC. Multiple in-game profiles for different control schemes is one thing but do not lock down a game, save files or any other aspect to a unique profile. This is one of the worst things to come out of the last console generation and has no place on the PC.
There are more points but these are chief among them. With possibly one or two exceptions, the above list is not challenging or costly to implement. Treat us better and your games will sell more, be played more and be liked and enjoyed more. I don't know if you realise how frustrating it is when an otherwise good (or even great) game is let down by being realised so poorly on the PC. I'd love to ask you to make maps larger, fewer loading screens and better textures, but I understand that 8-year old console hardware restrictions dictate these things. In the absence of proper PC games, at least give us good ports. My thanks for your attention.
Yours faithfully,
KingsGambit