|
st33d
Guest
|
 |
« on: November 26, 2011, 03:44:09 AM » |
|
I'm going to get up on my soap-box here to voice a concern about a disturbing trend in indie-games. That being the total absence of configurable controls. I've played a string of games recently where I'm forced to play right handed. I'm technically ambidextrous, but that just means my skills are randomly assigned to each hand instead of specialised. My comfortable gaming hand is my left. If I was actually left-handed I'd be screwed. The offenders have been Bit-Trip-Runner (winner of the weirdest damn default keyboard controls ever - that can't be changed), Super Meat Boy and Edge. (On OSX.) But it's not just the big players. I played one of Increpare's games this morning and it had "fuck-you-leftie" controls - as well as letting you configure controls beforehand! They just switched off as soon as you started playing a level. I'm sure you people are going to argue that I should be be downloading some controller software or even some other crap that rejigs my keyboard to overcome developer's not accounting for this issue. But really? That's like saying a guy in a wheelchair should bring his own ramp to a building with no disabled access. The building should have a ramp, let the cripples in. There's already askacapper's petition for console developers to support configurable controls: http://www.youtube.com/watch?v=jK5kCaGk1CYWhy aren't indie developers ahead of console developers on this issue? I know it's just a keyboard, but some people are cursed with their brain being the wrong way round and some people have busted keyboards and are broke. In the case of Increpare's game, I'm certain it just didn't occur to him. But I'd like to raise some awareness of this problem here and ask developers to think about letting more people play their games. Especially left handed people. Next time you make a game, please consider this issue.
|
|
|
|
|
Logged
|
|
|
|
|
C.A. Sinner
|
 |
« Reply #1 on: November 26, 2011, 04:23:15 AM » |
|
I've been wondering about this myself. I think configurable controls are pretty much a must in PC games and I've had them in all of my games (except like 2-day throwaway projects) so far. Why aren't indie developers ahead of console developers on this issue? I know it's just a keyboard, but some people are cursed with their brain being the wrong way round and some people have busted keyboards and are broke. Don't forget people with keyboard layouts other than the standard QWERTY. Yeah I can change my layout but it's a little annoying to have to do that every time I play an indie action game.
|
|
|
|
« Last Edit: November 26, 2011, 04:30:27 AM by C.A. Sinclair »
|
Logged
|
|
|
|
|
increpare
Guest
|
 |
« Reply #2 on: November 26, 2011, 04:34:22 AM » |
|
In the case of Increpare's game, I'm certain it just didn't occur to him. It did occur to me. At one stage I had it working (wsad without explicit rebinding, though of course configuration should work properly as well). I didn't test it, and it just so happened that none of the >30 PC testers noticed when it stopped working. Will fix!
|
|
|
|
|
Logged
|
|
|
|
bluescrn
Level 1
Unemployed Coder / Full-time Indie :)
|
 |
« Reply #3 on: November 26, 2011, 04:35:33 AM » |
|
Developers aren't being intentionally anti-lefties or anything...
It's just that adding customizable controls takes time and effort - time and effort that could otherwise go into polishing gameplay. Especially when it's a solo developer with limited free time to work on their game.
Also, indie games often go through less much rigorous QA and focus testing than big commercial games, so it's something that just gets overlooked
Strangely, I found the Bit.Trip Runner controls to be fine. The one that I've struggled most with recently was Voxatron, which felt very unnatural to me (numpad aiming), and really felt like it needed a good KB+mouse option.
(Hmmm... wondering whether I should have put a 'lefty flip' option into the iOS project that I've just finished... Quite a few testers played it, at least one or two were left-handed, but the issue didn't come up)
|
|
|
|
|
Logged
|
|
|
|
|
baconman
|
 |
