Thursday, March 3, 2011

How to make a PC FPS - 10 simple rules

I never thought I would have to do this. Actually that's a lie. I probably always have secretly wanted to. After so many a lol-shoot-the-man-lol games of recent years, so many that just fail on the PC (yes, the whole console/PC FPS rant again), I'm kind of fed up. Two titles that I will leave unannounced are AGAIN ports of their console counterparts. So here's what I'm going to do. I'm going to tell you how to make a successful FPS on PC. I'm not going to talk about the theme of the game or the narrative structure or even the underlying game play mechanics. That's totally your job, and sif I'm going to do your job. What I will do is tell you what you need to have in your game. Or in some cases, what not to have.

1. Do not start your game with "Press the start button to begin".
Why do I need to press start ... to start? Why am I not looking at the main menu right now? What is the point of it to begin with? Why is it even here? In fact ... what start button? There is no start button on a keyboard. The only start button I know of exists on a ... oh. Now I get it. First sign of a bad console port? "Press the start button to begin".

2. Have a customizable graphics/game engine.
So you have either bought a game engine or made your own from scratch. Both are good options, nothing really wrong with either of them. This engine should (should) have a plethora of settings enabling certain input/output options and video parameters. This should range from everything, from anti-aliasing to texture settings. Allow your user to tweak them, and not through hidden config files in some roaming account attached file. A PC gamer wants to make the game look and feel just right. It is the very definition of why we own a PC and play games on them.

3. No mouse acceleration.
Seriously, fuck off. No one likes that shit. We are using a keyboard and motherfucking mouse for Christ's sakes. I don't need my mouse to speed up as I pan to the left because I am already looking at my target. Yes I just did a 180 degree spin instantly. It's what you can do with a mouse and it is not impressive. It is normal. On that note, no aim-assist. Or at least off by default. Using a mouse is precision aiming enough. If I want to shoot someone in the left earlobe than I will god damned shoot them in the left earlobe. I don't want some shit locking onto their head when I am checking out that palm tree behind them. Palm trees need loving too.

4. Have a 'console' with a decent array of commands (no, not the physical console you play on your TV)
From demo-recording to commands turning certain features on/off. Why? Because it will make your game that much more pleasant to play. And navigate. And benchmark. And mod. Do I need to explain why these are good things? Every good LAN game has had admin control commands to both set up games and prevent people from exploiting certain things. Commands allowing a fluent 'console' user to do things quickly on the fly is a good idea.

5. Dedicated server and LAN support
Holy hell. Which bogan from the dumpster thought the current (i.e. lack of) method of delivering modern multiplayer PC games was a good idea? If someone on your development team is suggesting this, shoot them. They are stupid. Yes, I can understand the want for online system security. Yes, I can understand the need for wanting control over all your servers (definetly not the right way to do it in any case). And YES, I can understand that this style of multiplayer gaming is quite popular ... on consoles! We are not playing on a console. We do not want to connect to the internet to play against our housemate who lives in the next room. Even consoles don't impose that insanity. PC gaming is about having options, not limiting them. Think about it. In 10 to 15 years from now, how in hell is someone going to even play your game in multiplayer? Which leads on to ...

6. Anti-consumer DRM
I could write an entire essay on why certain types of DRM are bad and how the whole piracy/punishing your customers model of things just doesn't work. I won't, at least not today. Simply put ... just don't. Games will always be cracked, workarounds devised and online authenticity checks disabled. Sure, you might stop 20% of otherwise illegitimate buyers. But needing to log on to three separate accounts alongside a profile and making an online tag which checks every nano-second to see if you are connected to the net is just awful design. There are many other and better ways of going about this. Take a look at League of Legend's business model. The game is free, and they still make heaps of dough!

7. UI Design, feedback and size matters. Or simply, lack thereof.
Crosshairs, weapons and indicators do not need to take up 1/3rd of the screen. I am not sitting 3 metres from my television. I am sitting a foot away from a monitor which takes up 60% of my view. I can see how much ammo I have very easily thank you, you don't need to flash it across my screen every time it is low. No, a red splash of paint across my view is not a good indication that I am taking damage and am nearly dead. Now I can't see anything you retard! UI elements and indicators do not need to disappear all the time. They should not be blocking my view as they should not be enormous. Where is this guy shooting me from? Is he behind this enormous mountain of a weapon you have me carrying? He was. Now I'm dead. Good.

8. Jumping.
Do you like jumping? I like jumping. Jumping is awesome. You can like ... totally get on top of things by jumping. Especially those chest high walls you see so much of today. Provide enough kinetic energy to yourself while jumping and you can totally jump OVER things. WHOA!!! Did you see that insane wall jump I just did? What about this rocket jump here? You didn't? Why the hell not? Because I can't actually jump you say? WTF? WHY THE FUCK CAN'T I JUMP!!??!!?
Why indeed. Besides games like DOOM, jumping has been in about ... 95% of games? At least games where you control a dude in some way. I don't know where it originated or even why it was introduced recently, but several FPS titles as of late have inhibited your ability to move positively along the Z axis for a brief period of time, at will, completely. Why? WHY!? Was the primary game designer drunk that day when you guys talked about jumping in the game? Is he fat and has something against people jumping? Could you not convince him that jumping is just one of those things a game should have ... like moving forward? I don't need to be able to bunny hop, rocket jump, wall jump or anything that crazy. But I do want to jump. Please let me jump?

9. Mouse support in menus.
Seriously. Wtf is wrong with some of you? You are using a mouse to aim in the game. Mouse support is obviously already in the engine ... in a 3D setting. Remove an axis and now you have 2D mouse support. Hooray!! Of course its never that simple is it. Your mouse support is actually just the code from the right analog stick adjusted to read from a different input peripheral. It was never supposed to exist in the menus, so it never will. Those PC Gamers can just suck it and wrap their cheated hands around yet another terrible console port.

10. Unsimplified controls.
What does any PC MMO, strategy game or flight sim game have in common? If you guessed ... a billion keys to press, then you would be correct. See, there is this device we use. It's called a keyboard. It has lots of buttons. Over quadruple the amount of buttons a controller has, in fact, and that's not including the buttons on another device we call the mouse. Those buttons (should) allow us to do many things. So when you have your insane grenade button that ... oh I don't know, throws a grenade when you tap it and changes grenades when you hold it down ... that is stupid. It takes too long, is inefficient and is stupid. Separate the functions onto different keys and then we can talk. How about that Zoom button you say? Only three levels of zoom after tapping the same button three times? Why not use the scroll-wheel? That gives you a massive number of zoom levels. It's used to change weapons you say? What, all two of them!!!??



No comments: