RPG Controls: Keyboard vs. Mouse
by Steve Fletcher · in General Discussion · 03/19/2004 (7:41 pm) · 9 replies
I'm programming an RPG (which will run on Windows computers). The biggest issue right now is the controls.
Originally, I planned to use mouse controls (with a few keyboard hot keys that would only be there for convenience). The controls were largely based upon Fallout's controls. At this point, there's still some gimpiness, but it's largely because I've been trying to make the game allow the use of either keyboard or mouse controls.
The reason for this is that several people wanted to have keyboard controls. At first, I thought it was because of some bugs with the mouse controls, but even after I fixed some of the bugs (not all), people still said the same thing. A couple people said that mouse controls don't feel "natural".
Allowing both types of controls is proving to be very difficult, though it has pointed out some flaws in my original design of the interface. The problem is that keyboard controls require a sort of "one-choice-at-a-time" approach, whereas mouse controls are unnecessarily hard to use when they don't have all the options laid out so that you can do everything in the minimum number of clicks.
So what should do? Unless someone has some pearls of wisdom, I will have to abandon either keyboard or mouse controls to make the game work. If that's the case, which kind of controls should I use?
I'm partial to mouse controls, and I think they're more prevalent in the PC market. Is this the case?
Does anyone know of any games that play similarly to Fallout and Baldur's Gate and support BOTH keyboard and mouse controls? Playing a demo for such a game could give me valuable help.
Originally, I planned to use mouse controls (with a few keyboard hot keys that would only be there for convenience). The controls were largely based upon Fallout's controls. At this point, there's still some gimpiness, but it's largely because I've been trying to make the game allow the use of either keyboard or mouse controls.
The reason for this is that several people wanted to have keyboard controls. At first, I thought it was because of some bugs with the mouse controls, but even after I fixed some of the bugs (not all), people still said the same thing. A couple people said that mouse controls don't feel "natural".
Allowing both types of controls is proving to be very difficult, though it has pointed out some flaws in my original design of the interface. The problem is that keyboard controls require a sort of "one-choice-at-a-time" approach, whereas mouse controls are unnecessarily hard to use when they don't have all the options laid out so that you can do everything in the minimum number of clicks.
So what should do? Unless someone has some pearls of wisdom, I will have to abandon either keyboard or mouse controls to make the game work. If that's the case, which kind of controls should I use?
I'm partial to mouse controls, and I think they're more prevalent in the PC market. Is this the case?
Does anyone know of any games that play similarly to Fallout and Baldur's Gate and support BOTH keyboard and mouse controls? Playing a demo for such a game could give me valuable help.
About the author
#2
But it's pretty important to have both. Most gamers will start out using only the mouse (and common keys like arrows and WASD). But as they learn the game they will move to the keyboard. So I think a lot of people who say they prefer the keyboard would still want the mouse there at first. And Jay makes a good point about the "silent majority".
Heck, think about adding gamepad support, too. I was really mad that SW:KOTOR didn't support gamepads (it's even a console port!)
Can you give an example of what types of things you are having trouble controlling with the keyboard?
03/19/2004 (11:05 pm)
If you had to pick only one, I'd agree, go with the mouse. But it's pretty important to have both. Most gamers will start out using only the mouse (and common keys like arrows and WASD). But as they learn the game they will move to the keyboard. So I think a lot of people who say they prefer the keyboard would still want the mouse there at first. And Jay makes a good point about the "silent majority".
Heck, think about adding gamepad support, too. I was really mad that SW:KOTOR didn't support gamepads (it's even a console port!)
Can you give an example of what types of things you are having trouble controlling with the keyboard?
#3
Vic
03/21/2004 (11:12 am)
I'm firmly in the mouse camp too. The main reason: I can't type without looking at the keyboard, even the standard controls have me looking up and down regularly. My idea of the ideal keyboard controls is when I can keep one finger hovering over PAUSE. Two mainstream single player games that I've come across that I think use mouse control first but also have alternative keyboard controls (I guess for those people with no mice??!) are Age of Mythology and Dungeon Siege - never seen demo versions of either though. I'm hoping to use mouse control for my game, but still being a (very new) newbie I'm sticking with the standard for the mo.Vic
#4
The status screen displays a bunch of stats (exactly what the stats are doesn't matter). There's 4 buttons at the bottom: cancel, done, previous, and next. Previous and next are used to switch between allies (and only appear when you have allies). You can click on the name of any statistic to make information about that statistic appear in a box in the bottom-righthand corner of the screen.
And then there's the training box. There's + and - buttons for each possible perk (i.e. stuff to upgrade). Instead gaining skills when you go up a level, you spend your experience points directly on the skills - this is a major feature of the game.
Using the mouse, it's easy. Using the keyboard would make clicking on the statistic names impossible. I might be able to put the done, etc. buttons under the training box and have you move between the options with the keyboard, but being able to look at the descriptions of the stats in the label box would be impossible (or at least incredibly unwieldy).
I could put the training box in a seperate screen, but you should be able to see your stats when you're deciding what to change.
There's alot of display screens where I have similar problems. I figured out how to make it work for the simple screens, but some are too complicated.
Another issue is that I don't know what to make buttons look like to make people think that you can EITHER click on them or select them with the keyboard.
I want to have hot keys in the game. For instance, in combat, you could press 'A' to bring up the crosshair to select the target to attack (combat is like Fallout, Final Fantasy Tactics, etc.). But if I have keyboard controls in the game, they'll have to be configurable for people who have messed up keyboards or just don't like certain keys. The problem is that some people will want 'A' to mean "left" (as an example). So they could then change the attack hot key to something else - 'U' or 'F' or something. If you have to hit 'U' to attack, it would be easier to use the mouse than to remember that ridiculous hotkey.
Another problem is selecting targets when attacking or casting a spell during combat. Right now, you move a crosshair around the screen with the mouse. The normal way to do this with the keyboard is to use the arrow keys to move from one enemy to another (i.e. like in old Final Fantasy games), but I have spells that affect an area rather than a creature. So I need the crosshair. You COULD move it around with the keyboard (this was done in the original Pool of Radiance for the Commodore 64), but this is unwieldy.
The last problem I can think of right now: having the screen scroll when the player is walking. The character can walk a tile at a time without "jumping" from tile to tile because of the walking animation. But the edge of the screen doesn't have this luxury. There's no "walking" frames for the ground. So you say, "make it scroll half a tile at a time". That's what I do for the mouse controls (the screen scrolls when you move the mouse to the edge of the screen). But if you're walking one tile at a time with the screen scrolling half a tile at a time, you'll walk off the edge of the screen. A possible solution would be to make the screen redraw twice as often, scrolling the screen in the middle and end of the movement cycle. The problem with that is that I'm already having performance issues.
I want to be able to play the game without touching the keyboard at all - except to type in the name of my character (then again, maybe I should eliminate even that). Some people want to be able to play the game without touching the mouse at all.
Jay mentioned Diablo... It had hot keys for items and spells, but could you control the game with ONLY the keyboard? I thought you needed the mouse to walk around.
03/22/2004 (7:55 pm)
Examples of my problems:The status screen displays a bunch of stats (exactly what the stats are doesn't matter). There's 4 buttons at the bottom: cancel, done, previous, and next. Previous and next are used to switch between allies (and only appear when you have allies). You can click on the name of any statistic to make information about that statistic appear in a box in the bottom-righthand corner of the screen.
And then there's the training box. There's + and - buttons for each possible perk (i.e. stuff to upgrade). Instead gaining skills when you go up a level, you spend your experience points directly on the skills - this is a major feature of the game.
Using the mouse, it's easy. Using the keyboard would make clicking on the statistic names impossible. I might be able to put the done, etc. buttons under the training box and have you move between the options with the keyboard, but being able to look at the descriptions of the stats in the label box would be impossible (or at least incredibly unwieldy).
I could put the training box in a seperate screen, but you should be able to see your stats when you're deciding what to change.
There's alot of display screens where I have similar problems. I figured out how to make it work for the simple screens, but some are too complicated.
Another issue is that I don't know what to make buttons look like to make people think that you can EITHER click on them or select them with the keyboard.
I want to have hot keys in the game. For instance, in combat, you could press 'A' to bring up the crosshair to select the target to attack (combat is like Fallout, Final Fantasy Tactics, etc.). But if I have keyboard controls in the game, they'll have to be configurable for people who have messed up keyboards or just don't like certain keys. The problem is that some people will want 'A' to mean "left" (as an example). So they could then change the attack hot key to something else - 'U' or 'F' or something. If you have to hit 'U' to attack, it would be easier to use the mouse than to remember that ridiculous hotkey.
Another problem is selecting targets when attacking or casting a spell during combat. Right now, you move a crosshair around the screen with the mouse. The normal way to do this with the keyboard is to use the arrow keys to move from one enemy to another (i.e. like in old Final Fantasy games), but I have spells that affect an area rather than a creature. So I need the crosshair. You COULD move it around with the keyboard (this was done in the original Pool of Radiance for the Commodore 64), but this is unwieldy.
The last problem I can think of right now: having the screen scroll when the player is walking. The character can walk a tile at a time without "jumping" from tile to tile because of the walking animation. But the edge of the screen doesn't have this luxury. There's no "walking" frames for the ground. So you say, "make it scroll half a tile at a time". That's what I do for the mouse controls (the screen scrolls when you move the mouse to the edge of the screen). But if you're walking one tile at a time with the screen scrolling half a tile at a time, you'll walk off the edge of the screen. A possible solution would be to make the screen redraw twice as often, scrolling the screen in the middle and end of the movement cycle. The problem with that is that I'm already having performance issues.
I want to be able to play the game without touching the keyboard at all - except to type in the name of my character (then again, maybe I should eliminate even that). Some people want to be able to play the game without touching the mouse at all.
Jay mentioned Diablo... It had hot keys for items and spells, but could you control the game with ONLY the keyboard? I thought you needed the mouse to walk around.
#5
The ability to use 4 keys for movement (WASD, etc.) and the mouse to perform dual roles, such as rotating the camera around the player to get a look around the immediate environment, and also to possibly steer the character themself, perhaps with a mouse-button press to trigger one mode or the other always makes me feel like I'm as free to move and navigate as I need to be. With the mouse button depressed, you get cursor control.. with the button pressed you get camera/player rotation/steering. That's essentially the kind of control system I would like to implement in a project I'm in the earliest stages of now.
The pure "point-and-click" system always feels awkward to me, and the pure keyboard nav. approach never feels right.
Of course.. analog controller support is always an option ;-p
03/28/2004 (7:00 pm)
I've personally always found the FPS-like control schemes to work the most intuitively for me.The ability to use 4 keys for movement (WASD, etc.) and the mouse to perform dual roles, such as rotating the camera around the player to get a look around the immediate environment, and also to possibly steer the character themself, perhaps with a mouse-button press to trigger one mode or the other always makes me feel like I'm as free to move and navigate as I need to be. With the mouse button depressed, you get cursor control.. with the button pressed you get camera/player rotation/steering. That's essentially the kind of control system I would like to implement in a project I'm in the earliest stages of now.
The pure "point-and-click" system always feels awkward to me, and the pure keyboard nav. approach never feels right.
Of course.. analog controller support is always an option ;-p
#6
Without directly looking at your project, its difficult to come up with a solution. But it sounds like your screens/stats are too complicated to begin with. There is a careful balance between [Layout] Design, [Asthetic] Design, and [Access] Design. Sometimes these can all be lumped together into HUD/MENU DESIGN, if it all works. But when something doesn't work, it needs to be pulled apart to determine why. Maybe your layout is fine, but the player has to go through 10 clicks to get to the appropriate window (thats the result of bad Access Design).
Layout Design, Asthetic Design and Access Design are all terms I made up- because I don't know the proper terminology that is widely accepted.
Normally, a single hotkey opens a menuitem and grabs the focus. Then the player can scroll down and select an item or toggle it. Its often best to make the player do the least amount of scrolling, clicking, and hotkeying as possible. Too much removes them from the game environment.
03/28/2004 (8:43 pm)
Quote:There's alot of display screens where I have similar problems. I figured out how to make it work for the simple screens, but some are too complicated.
Without directly looking at your project, its difficult to come up with a solution. But it sounds like your screens/stats are too complicated to begin with. There is a careful balance between [Layout] Design, [Asthetic] Design, and [Access] Design. Sometimes these can all be lumped together into HUD/MENU DESIGN, if it all works. But when something doesn't work, it needs to be pulled apart to determine why. Maybe your layout is fine, but the player has to go through 10 clicks to get to the appropriate window (thats the result of bad Access Design).
Layout Design, Asthetic Design and Access Design are all terms I made up- because I don't know the proper terminology that is widely accepted.
Normally, a single hotkey opens a menuitem and grabs the focus. Then the player can scroll down and select an item or toggle it. Its often best to make the player do the least amount of scrolling, clicking, and hotkeying as possible. Too much removes them from the game environment.
#7
I assure you that there's no screen that you have to click 10 times to get to what you want. Not having to click it. You usually click once to get to the right screen and then click once to do whatever it is you want to do.
I'll tell you about the layout of each screen. When I mention "buttons", I mean a button that you click on (similar to the Submit Post button I'm looking at).
In the normal walking-around, noncombat screen, all the buttons on the task bar.
Click on the button with the character's name to view that character's status. You can also switch to a different character's status screen from within the status screen.
The purpose of the status screen is 2-fold: to view your status and to upgrade your main character's stats. The status screen looks like the status screen in Fallout.
There's another "Status" screen that shows you what spells are affecting each member of your party. Just click on the button, and it pops up.
There's a screen for showing what quests you have, and there's a screen for showing what "treasures" you have. Both are just screens that get displayed (in a "list" box - a big box that lists stuff and has arrows to scroll with; someday I'll make real scroll bars) when you press the appropriate button. I plan to add radio buttons to the Treasures screen to let you view different kinds of stuff in your inventory by clicking on the appropriate radio button.
There's a spellcasting screen. There's a problem here I mean to fix. Right now, you pick which person is casting the spell in a little box at the bottom of the screen and pick the spell in a big box at the top. It's hard to see the little person-picking box, so I'm going to split it into 2 screens.
There's a menu button that shows the title screen, which has game saving/loading/exitting/etc. options. This is the only screen where you have to click twice to get to the right screen.
There's an equipment screen. You can select the player's weapon type by clicking on radio buttons, and you can optimize or unequip any character's armor and weapon by clicking on the optimize/unequip button underneath his name. I'm worried that this screen might be a little too complicated. It is DEFINETLY one of the screens that is problematic for keyboard controls, but it may even be confusing with mouse controls.
There's a relic-equiping screen. You click on a relic to select it and then click on the equip button under the name of the ally you want to use it to equip it. There's an unequip button for each ally too, like above.
The equipment and relic screens are both big problems for the keyboard controls. In keyboard-controlled games, it's generally just select the name out of the menu and then select each item from a menu in turn. I don't see any way to make this as good as the mouse-controlled version.
Also, should I streamline the equipment screen more? It could just be choosing the player weapon type plus ONE optimize button. Or maybe I could even have the equipment get optimized automatically. The problem with that is that you might not want to use your best equipment (for instance, maybe you need to give your best sword to someone to complete a quest).
Finally, there's a "party" screen, where you can swap, merge, and unmerge your allies (not your main character though). This is a strange screen. All the allies are listed (with hp and mp), and the 3 buttons are listed for EACH ally. When it makes sense to press that button, it's enabled (and when it doesn't make sense, it's disabled).
To reduce the scrolling, I seperated the items into different groups (i.e. usable items, wearable items, etc.), and the best items (which are the ones you're most likely to use) are shown at the top. If you want to use a crappy item, the lists can be quite long though.
03/29/2004 (6:30 am)
Since my RPG is a 2d game, the FPS-like controls wouldn't really make alot of sense.I assure you that there's no screen that you have to click 10 times to get to what you want. Not having to click it. You usually click once to get to the right screen and then click once to do whatever it is you want to do.
I'll tell you about the layout of each screen. When I mention "buttons", I mean a button that you click on (similar to the Submit Post button I'm looking at).
In the normal walking-around, noncombat screen, all the buttons on the task bar.
Click on the button with the character's name to view that character's status. You can also switch to a different character's status screen from within the status screen.
The purpose of the status screen is 2-fold: to view your status and to upgrade your main character's stats. The status screen looks like the status screen in Fallout.
There's another "Status" screen that shows you what spells are affecting each member of your party. Just click on the button, and it pops up.
There's a screen for showing what quests you have, and there's a screen for showing what "treasures" you have. Both are just screens that get displayed (in a "list" box - a big box that lists stuff and has arrows to scroll with; someday I'll make real scroll bars) when you press the appropriate button. I plan to add radio buttons to the Treasures screen to let you view different kinds of stuff in your inventory by clicking on the appropriate radio button.
There's a spellcasting screen. There's a problem here I mean to fix. Right now, you pick which person is casting the spell in a little box at the bottom of the screen and pick the spell in a big box at the top. It's hard to see the little person-picking box, so I'm going to split it into 2 screens.
There's a menu button that shows the title screen, which has game saving/loading/exitting/etc. options. This is the only screen where you have to click twice to get to the right screen.
There's an equipment screen. You can select the player's weapon type by clicking on radio buttons, and you can optimize or unequip any character's armor and weapon by clicking on the optimize/unequip button underneath his name. I'm worried that this screen might be a little too complicated. It is DEFINETLY one of the screens that is problematic for keyboard controls, but it may even be confusing with mouse controls.
There's a relic-equiping screen. You click on a relic to select it and then click on the equip button under the name of the ally you want to use it to equip it. There's an unequip button for each ally too, like above.
The equipment and relic screens are both big problems for the keyboard controls. In keyboard-controlled games, it's generally just select the name out of the menu and then select each item from a menu in turn. I don't see any way to make this as good as the mouse-controlled version.
Also, should I streamline the equipment screen more? It could just be choosing the player weapon type plus ONE optimize button. Or maybe I could even have the equipment get optimized automatically. The problem with that is that you might not want to use your best equipment (for instance, maybe you need to give your best sword to someone to complete a quest).
Finally, there's a "party" screen, where you can swap, merge, and unmerge your allies (not your main character though). This is a strange screen. All the allies are listed (with hp and mp), and the 3 buttons are listed for EACH ally. When it makes sense to press that button, it's enabled (and when it doesn't make sense, it's disabled).
To reduce the scrolling, I seperated the items into different groups (i.e. usable items, wearable items, etc.), and the best items (which are the ones you're most likely to use) are shown at the top. If you want to use a crappy item, the lists can be quite long though.
#8
anything that doesn't need quick access (eg. levelling up, character info) probably doesn't need a short cut key. (this is assuming that the rest of the game pauses when you enter screens like the party screen, level up etc.) it would seem to me that you're having problems because you're trying to give people the option of not using the mouse at all.
if you want to get some ideas on how to make your interface work with a keyboard only take SW:KOTOR on the xbox, it uses 10 buttons & the left thumbstick (can't remember if it uses the right thumbstick) for the whole game, these 10 buttons do everything from combat/using inventory to leveling up screens, map, journal, character info, and others. seeing as a keyboard doesn't have a thumbstick, you could replace that function with the movement keys of WASD or the arrows. but it's got more than enough buttons to make everything work. :)
03/29/2004 (3:07 pm)
Interesting problem, i haven't read through all the post thouroughly, but i think that anything that needs to happen in combat or real time should have a short cut key, be it movement, spell casting etc. etc. anything that doesn't need quick access (eg. levelling up, character info) probably doesn't need a short cut key. (this is assuming that the rest of the game pauses when you enter screens like the party screen, level up etc.) it would seem to me that you're having problems because you're trying to give people the option of not using the mouse at all.
if you want to get some ideas on how to make your interface work with a keyboard only take SW:KOTOR on the xbox, it uses 10 buttons & the left thumbstick (can't remember if it uses the right thumbstick) for the whole game, these 10 buttons do everything from combat/using inventory to leveling up screens, map, journal, character info, and others. seeing as a keyboard doesn't have a thumbstick, you could replace that function with the movement keys of WASD or the arrows. but it's got more than enough buttons to make everything work. :)
#9
It should be possible to make it use both, but it seems like it would almost be like programming 2 games. I don't think I have the time for it.
People keep telling me that the game needs keyboard controls, but I think that most of the people who said that are related or something. It seems like they're all artists who do art in almost exactly the same style.
Anyways, thanks for all the help - it set me back on track. I'll keep this thread in mind when designing the interfaces for future games.
03/29/2004 (5:11 pm)
After reading all the posts, I think I'll go with only having keyboard hotkeys, not with making it so that you can use EITHER the keyboard or the mouse.It should be possible to make it use both, but it seems like it would almost be like programming 2 games. I don't think I have the time for it.
People keep telling me that the game needs keyboard controls, but I think that most of the people who said that are related or something. It seems like they're all artists who do art in almost exactly the same style.
Anyways, thanks for all the help - it set me back on track. I'll keep this thread in mind when designing the interfaces for future games.
Torque 3D Owner Jay Barnson
I think the Diablo games (at least the first one) supported both.
I think it's a mistake not to include mouse control. The people who prefer mouse control tend to be a vast silent majority.