I am developing a 3D platformer, and I know that controller is optimal for the precise movement, but I don't feel players should have to buy a controller just to experience a 3D platformer that is available for PC.

I get that WASD to move and SPACEBAR to jump is all good(and SHIFT to crouch), but I'm a little lost for the rest. I was thinking JKL could do some stuff, but then that ruins the point of a mouse, so maybe one set of controls for Keyboard + Mouse, and another for keyboard alone?

Here are my current controls for controller:

Potential Ideas:

Left Stick/WASD - move(obviously)

Right Stick/arrow keys/mouse(maybe + right click?) - camera

A(gamepad)/SPACE(maybe 'j' as well?) - Jump

Triggers/SHIFT - crouch

(No need to worry about start + select)

Ones I'm stuck on(all of these are gamepad)

Right Stick down - first person view

B - Attack

X - Dive

Y - Use power-up

Bumpers - Snap Camera behind

D-Pad Up/Down - zoom camera

D-Pad Left-Right - snap camera 45 degrees to left/right

I tried looking at other examples(e.g. A hat in time), but those games have a much different move set than mine, and wouldn't quite work.

  • 5
    \$\begingroup\$ This doesn't look to me like a question that's likely to have a "verifiable/correct" answer that fits our Q&A format here. Different folks prefer different control mappings. The best thing you can do is ensure you have robust control remapping options — then your defaults can be whatever you find feels good & intuitive to your team and your playtesters, and players who find an alternative arrangement more intuitive can remap to their heart's content. \$\endgroup\$ – DMGregory Feb 25 '19 at 21:27
  • 2
    \$\begingroup\$ Definitely need configurable controls. I use WERD to move instead of WASD. Drove me nuts when The Witness wouldn't let me remap it. That game just had a couple presets; people in other countries with different keyboard layouts hated that. \$\endgroup\$ – Almo Feb 25 '19 at 22:14
  • 2
    \$\begingroup\$ @DMGregory, "verifiable/correct" is a bit fuzzy here, but there are definite conventions that players expect in an FPS because the vast majority of FPS games map the vast majority of their keys the same. Knowing these common conventions is one of the core principles of UI/UX design. While using "X" vs "Shift" to crouch may be trivial, using something like "T" to crouch would be a major UI/UX flaw; so, there is still a measurable rightness and wrongness to default key-mapping. \$\endgroup\$ – Nosajimiki Feb 26 '19 at 15:28
  • \$\begingroup\$ "I know that controller is optimal for the precise movement" [citation needed] In most games with a console and PC release that I've seen, all professional players and speedrunners use PC. \$\endgroup\$ – Anko Mar 6 '19 at 5:13
  • \$\begingroup\$ This isn't about PC vs Console, this is about KB + M. \$\endgroup\$ – user124517 Mar 6 '19 at 15:41

As the comments suggest, taking an American keyboard mapping for granted is a problem;so, you ideally want to have a configurable keyset, but American mappings are domanate enough to make since for default settings.

First things first: FPS almost always map to the mouse in place of the right analogue. This actually makes the game more user friendly than a controller for most PC gamers. Most of these controls you are unsure about normally map to the mouse:

left-click - attack

right-click - use power-up (special attack)

Scroll-wheel - zoom

Scroll-wheel-click - Snap Camera behind (I'm assuming this is to reset your view)

Dive, look left, and look right are less conventional. But, there are some general guidelines that can help mapping less conventional buttons intuitively:

Q,E,Z,X,C,shift,ctrl,alt: These are buttons you may use a lot, especially while moving. So theses are often used for things like strafing, crouching, sprinting, swapping weapons, etc.

R,T,F,G,V,B: These are your tier 2 buttons, things you may need to hit here and there in the midst of battle, but don't need to focus on like reload, pick-up weapons, etc.

Other keys are often used for out-of-battle stuff like M for mini-map, I for inventory, etc.

  • \$\begingroup\$ Some/most engines can identify keys by layout-independent key locations. If you do that no having configurable controls is even less of a problem. \$\endgroup\$ – HolyBlackCat Feb 26 '19 at 15:53