Original Post
So, I was thinking something. Until not long ago, the only kind of devices we would expect (most) games to be played with were either a keyboard, a mouse or a controller. Of course, this meant that coding and design was relatively easy (especially since the mouse was unlikely to be used without a keyboard, so we could safely assume all controls could be button based).
That isn't true anymore, though. Now we have many new types of input devices: touch screens (both single touch and multitouch), accelerometers, motion sensing (both with a controller like the Wii or without one like Kinect), and even some more exotic devices like Emotiv's headset (essentially a brainwave reader). I bet I'm probably missing something else as well. And all of those controllers are used in completely different ways. I suppose that from the coding side this won't be much of an issue (probably programmers will just isolate the input code into a separate module that can be reused in all games), but what about the design side?
I'm not even talking about trying to exploit the capabilities of the new devices, but rather how to adapt games to work with all of them (sooner or later we'll need to do this eventually). Let's take for example a 2D platformer. Let's suppose that for jumping, we go with the spacebar for a keyboard and the "move up" action for a headset. For crouching, we go with the down arrow on the keyboard and "shrink" for a headset. So far it looks intuitive, right?
Now let's say we want to add a slide move by pressing crouch+jump. On a keyboard, that'd mean hold Down and press Space. Doesn't look wrong, does it? Now, on the headset, that'd mean shrink, then try to move up... Yeah, that doesn't look right.
How would you handle all this? Looks like the idea of customizable controls will have to go beyond the basic controls and we'll also need to provide customization of the advanced moves as well.
That isn't true anymore, though. Now we have many new types of input devices: touch screens (both single touch and multitouch), accelerometers, motion sensing (both with a controller like the Wii or without one like Kinect), and even some more exotic devices like Emotiv's headset (essentially a brainwave reader). I bet I'm probably missing something else as well. And all of those controllers are used in completely different ways. I suppose that from the coding side this won't be much of an issue (probably programmers will just isolate the input code into a separate module that can be reused in all games), but what about the design side?
I'm not even talking about trying to exploit the capabilities of the new devices, but rather how to adapt games to work with all of them (sooner or later we'll need to do this eventually). Let's take for example a 2D platformer. Let's suppose that for jumping, we go with the spacebar for a keyboard and the "move up" action for a headset. For crouching, we go with the down arrow on the keyboard and "shrink" for a headset. So far it looks intuitive, right?
Now let's say we want to add a slide move by pressing crouch+jump. On a keyboard, that'd mean hold Down and press Space. Doesn't look wrong, does it? Now, on the headset, that'd mean shrink, then try to move up... Yeah, that doesn't look right.
How would you handle all this? Looks like the idea of customizable controls will have to go beyond the basic controls and we'll also need to provide customization of the advanced moves as well.