« Reply #4 on: November 26, 2011, 04:36:57 AM » |
|
The simple answer: They probably don't know how.
If most are like me, they'd LIKE to put in configurable controls; but using game creation software, it's another technical obstacle (ESPECIALLY in GAME MAKER) that many developers aren't prepared for; and the techniques in creating a customizable input/output system is something that isn't really highlighted well in tutorials. It's a very fundamental building block - along with an entire options screen/menu - that's totally overlooked in the "how-to's."
I know I've kinda got frustrated at having to bind commands/actions directly to keys instead of an input index, which has to be created and defaulted to begin with; and that's not even counting the difference between the press-release syntax and the "holding down key?" checks.
And for the first few projects - especially when people want to just grind something done so they have something completed - they just focus on the gameplay mechanics, or the story, or whatever it is that makes their game shine first. Then maybe later they can go back and add that sort of thing in, or learn to do it later.
Well, you REALLY don't wanna go through a game coded with static controls, and then try to insert that sort of thing. It is a tremendous pain in the ass to rescan all of your code, and have to troubleshoot inconsistencies like that; if a project is going to have custom controls, they need to be indexed from the get-go; so all of the code corresponds with that.
Even I know how it should work, but I'll level with ya; I'm not completely sure how to implement it. Especially using GM. ~.~'
|
|
|
|
|
Logged
|
|
|
|
|
st33d
Guest
|
 |
« Reply #5 on: November 26, 2011, 04:50:23 AM » |
|
I understand the polish argument, but it's just one piece of tech that once you've made it can slot into all of your games and increase access to your games. I'm guilty of cutting corners myself, but when you have games that are as big as Super Meat Boy, it's a drop in an ocean of development time. In the case of Increpare's game, I'm certain it just didn't occur to him. It did occur to me. At one stage I had it working (wsad without explicit rebinding, though of course configuration should work properly as well). I didn't test it, and it just so happened that none of the >30 PC testers noticed when it stopped working. Will fix! That's cool. Good to know it's a bug.  It just happened to be a bug related to a long string of injuries that got me riled up. If most are like me, they'd LIKE to put in configurable controls; but using game creation software, it's another technical obstacle (ESPECIALLY in GAME MAKER)
Well the blame is really at GM's door then isn't it? It's supposed to make game creation easier, so it really should make it easier to offer reconfigurable controls for your players. Not expect you to come up with some crazy hack.
|
|
|
|
|
Logged
|
|
|
|
|
im9today
Guest
|
 |
« Reply #6 on: November 26, 2011, 04:54:46 AM » |
|
just play the damn buttons 
|
|
|
|
|
Logged
|
|
|
|
|
Netsu
|
 |
« Reply #7 on: November 26, 2011, 04:57:54 AM » |
|
Configurable controls are usually one of the first things I add to a game. Definitely would never release a playable version without it as an option. Especially since it's easier and more elegant for me to let people go into options, see what controls the game uses and optionally change them than than it is to introduce them to what controls the game uses through some kind of a tutorial or tooltips.
|
|
|
|
|
Logged
|
|
|
|
|
baconman
|
 |
« Reply #8 on: November 26, 2011, 05:06:15 AM » |
|
I wouldn't say it falls entirely on GM; although that (and some better sound management) wouldn't be a BAD thing to consider adding to the features list. It's completely doable, and a number of games produced on it has contained them - it's just finding a way to create that and code around it (or rather, finding a place to learn that specifically) that makes it troublesome to implement.
But then, it's understandable why they DON'T do it - essentially it's to expediate the game creation by directly binding actions to controls, rather than have to teach somebody how to create and manuever a configurable input/output system and it's labels.
|
|
|
|
« Last Edit: November 26, 2011, 05:13:51 AM by baconman »
|
Logged
|
|
|
|
|
vinheim3
|
 |
