StormTorn is a nautical rpg with an emphasis on exploration. It uses a procedurally generated world. It is expected to offer 50+ hours gameplay for a single game, and it is replayable. Features: A large, procedural world to explore; Your actions have permanent consequences; Advancement in the form of improving the ship, the crew, and the captain; Permadeath; and lots of others. Please follow my blog posts for further details about the mechanics and features of the game.

Post feature Report RSS Keeping the controls simple

A few words about the control design in StormTorn - what were the main goals and concerns, and what decisions were made.

Posted by on

One of the most important concerns for me about the game is to create an interface and control scheme that is very easy to learn and which works consistently across the whole game. When you try a new game, it is really frustrating to find that is uses 30+ keys for different things in different contexts, which are either not accessible in any other way, or they are mapped to the wrong key, so you keep pressing another button. Also, if the interface is full of chaff, and the interactive elements are not clearly distinguishable from the decoration, than there is something wrong with the design.

So, for designing the interface and the control scheme, my goals are the following:

  • The windows should be minimalistic, functional but not ugly
  • The key scheme should be configurable, but the default should be easy to learn and use
  • All of the following control schemes should be usable: keyboard only, mouse only and mixed mouse + key controls
  • It must support a possible future control scheme using console controllers with double joysticks

There is not much to say about the first point. It will take a lot of experimentation to find a style that I like and that is as described. There are several good examples for this kind of UI, so I am sure I will find something.

The second is a bit more tricky. While the 'configuring the control scheme' part is easily doable with Unity, finding a default that most people can just live with is harder. What I have in mind is somewhat similar to what you find in 3rd person games: moving with WASD or mouseclick, doing actions with a named key or mouseclick, selecting targets with Tab, moving the camera with the arrow keys or by dragging the right mouse button (cmd-mouse on the Mac). Obviously, as the map is hex based, I need to add additional two buttons to WASD, so it will be QWEASD. If the target is selected, and the selection window is open, you can either use the number keys to select an action, or the arrow keys to move between actions, and then the above mentioned named key (F or space) to active the selected one.
This control scheme, as it is quite similar to a lot of games out there, will be easy to pick up and it will be consistent throughout the game.

The third will be implemented with some duplications (gadgets at the hex edges to be clicked for moving vs. QWEASD) and some functionalities which are better suited for this or that control scheme (The TAB key will cycle through the selectable items, but for the mouse it will be a hover over + click combination)

The fourth I am still thinking about. At this point of time I am not even sure what platforms should be supported, so didn't decide on how to tackle this yet. Still, it is something I try to keep in mind when I write the control code.

So, this is it about the currently planned control scheme - most of which is already implemented.
Opinions, ideas, feedback are welcome.

Post comment Comments
ImperiaI
ImperiaI - - 599 comments

I agree, that a Interface should be as simple as possible without frustarating the user.

And I am very tired of having to learn for each game I play a different key mapping. Fully configurable keys are the solution for this issue.

It is cool that you take some time to think about such a essential element of the gameplay, the Key mapping.

Reply Good karma Bad karma+2 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: