Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Most common / intuitive 1st person control method?

Discussion in 'General Discussion' started by HonoraryBob, Oct 16, 2016.

  1. HonoraryBob

    HonoraryBob

    Joined:
    May 26, 2011
    Posts:
    1,210
    I've written two custom 1st-person control methods and may have to revise them further because I can't find a good method. Ideally I'd like to allow the user to move the head (and view) semi-independently of the movement direction so they can look around while walking; but even when I have the head direction offset from body direction to produce a more natural motion, it's still a bit disorienting and makes it difficult to sprint while turning because turning the body direction has to done using the A and D keys to rotate (rather than using the mouse to rotate since that's used to rotate the head), which means that if you want to turn while sprinting then you need to hold down three keys simultaneously (W, A or D, and shift) while also controlling the head movement with the mouse. I thought about revising this so that speed is controlled by holding down W or S (releasing the key would cause the character to continue at the current speed rather than halting), which makes it easier to run while turning but it's also a non-standard method of running. Another option would be to use the mouse to rotate the movement direction but rotate the head by holding the right mouse button while moving the mouse, but that's probably even less standard and may not work very well anyway.

    Anyone have any ideas? The player really needs to be able to look over his shoulder while walking in order to see if anything is pursuing him.
     
  2. Blacklight

    Blacklight

    Joined:
    Dec 6, 2009
    Posts:
    1,241
    Is looking over your shoulder the only need for this system? You could just have a button that takes control away from the camera and orients it to look behind the player, similar to when you're driving in games like GTA and Far Cry.
    I imagine that having to rotate the camera 180 degrees using the normal mouse look would be too slow and imprecise, especially during a pursuit.
     
    theANMATOR2b and HonoraryBob like this.
  3. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    You'll want to consider very carefully before you move away from standard FPS controls. They are pretty standard in games, and players are very much used to them.
     
    vakabaka, HonoraryBob and MV10 like this.
  4. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    1. Twin-stick control with gamepad. Left is move, right is look.
    2. Racing and space-sim-like controls where you have directional movement and some buttons for looking(or glancing) left/right/back. This actually wouldn't feel out of place in fps games, FPS occasionally have buttons for peeking behind corners and leaning left/right, usually mapped to Q/E.
    3. "Hold button to look around" method."Hold button to adjust weapon position" or "Press buton to toggle head movement". This occasionally happens in military sims, for example, operation flashpoint had free-form aiming movement, plus some game occasioanlly let you summon cursor which you can point at things in scene.
    4. Gta style look behind button which temporarily moves camera outside of your character to look back.
    5. Skyrim-style. "Hold R to orbit". Pressing button moves camera outside of your character's head and you can look aroudn by orbiting.

    That's all I can think of
     
    HonoraryBob likes this.
  5. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,433
    I think there really isn't even anything to consider about diverting from the established WASD FPS-control paradigms, it's commercial suicide. Almost every player will hate it. The only sane solution in my opinion is to take one of the established look-behind-while-running solutions and clone it verbatim. Here is a list of games that I think have implemented those im some form: Outlast, Dying Light, ARMA 2 & 3, DayZ, Rust.

    I would do the "hold-key-to-look-behind-you" implementation of this feature, and also slow down time whilst looking behind you considerably, because imho it's the only way to balance the disadvantage of running blindly and getting disoriented vs the advantage of getting a glimpse of what's behind you.
     
    theANMATOR2b, Kiwasi and HonoraryBob like this.
  6. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    I believe Arma has free/floating aim.
    In the end it depends on the genre and gameplay type. Who knows, maybe HonouraryBob is onto something here.

    For example, have you played Brothers: Tales of Two Sons (it is not an fps, though)? Amazing game, with unique control system. Experimenting shouldn't be discouraged.
     
    Martin_H and HonoraryBob like this.
  7. Braineeee

    Braineeee

    Joined:
    Nov 9, 2014
    Posts:
    1,211
    I would agree with the others regarding changing the control method. But games like ARMA had some fantastic ideas imho. I just found the game to be too hard to control + stressful. I loved the idea of first/third person head swivel when you held the Left Alt key. I think the only reason that works in Arma is the large environments, sparse player and AI population comaparotively, and overall you weren't fighting for your life every twelve seconds. I mean in a traditional FPS that's what happens, you slay one enemy only to face another. In Arma you might go half an hour before encountering a foe. This lets you hold the W key and look around for possible threats.
     
    Martin_H and HonoraryBob like this.
  8. HonoraryBob

    HonoraryBob

    Joined:
    May 26, 2011
    Posts:
    1,210
    Thank you to everyone who replied. There are some games in which you can rotate the head with the mouse while moving in a different direction, such as in Mount & Blade: Warband while riding a horse (the controls are different while on foot). I found it crucial to have this ability in combat, so you can realistically look at bad guys on your flank or rear while still moving away from them.

    I assume the most common FPS controls use the mouse to change direction, and A & D to move sideways? Or is it more common to use A & D to rotate the body instead of the mouse?
     
  9. ErisCaffee

    ErisCaffee

    Joined:
    Nov 26, 2014
    Posts:
    127
    I tend to think that holding down the right mouse button to look around seems like a good solution. Other people have mentioned having different camera views toggleable with a key, and that is certainly a decent way to go. Another way would be to do what Star Citizen is doing and have a key (Z in SC) that toggles the mouse between directional control and head-look control. Hit Z and you can use the mouse to look around while you continue moving in a straight line. Hit Z again and your camera swings back to forward facing and the mouse resumes controlling your direction.
     
    HonoraryBob likes this.
  10. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,433
    I don't mean to be harsh, but this is very concerning to me. It sounds like you have very little experience with the kind of game you are trying to make. Every single first person shooter (even in the broadest sense, including games like Thief, Portal, Minecraft, etc) made in the last 10 years (I know before half-life 1 there were plenty of exceptions), that I can think of (and I've played dozens of them, maybe hundreds - for thousands of hours), uses A&D to walk sideways left/right, W&A for forward/backward, and the mouse to look around (turn) and up/down. with moving mouse away from you mapped to look up, and possibly an invert option for up/down for the hand full of people who grew up playing only flight-sims and now use the same kind of controls in FPS games. I'm not even sure how common the y-axis invert option for mouse controls in shooters is, because it must be rather rare that people use it.

    You are asking a question, that would not even be a questions for anyone who calls themselves a gamer who likes FPS games. Which is why I'm so concerned about you possibly being out of touch with sensible genre paradigms, user expectations, best practices, and no-gos. In my opinion changing A/D from walking sideways left/right to turning left/right is an absolute no-go.

    Getting controls to feel right in an FPS is very important, or the whole gaming experience will feel bad. ARMA 2 is a good example on how not to implement FPS controls. They feel super awkward to any experienced FPS player that played a broader range of such games. That has nothing to do with the ability to temporarily look in another direction while running btw., that one is ok.
    Here is a review mentioning what I mean shortly after the 1 minute mark:


    I can only recommend to play a ton more FPS games if you want to make one yourself. My apologies if all this should be a misunderstanding and you are really trying to make something else entirely and we're talking about different things. With horror FPS I'mr refering to games like Outlast, Amnesia, Dying Light, Condemned, or System Shock 2. I consider all of them worth a look. For a "gold standard" FPS controller implementation I think I'd rather look at games like Call of Duty, although I think Dying Light was pretty smooth too, as far as I remember.

    I did play Brothers for a bit and I liked the control system. Imho there is a mile wide difference between innovating and experimenting with something new like Brothers did, and taking one of the most deeply entrenched control conventions and breaking it. Brothers works because a) there is little to none that people are expecting for how controlling two dudes simultaneously should work, b) the control scheme per character is something that plays and feels familiar compared to other gamepad-controlled third person games. From what I understand from the description in the OP, there is nothing about the game's concept that would warrant breaking a well established control pattern like the WASD+mouse controls that every other FPS has.
    I'm right handed and when I was younger I tried switching my mouse to the left hand for a while, to get ambidextrous. I played Quake 3 that way, and what I noticed was, that after switching back to my normal right-handed playing, I had gotten noticably worse at the game. That caused me to abort the experiment. So much about playing these games is muscle-memory and instinct, which is why breaking established control conventions might not even register to someone who does not play games much, but for an experienced gamer it is like playing drunk with one of your arms tied to your back, or something like that.




    Just my 2 cents ^_^.
     
    HonoraryBob, theANMATOR2b and Kiwasi like this.
  11. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    It's also worth considering if first person is right for the game type. If the player always requires a situational awareness of what is behind them, a third person set up with the right camera angles and controls can provide that.

    The average FPS doesn't require much looking backwards because everything behind you is dead.
     
  12. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,981
    I agree with others who say that there's no point trying to reinvent fps. There's a good reason why it hasn't changed in so long.

    That said, I think there are some things to think about if you really want to try.

    1. Reduce the number of controls. If you want to look behind you, my first suggestion would be to disable body turning. Why would you want to control where you're going when you're not even looking there? The visual information would be confusing anyway - the reverse of normal forward-looking.

    2. Lerp the head toward the front when sprinting. Nobody looks behind when sprinting, unless they're not sprinting. It's also an opportunity to create tension, as you know that by looking behind you you will not be able to get away so fast.

    3. Absolutely don't have anything where you press a key once to begin a movement and press it again to stop. It would be incredibly annoying and would feel like a horrible bug. A human being isn't a helicopter.

    Basically I would separate head and body movement and switch between them rather than controlling them all at the same time. But it's not really a great idea to begin with imo.
     
    HonoraryBob and theANMATOR2b like this.
  13. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    If its crucial to be realistic - to incorporate 'look behind' mechanic - should the character be able to sprint while looking behind? As Billy stated - a person can look behind them, over there shoulder while moving - but not while sprinting. That isn't realistic. A person can be running quickly and 'glance' behind them - but not while sprinting.
    If you find an acceptable solution - consider reducing the running speed of the player when they are looking behind - to keep with the theme of realism.

    I use it - I expect the view to look up when I push down on the controls. Interesting you link this to flight sim games, I've never been a huge flight sim fan, although it might be from my military experience - pulling back on the stick would elevate the guns, and vs-versa, similar to flight-sim games.
    if a shooter doesn't allow this option to change the default setting to invert Y - I won't play it.
     
    HonoraryBob and Martin_H like this.
  14. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Umm.. Standard control is WSAD move forward/backward/left/right. Meaning it is "sidestep". I'm not sure if ability to turn using buttons is even being implemented these days. I'd expect game to provide keybindings, but nobody is probably going to use those keybindings..

    Speaking of mount and blade - IIRC head movement mostly works on horseback, and mount and blade controls are similar to control of a tank with a turret, like in GTA. In mount and blade horsebback controls were forward/backward and TURN, not sidestap, because horses don't really move sideways.

    In case of vehicles with turrets, standard controls are still wsad to move, except that vehicle handles turning automatically. Mouse controls direction in whicch turret will try to point (tank turret may have limited rotation speed, meaning it'll take a bit of time for it to point in desired direction).
    Also... this is usually done in 3rd person.

    I think there were games where such controls were done in 1st person, but they were mech warrior games. Mech Warrior games had complexity of a flight sim, except they performed on ground. In those games you had to manually control movement of legs (well, walking direction), with buttons, and button controls also included rotation (don't think there was sidestep). At the same time you were separately controlling rotation of the upper body (IIRC, also with keys). I'm not sure if you ccould ALSO aim guns with mouse at the same time. Been a while till I played those. That provided interesting mech piloting experience.
     
    HonoraryBob and Martin_H like this.
  15. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    It has greatly changed over time, actually.
    First there were introduction of crouch controls, then health got swapped with regeneration, then there was introdcution of heavy reliance on covers, then obligatory stealth elements, then quick-time kills, then RPG elements with skills and progression, not to mention things like iron-sight aim, weapon customization/mods, etc.

    There's very little in common with, say, original Doom. Even movement is different, because Doom had verticcal auto-aim.
     
    Kiwasi likes this.
  16. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,981
    I meant fps movement, as in, mouse/WSAD and the associated movements. Head turning (and as you say, body turning with keys) is not really a part of the core fps movement mechanics that I don't think have changed much in a long time.
     
  17. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    I'd say it also changed and become slower and simplier. When was the last time you saw someone acceerate to 300 kmph by strafe jumping and then wall climb up to a skyscraper with a plasma gun?
    Speaking of which, number of weapons got reduced, there are usually grenades and from time to time games may include dodge. And let's not forget about the whole Bullet Time thing that was introduced in Max Payne.

    I wouldn't look too hard at "modern fps mechanis", because whether a project needs them or not depends on what the project is trying to do.

    Aiming at "core mehcanics" would arguably also mean aiming at CoD/modern FPS crowd which already have plenty of titles to play, and probabbly won't be satisfied unless the controls are identical to their favorite title. It would make sense to look some sort of niche and try to make something special. Meaning separate body movement might make sense, depending on the project.
     
    Kiwasi likes this.
  18. Kiwasi

    Kiwasi

    Joined:
    Dec 5, 2013
    Posts:
    16,860
    This is actually a good point. Give a modern FPS player Doom, and watch them struggle with the controls. Even something like Golden Eye, which is much closer to the modern style control, is difficult to pick up for someone trained on today's controls. Despite this, in the hey day of those games they were considered quite natural and intuitive.

    My point is the 'most intuitive controls' are the ones your gamer is the most used too. What is objectively better doesn't really come into it.

    So don't deviate unless you have a really good reason.
     
    Last edited: Oct 16, 2016
    angrypenguin likes this.
  19. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,981
    I'd like to see something new, but it's kind of hard to add a lot of controls or new movement mechanics to something so unintuitive as a keyboard or controller. It looks like it should be fun but anything that's not instinctive in some way is likely to fail.

    It's kind of the same with newtonian spaceship mechanics, you have something that looks like it should be a whole lot of fun and then you try it and it feels like you're trying to ride a bicycle backward.

    That's why in this scenario I think it's best to approach it from the point of view of adding new movements intuitively and harmoniously into the same amount of controls, based on context. So instead of adding more controls (or even worse having an on/off autopilot for limb movement) add the new stuff on a context-based trigger, i.e. not being able to look behind when running, not being able to turn when looking behind etc.)

    Unfortunately, controllers and keyboards are clunky, and often use binary switches (keys) that are horribly lacking in feedback. There's just no way to add a lot of stuff to something like that without making it a chore to use.
     
  20. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,495
    Don't standard twin-stick or WASD + mouse controls allow for this? Yes, the movement controls are still aligned with your look direction, but if you want to look one way and move another you can still do that, which achieves the objectives, right?

    If you decouple movement direction from look direction entirely you're adding an element of state which the player always has to keep in mind. This complicates things and introduces opportunities for errors. Keep in mind that while it seems easy to those of us with practice, moving around in a 3D space with FPS controls is actually something semi-complex that takes time and practice to do well.

    Perhaps something based on standard FPS controls but which retains a lot of momentum could work? A fit person can do stuff like turn around as they stop, or transition from running forwards to running backwards (at a slower speed), so maybe something like that could work?

    How about a "look-over-shoulder" button? Or even two look-over-shoulder buttons, one for each direction? In my mind you shouldn't be able to see directly behind you, because our heads don't rotate 180 degrees. But you should be able to see maybe 150 degrees in each direction.

    (Actually, I just tried right now. I can juuustsee 180 degrees behind me from sitting position with the peripheral vision of one eye in each direction. That field is going to be reduced if I'm moving because the position of my head will be contributing to my balance.)

    Which is a shame, really. Not that they're "dead", but that things like ambushes and flanking maneuvers are relatively rare.

    I've been playing Wolfenstein: New World Order over the past few weeks, and one of the things I'm loving there is non-linear level layouts. I mean, they're still not open and sprawling, and they're relatively smallish, but they're also not just the single broad corridor that so many of today's games are.
     
  21. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Context-based trigger is something that can cause troublle, actually. Controller-driven games often tends to have one button mapped to multiple actions, which causes frustration, when game suggests action that is not the one you want.

    A very ocmmon problem is when "pick up" button doubles as some sort of attack actions and then an enemy drops an item near you BUT you want to perform the other action. I think Dead Rising 2 was guilty of this, and some other games too.(Dark Souls 3, iirc)

    I'd also recommend to check some of the other games like Deus Ex and see their control schems. Those are often very complex.

    In the end I'm not sure if PC even has "standard" control scheme beyound wsad controlling movement. Every game tend to introduce a button or two for unique actions.
     
    Martin_H and Kiwasi like this.
  22. Billy4184

    Billy4184

    Joined:
    Jul 7, 2014
    Posts:
    5,981
    Yeah definitely context-based stuff is hard to do right (or even just reasonably well), thats why I think changing basic movement is just a bad idea overall. It's the WSAD and mouse look that the OP is really fiddling with and I can't see a good way of messing with that in 1st person. In 3rd person, it's easier to do contextual stuff like Splinter Cell cover, but it would never work in 1st person.
     
    Martin_H likes this.
  23. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    Instakill attacks and backstabs are contextual. They're present in lastest Deus Ex, which also happens to have cover system, despite being first-person game.

    Deus Ex ALSO has the problem with contextual buttons. See, in the game "E" key is used to both open information panel for the most recently displayed objecctive/update AND to drag corpses/unconscious enemies around. Which means that when the enemy you incapped happen to update your journal AND you need to drag away the body qucikly... instead of dragging body, you'll open journal, which you will have to immediately close quickly, and only after that you'll be allowed to drag the body. It is very annoying.
     
    Billy4184 and Martin_H like this.
  24. HonoraryBob

    HonoraryBob

    Joined:
    May 26, 2011
    Posts:
    1,210

    I'm not making a shooter - it's more of a horror game. For the record, I used to play shooters quite a lot, but it's been awhile so I thought I'd ask what the current norms are.

    The reason I would like to have a free-look mechanism is because some of the spooks spawn behind the player and others can spawn randomly anywhere, so it would make sense to give players the ability to freely look around without changing direction, especially in narrow corridors. There's nothing more annoying that having to change direction just to swivel the view 45 degrees, then bump into a wall as a result. If you're being pursued from behind, it becomes worse than annoying. In a shooter the bad guys are usually in front of the player, but that won't be the case in the game I'm working on.
     
  25. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,301
    I think equivalent of twin-stick controls could work well for that.
    Another option would be adding a key that allows you to only look around without turning body ("hold E and use mouse to turn head", basically).
    I think this game will work better if the player has actual body and not "floating arms". For examples of such setup see "FEAR" games.
     
    theANMATOR2b likes this.