I mentioned in this post the motivations for creating an MMO-style control system for a third-person game. But what is an MMO-style control system, exactly?
From extensive research (read: I played a bunch of games), I’ve selected a few criteria for a generalised MMO controller:
Movement of the character along the ground:
- Move forward and backwards using W and S
- Rotate the character and camera with A and D
- Strafe left and right with Q and E
- Moving backwards is much slower than forwards
Controlling the camera is also linked to movement:
- Mouse cursor is visible, can interact with UI
- Holding mouse left-click and dragging the cursor around rotates the camera (but not the character’s direction of movement)
- Holding mouse right-click and dragging rotates the camera and the character’s direction of movement
- While right click is held, rotate (A and D) will make the character strafe
- Mouse wheel is used to zoom in and out
Other considerations:
- The character needs to orient itself smoothly to the direction of movement
- When moving backwards, the character orientates to the opposite direction to movement – that is, when walking backwards, the character’s back faces the camera