# Controlling movement direction in isometric view

In an isometric view, floor tiles would be aligned diagonally.

On this view, an entity can be moved to adjacent tiles, as illustrated by the green arrows.

Since the movement is diagonal (to the rendering on the monitor), using the arrow keys to navigate seems counter-intuitive to me. Without being told, you have no idea which way the entity moves when you press the up key.

How could the movement-controls via keyboard be implemented intuitively?

• In many flash games, there's a north arrow (like on a map) that indicates which direction the up arrow key will take you. Granted, it's still not the most natural, but most users will notice it, allaying their confusion. Jul 2 '15 at 15:12
• Turn your keyboard round by 45 degrees. Jul 2 '15 at 16:09
• After pressing the first arrow key, people get used to the key layout and know it for the rest of the session. Jul 3 '15 at 16:46
• I agree with @KaspervandenBerg - it doesn't matter, as long as it's close. Control schemes are transparent and give immediate feedback, so as long as it's a simple rotation of 45 degrees (that is, nothing crazy like mirroring, or a complete 180 where up=down), players will understand "this direction is 'up'" and adapt within a couple seconds. From then on there's no thought involved. Jul 4 '15 at 3:27
• I agree with Kasper and Izkata above. As long as there is immediate feedback and "nothing crazy" (lol) the player will quickly understand the controls. Its similar to the angled mouse cursor: & just like initialisation-action most users go through with the mouse (i.e. shaking it to find it on screen), most gamers use the first few movement in a control-driven game to orientate themselves. This book provides more cognitive insight: Psychology, Pedagogy, and Assess* in Serious Games by Connolly, Thomas M. Google Books Link Jul 8 '15 at 6:08

Very few isometric games have a keyboard control scheme.

The few I remember playing that used the arrow keys to move treated a single key as an orthogonal direction. To get diagonal movement you needed to press two keys like down and right. Some even mapped all 8 surrounding squares to the numbers on the keypad (except 5) so you had a full range of motion. (This was mostly in turn-based games like Civilization before it switched to hexes.)

Any real-time or reflex-oriented game uses a mouse. It's more precise, you can move more than one square per interaction, and you don't have to worry about what direction maps to which key. There is a reason the original Diablo called out requiring a mouse as a system requirement.

If a mouse or touch input isn't an option, you may want to consider moving away from an isometric perspective and go with more of a 2.5D view like older Zelda or Pokémon games. Most players won't notice the difference, and everything conforms to a grid more easily, which is great when movement is limited to a D-pad or arrow keys.

• +1 Civilization example. I remember that this was also a problem and later versions are using hexagon model instead of squares, which completely takes out keyboard input too. Jul 3 '15 at 14:00

An isometric view of a game doesn't have to be presented as a symmetric view.

For example PacMania is pacman with a pseudo-3D isometric view, but still lets you use the left-right, up-down keys without ambiguity in their direction.

• Technically, this is no longer an isometric projection. But +1, it might very well be useful for the OP. Jul 2 '15 at 17:14

If you want it to be intuitive then you could be a bit clever about it.

Add an item into the level a few squares away from them, and tell them to "Using The Arrow Keys, Move Forward Towards The Macguffin"

Then whatever button they use to do this is the one you map to that direction.

That way you're matching their own mental model of how the navigation works.

It's a similar approach that FSP games use - some gamers prefer to push thumbstick up to look up, others prefer to push down for the same action. Games will often state "Look up" and will use that instruction to map the thumbstick controls automatically.

Of course you could also add an option for them to map their own controls should they desire.

• I have to admit, that solution is pretty nice. Just three things. 1: Doesn't the phrase "Move Forward Towards" imply using the up key? 2: When I thought about it, I would have had no idea which key I would use. 3: To me, it still feels like I have to bend my mind to align the arrow keys with diagonal movement. I was hoping for a more natural feeling solution. Jul 2 '15 at 13:33
• Yeah, maybe my wording is a bit clunky (and I went with Camel Case too for some crazy reason) but perhaps just "Use the cursor keys to move towards the mcguffin" would work too.
– JonW
Jul 2 '15 at 13:44
• What happens if I press both Up and Right to go diagonally? You'd have to make the game smart enough to adapt to that or I'll be stuck with either Up or Right not doing what I expect and I'll need a way to remap later. Jul 2 '15 at 13:59
• @NathanRabe True. That's why FPS games have in-game options screen where you can flip with Y axis controls. Something similar should be added to this game too.
– JonW
Jul 2 '15 at 14:01

History shows a few approaches of handling isometric controls.

The oldest game to use absolute isometric controls I can think of is Q Bert:

