I think it's pretty much universally agreed that simply mapping the analog stick to rotational speed of the character is not good enough to make console first person shooter feel good.
So what are some input paradigms that make a modern FPS on the console work well?
Answer
I went to a GDC session this year presented by the guys at sucker punch, discussing how they handled assisted aim and movement for inFamous. My understanding is that Halo uses a very similar system for assisted aiming, and here's the basics:
- When you hit a button to fire, the shot should always go directly where the reticle is pointing. Otherwise, players would notice any artificial "snapping" and feel like they are not in control. But, the analog stick of a modern console is NOT accurate enough to be depended on, no matter what the skill of the player is. So, you need to do the assist before the point of pressing fire.
- The game has an idea of plausible targets for you to be adjusting your reticle towards, and can weight them appropriately based on your suitability of target as well as the direction you are moving your analog stick. Then when you push a stick towards a valid target it will adjust the game's perceived input to point towards the likely target. Vitally, these adjustments never change the input past what would be physically possible on the controller.
- When passing directly over a target it slows down the reticle speed, giving you more time to accurately press a shot. Also it keeps track of your recent movement and button presses, and if the reticle EVER passed over the target and it was within a certain time delta it registers a hit on the target, as you could have theoretically pressed the button at that point and the controller missed it.
- Finally if there's no valid target around, the reticle controls completely manually, allowing the player full control.
There are two things that make aiming "feel good": You need to feel like you're in control, and you need to feel like the game is not lying to you. Adjusting the game's perception of input direction and button timing within tolerances is a great way to do this, as it NEVER results in an impossible situation where the auto aiming is actually performing better than a theoretically perfect controller. If you try to solve it ad-hoc after the input processing is complete you're going to end up with some sketchy situations where the player feels like they have lost control.
No comments:
Post a Comment