Advertisement

WASD + Isometric = 2 keys to move 'forward'

Started by May 01, 2007 03:16 AM
11 comments, last by Kest 17 years, 9 months ago
If you were playing a 3rd person isometric game (screen-relative diamond-shaped landscape) with WASD movement, then hallways and such would, more often than not, run in diagonal (to the screen) directions. This means primary directions will always be two simultanious keys. Some older games I've played rotated the control as well. I think maybe Super Mario RPG did this. I haven't played any that did this for the PC. My game's camera isn't limited to isometric views, but it defaults to one. In such a game, would you appreciate a control option that allows you to rotate your input by a certain angle? For example, you could rotate it to -45 degrees so that W is up-left. Finally, are there any other options or techniques a designer could use to help with this ..annoyance?
I always felt that isometric and keyboard control don't work well together. I remember seeing a "work in progress" version of a now defunct commercial isometric action game and even that had mouse control exclusively. It was pretty neat actually because you could not only move the player with your mouse, you'd also use it for aming.
A really good example for an isometric game with keyboard control is "Mystic Towers". It's an old DOS isometric jump'n run game and the keyboard controls worked really well... after you get used to them. If I remember correctly, pressing the UP or W key would make you walk diagonally into the direction the player was facing. I think this is the most intuitive because "walk in the direction you're facing" nicely translates to all perspectives including first person.
However, if you can, you should go for mouse control (That's of course just my humble opinion).

[EDIT]
I just installed mystic towers to check out the movement there. It's actually not like I said - the arrow keys work as if they were themselves orthografically projected, sort of like this:
___
|__|___
.|__|__|
..|__|

that seems to work just fine though.
[/EDIT]

[Edited by - Harry Hunt on May 1, 2007 3:28:24 AM]
Advertisement
Quote:
Original post by Harry Hunt
I remember seeing a "work in progress" version of a now defunct commercial isometric action game and even that had mouse control exclusively. It was pretty neat actually because you could not only move the player with your mouse, you'd also use it for aming.

How does that work? How can you use the mouse for both moving and aiming? I'm assuming you can move and aim at the same time?

Quote:
A really good example for an isometric game with keyboard control is "Mystic Towers". It's an old DOS isometric jump'n run game and the keyboard controls worked really well... after you get used to them. If I remember correctly, pressing the UP or W key would make you walk diagonally into the direction the player was facing.

Do you mean like one of the styles of GTA movement? Where left and right cause you to rotate, and up moves you forward? I don't think it would work well for my project, since the characters don't need to face the direction they move. They can be moving left, and be facing/shooting at something up-right, simultaniously. There would be nothing to indicate movement direction, without some type of on-screen display like a compass.
basically it would work like this: if you moved your mouse around the screen, the player would always look to where your cursor was. So it was basically spinning around a lot. If you cliked anywhere on the map and then held your mouse button down the player would walk into that direction. The game didn't use path finding, instead you'd have to navigate the player through the map yourself. As soon as you moved your mouse over an enemy, your cursor would become a crosshair and you could aim at the various limbs. A single click would then fire a shot while holding your mouse button down would do rapid fire. It worked quite well and after some initial confusion you could basically run around a shoot quite seemlessly by aiming, shooting, moving the cursor away from the enemy for a second to walk around and then repeating the process.

As for "Mystic Towers": the cursor keys don't rotate your player. Imagine if you took your cursor keys and layed them out in an isometric fashion - rotate them by 45 degrees and squeeze them together. If you press any of the keys, the player will walk into the direction the arrows on the keys are pointing to.
So in order to walk in straight lines, in a screen-space kind of sense, you'd have to press two keys (straight up would be UP and LEFT) wheres a single key would move the player diagonally in screen-space or straight in iso-space.

Again, keyboard control and isometric is always going to be counter-intuitive to some degree. If you translate keystrokes to screens-space movement, it will "feel" alright, but since your game objects are typically not layed out in screens-space, you'll often end up pressing two keys for movement.
If you translate keystrokes to iso-space, movement will initially feel weird but it's much easier to access game objects such as doors, switches, etc.

If I were you, I would make sure that my controls are the same in all perspectives and this is extremely hard to do with isometric + keyboard. Hence my suggestion to go for mouse controls.

I dunno what kind of game you're developing, but of course that's also an important factor...
Quote:
Original post by Kest
Quote:
Original post by Harry Hunt
I remember seeing a "work in progress" version of a now defunct commercial isometric action game and even that had mouse control exclusively. It was pretty neat actually because you could not only move the player with your mouse, you'd also use it for aming.

How does that work? How can you use the mouse for both moving and aiming? I'm assuming you can move and aim at the same time?


I don't know about the game Harry's thinking of (EDIT: Ah, given his latest post, it seems we are thinking of more or less the same thing [smile]), but check out Cannon Fodder for one example of how to do it. I haven't played NHL in a few years, but older version had mouse control where you had a cursor which moved in a circle centered about the player. When your cursor was on top of the player he would stand still, placing the cursor anywhere off the player would make him move towards the cursor. Note that since the camera was attached to the player he never catches up with the cursor and will keep moving without additional cursor movement.
Best regards, Omid
My bad. I was assuming "aiming" meant aiming a ranged weapon (which is the case with my game). But I'm thinking Harry meant aiming movement? My characters can aim guns at enemies anywhere on the screen and move toward any direction at the same time. The only way to aim a weapon or choose enemies to attack decently without using an auto-target button (GTA) is with the mouse.

Harry: My project is a 3rd person cyberpunk RPG with real-time combat and ranged weapons. There are a couple snapshots here. But I haven't updated that in a while. The bottom 6 images show the type of camera setup used.

Omid: I'm planning to implement a very similar alternate aiming method (alternate as in rather than manually pointing) as what you describe. The player simply points toward directions from his character's origin with the mouse, and the avatar chooses likely targets in those directions. If it works as well as I expect, it will probably become the default setup. The system would also work great with dual analog controllers.

Thanks to both of you.
Advertisement
Indeed, the best way I've seen is to either treat the keys (or gamepad dpad) as similarly iso-rotated or use the number keypad. 7,9,3,1 would then be the cardinal directions.
I hope it works out for you! Your game looks awesome by the way! [smile]
Best regards, Omid
On consoles, I've never had a problem adjusting to the d-pad being mapped to the isometric directions (i.e. up isn't "up" but NE). I think a few games of that sort had the option to choose whether up was up or NE, but I usually set it to being NE. I don't think the worries about this setup are justified.

Another option would be to do like the FPS's. WASD is Forward/Strafe Left/Backward/Strafe Right with the mouse used for turning. This is how I believe most people played Infantry. Your character always faced (and your gun was always pointed) toward your mouse cursor.
i just checked out the screenshots of your game (they look great btw), and i'm wondering why you're not going for a FPS kind of control system: use the mouse to indicate where you want to go/aim, WASD for movement and mouse button for firing the weapon?

This topic is closed to new replies.

Advertisement