This was usually played on the joystick - which had 8 directions, not just the 4 arrow keys. Interestingly, though, instead of using diagonal movement on the joystick. you were supposed to tilt the whole joystick, enabling a far more comfortable control experience. Up, left, etc. mapped well to the screen this way.

Of course, doing this with the keyboard is rather clunky - even more so when you realize that the arrow keys actually aren't symmetric - the down key is usually between left and right, making this even more clunky. However, the numeric keyboard is commonly used for navigation as well. In fact, when you turn your numeric keyboard off, provided you have a desktop keyboard, 4 is left etc. This allows you to control isometric movement quite easily using 7, 9, 1 and 3.

And again, the numeric keys for that also map to other keys on the keyboard - Home, Page up, End and Page down. On traditionally layouted keyboards, those can also be used, even when not using the numeric keyboard - they form a nice square that maps perfectly into isometric controls. If you only allow isometric movement, this is incredibly easy to use - if you also want to allow movement accross (i.e. straight up/down etc.), I'd suggest using the numeric keyboard instead - but of course, if you go by virtual keys, there's no difference between Home on the numeric keyboard and the other Home key. If numlock is off, of course :)

Of course, the old trick with a joystick can just as easily be handled with gamepads on modern computers - although it usually isn't necessary (or worth the worse ergonomics), since modern gamepads are usually quite easy to with diagonals.

The last option would be the mouse - this is most useful in games where the world is isometric, but not a fixed movement grid - you're moving in any direction you want, and it's just the rendering (and terrain etc.) that's actually grid-like.

Notebook keyboard are usually the trickiest. Even if you do have some nice cluster of keys that could be used comfortably, they usually aren't aligned in a perfect square, which hurts a bit. In the end, make the controls configurable - different keyboards have different ergonomics.

I can imagine two more ways (apart from the ones already presented) for this:

## Separating direction change from position change

• Left-Right for direction: The first consist in using left/right arrows to turn the character left/right without leaving the square.
• Forward-Backward for changing position/step: Then using forward/backward arrows to move to the square the character is facing or giving his/her back.

A lot of 3rd person games works this way (Silent Hill, Resident Evil, Dino Crisis, etc) so the controls will be familiar. I think this could work really well and consistently if the squares the character can move to are just 4, specially if the animations are not slow.

# Squared Mapping

As the possible outputs maps with the corners of an rectangle, you could use a group of four keys like (4,5) for upper corners, and (1,2) for bottom corners.

## EDIT: Deprecated after OP owner clarification of just 4 possible movements

Using 2 arrows to indicate diagonals

This would be the same as Nathan's approach but replacing the numbers in the corners of the numpad for arrow combinations.

You'll have more work processing the input, but at least for me it will be more comfortable as a user compared with the numpad-numbers approach, since the distance between keys is the minimum, which gives provides more speed (the finger movement required is less) and also reduce the chance of pressing a key that you didn't want to.

• The games you describe are played from the character's point of view (or at least, largely pointed in the same direction as the character), so the primary actions are as you describe. But in an isometric game, the PoV is from above and doesn't rotate, so when the player thinks "I want this character here", they now have to translate that into "turn left, turn left, forward" instead of "go this way" - it's not much extra thought, but it's definitely more than necessary (and more likely to break the immersion) Jul 4 '15 at 3:43
• This is just such a great answer! Jul 9 '15 at 9:01

Using the up arrow for either northeast or northwest seems fine to me. Which?

## It doesn't matter

As others have mentioned, the feedback loop is so fast that the user will figure it out quickly. But:

## Up arrow = northeast

This seems the most intuitive, because (English speakers at least) associate forwards with right. And if you're still worried:

## Make the first level very directional

Start out on a street or something with a very clear "forward" direction, perhaps with an arrow painted on the ground - all oriented to the northeast. The user will have a really strong sense that they should go "forward" and "northeast" at the same time.

For completeness`s sake, here is one possible solution to communicate the controls to the user I played around with.

By showing the user the control keys directly in the level, I try to minimize the confusion, as the user is reminded of the control scheme at all times.

It is noteworthy that this seems not to work as well with the arrow-keys, as an up-arrow in the upper-right corner representing up-right movement still is a conflict. This is prevented by using W, A, S and D, which are not associated as closely to direction as the arrow keys.

I think the Pacman example shows the answer. The confusion is in the way the figure is standing. If you set the figure in a three-quarter view, and give the figure a (three-quarter) face, it then becomes obvious which way is forward, left, right, etc.

You can also try other keys than the "traditional" Arrow/WASD, like:

• QWAS