« Reply #9 on: November 26, 2011, 05:18:48 AM » |
|
It's REALLY simple in Game Maker, the problem is no one tells you how, it's not a common problem with the majority (I think) of people being righties. Since vk_enter, vk_right, etc are just constants, you don't have to worry about using them in weird ways, they're just integers really. The way you do it, is when you're mapping keys waiting for input, DON'T use keyboard_wait() because that will stop everything. Just put in a step event something like: if (keyboard_key != 0 && keyboard_key != keyboard_last) { key_map[vk_left] = keyboard_key; }
keyboard_last = keyboard_key; I don't use keyboard_lastkey because you don't want to care about any previous button presses before you decide to map keys. (make sure to define keyboard_last as 0 in a create event beforehand) (define key_map aswell with its default buttons like "key_map[vk_left] = vk_left". Game Maker's arrays are dynamic so no need to define its size) so whenever you want to put in code for when a player presses left, you use: if (keyboard_check(key_map[vk_left]) For displaying, use this: http://gmc.yoyogames.com/index.php?showtopic=364284&st=0&p=2598380&#entry2598380For XBox controller in Game Maker, Button 1 is A Button 2 is B Button 3 is X Button 4 is Y Button 5 is LB Button 6 is RB Button 7 is Back Button 8 is Start Button 9 is Left analog stick (pushed down) Button 10 is Right analog stick (pushed down)
X-axis+ is left analog stick going right Y-axis+ is left analog stick going down R-axis+ is right analog stick going right U-axis+ is right analog stick going down Z-axis+ is LT Z-axis- is RT
POV is the arrowpad thing, 0 is north, 45 is northeast, 90 is east and so on. (you can't get any non-multiple of 45 degrees)
|
|
|
|
« Last Edit: November 26, 2011, 05:33:20 AM by vinheim3 »
|
Logged
|
|
|
|
|
Geeze
|
 |
« Reply #10 on: November 26, 2011, 05:50:41 AM » |
|
Actually it's super easy to add customisable keyboard controls in GM, it'll work even if you code the game you would when making non-customisable controls. From the thread quoted in my sig: even if you're not to fly with gm coding, I think you should still be able to bind y to z at the start of the game with a single line of code so that the foreign keyboards thing is minimized as a problem. Something like
keyboard_set_map(ord('Y'),ord('Z'))
I think it would be? Just once when the game starts up.
|
|
|
|
|
Logged
|
|
|
|
|
baconman
|
 |
« Reply #11 on: November 26, 2011, 05:51:14 AM » |
|
It's REALLY simple in Game Maker, the problem is no one tells you how, That's pretty much the point I was getting at. And it's not JUST Game Maker suffering from this, it's... pretty much the majority of gamedev software out there. You'd think virtual keymapping and maybe even a basic program outline would be standard or something. Man, I hope I understand that right. lol
|
|
|
|
|
Logged
|
|
|
|
|
vinheim3
|
 |
« Reply #12 on: November 26, 2011, 05:55:31 AM » |
|
@Geeze - doesn't that function allow you to use both Y and Z for the Z function? That's what I understood from: For example you might want to allow the player to use both the arrow keys and the numpad keys. which is entirely different than replacing keys if I understood it correctly. @baconman - it IS in the manual, but people focus on things like inventory, speech systems, etc, the gameplay rather than the technical part which is equally important in my opinion. People need to feel comfortable playing the game with their key setup. You'd think gamedev software would put emphasis on this O.o
|
|
|
|
|
Logged
|
|
|
|
|
Geeze
|
 |
« Reply #13 on: November 26, 2011, 06:05:41 AM » |
|
No, it actually replaces it. I think GM has an internal map which allows you to reassign which keys it'll check. Same key can be assinged many other keys (like z triggers both z and y) but multiple keys can not trigger one (z and y can't trigger same key)
|
|
|
|
|
Logged
|
|
|
|
|
Trevor Dunbar
|
 |
« Reply #14 on: November 26, 2011, 06:23:19 AM » |
|
Devs be too lazy and allowing remapping of controls takes too much effort
|
|
|
|
|
Logged
|
Toucantastic.
|
|
|
|