Here is Something That You Probably Didn't Know That You Can't Do

#1 Edited by nintendoeats (5975 posts) -

I had a very good idea for a game. So I spent last night and most of this morning bashing it together. I figured that I could have something fun together in a week or so and then move on to the next thing.

The game was intended as something that you can play with a friend on a single laptop. The point is that I often find myself waiting around with my brother in coffee shops, and it would be nice to have a simple game that we could play together.

Unfortunately, I am a massive idiot. You see, all but the most expensive keyboards (ie, not the ones that you find in laptops) are designed to check clusters of keys. They can only hear about one key in a set at a time. This is something that PC gamers will encounter from time to time when doing something complicated in an FPS.

I knew this, but I didn't think about it because, as mentioned, I'm an idiot. Because it happens at the hardware level, you can't just check one key each frame (I tried anyway, nothing doing). You also can't take into account which clusters will be read and design the controls around them, because every keyboard is different.

I'm currently looking at some ways of reducing the number of keys needed, but if you were ever wondering why there are no action games for a single keyboard...now you know.

EDIT: On the plus side, if you want to make a PC version of Johan Sebastien Joust, this is the tool you need to do it.

#2 Posted by Video_Game_King (36272 posts) -

I'd chime in and say that you can get sort of get around this by mapping things to the control/shift keys or whatever, but I imagine that would cause far more problems than solutions.

#3 Posted by nintendoeats (5975 posts) -

@Video_Game_King: Well, those keys are on the same board so they are subject to the same problem. But yes, in some scenarios that might be a solution.

#4 Posted by RustySanderke (117 posts) -

You can check which buttons presses are registered with this Microsoft article on Keyboard Ghosting

#5 Posted by nintendoeats (5975 posts) -

@RustySanderke:Hey, that's pretty cool! It doesn't really help me get past the problem, but it's neat to read anyway. danke.

#6 Posted by MrKlorox (11209 posts) -

What about using an external controller that you already have on you, such as a cell phone?

#7 Posted by Video_Game_King (36272 posts) -

@MrKlorox said:

What about using an external controller that you already have on you, such as a cell phone?

Although I'm not a programmer, I can't imagine that being very easy to implement as a programmer or as a player.

#8 Posted by AlexW00d (6234 posts) -

@Video_Game_King said:

@MrKlorox said:

What about using an external controller that you already have on you, such as a cell phone?

Although I'm not a programmer, I can't imagine that being very easy to implement as a programmer or as a player.

Whilst using your phone to control your PC is something you can easily do, all it does is emulate the mouse and keyboard, so the problems would still persist.

The other option is writing new drivers for the phone to somehow let it function as an input all of its own, which I imagine is a big ballache.

#9 Posted by MrKlorox (11209 posts) -
@Video_Game_King: Probably not. But since the limitation seems to be hardware based, one would have to either include an additional piece of hardware or change the way the game is played, such as reducing the number of actions required by the players or making it asymmetrical (ie one player uses keys, and the other uses the trackpad).
#10 Posted by nintendoeats (5975 posts) -

@Video_Game_King said:

@MrKlorox said:

What about using an external controller that you already have on you, such as a cell phone?

Although I'm not a programmer, I can't imagine that being very easy to implement as a programmer or as a player.

It's actually a really good idea, I like it. However, it would require another custom piece of software on the phone. I 100% guarantee you that this is possible (and actually it might even be doable with the Studio version of GameMaker, which I don't have), but it's well beyond what I am capable of doing right now.

#11 Posted by nintendoeats (5975 posts) -

@AlexW00d said:

Whilst using your phone to control your PC is something you can easily do, all it does is emulate the mouse and keyboard, so the problems would still persist.

The other option is writing new drivers for the phone to somehow let it function as an input all of its own, which I imagine is a big ballache.

Actually, because this is a hardware limitation and not a software one, emulating a keyboard on your phone would work perfectly.

#12 Posted by AlexW00d (6234 posts) -

@nintendoeats: Oh, well, awesome. Ha.

#13 Posted by Subjugation (4719 posts) -

So this is why my computer gives me that angry beep when I press several keys together?

#14 Posted by Tim_the_Corsair (3065 posts) -

Man, I used to play heaps of two player games on a single keyboard as a kid.

Is this a case of keyboards getting worse overall? Because we always just had shitty basic keyboards for the longest time

#15 Posted by nintendoeats (5975 posts) -

@Subjugation said:

So this is why my computer gives me that angry beep when I press several keys together?

I know what your talking about, but I'm not sure if it's the same problem.

@AlexW00d said:

@nintendoeats: Oh, well, awesome. Ha.

The other problem is that I don't think I can do it with my phone, but I'm going to see if I can make it work.

#16 Posted by Dagbiker (6964 posts) -

If your using C# I know that has easy[er] microsoft gamepad support. I have never used C# my self. But it sounds like it is a whole lot easyer to program for windows.

#17 Posted by nintendoeats (5975 posts) -

@Tim_the_Corsair: Designs that don't have this problem cost a small fortune and tend to be based on very modern tech, so I don't think so. My guess would be that you were using standardized keyboards that the developers could anticipate the limitations of. On top of that, it's only a problem when you want your players to have more than, say, 2 buttons each.

#18 Posted by nintendoeats (5975 posts) -

@Dagbiker: The last game that I made used 360 controllers (I work in GM, but I have done some C# and the integration is very good in XNA). The problem is that very few people have 2 wired controllers, and I want people to be able to play this one.

#19 Posted by Tim_the_Corsair (3065 posts) -
@nintendoeats

@Tim_the_Corsair: Designs that don't have this problem cost a small fortune and tend to be based on very modern tech, so I don't think so. My guess would be that you were using standardized keyboards that the developers could anticipate the limitations of. On top of that, it's only a problem when you want your players to have more than, say, 2 buttons each.

I can't remember the game, but I have a distinct memory of playing a platformer of some sort in the early-to-mid 90s where I was controlling the game using WASD + Y and U and my mate was using the arrows + Ins and Del

There was also Micromachines and TMNT where we shared the keyboard, and Pacman too I believe, off the top of my head.
#20 Posted by nintendoeats (5975 posts) -

@Tim_the_Corsair said:

I can't remember the game, but I have a distinct memory of playing a platformer of some sort in the early-to-mid 90s where I was controlling the game using WASD + Y and U and my mate was using the arrows + Ins and Del

In that specific example, my guess would be that it's because those keys are all on different lines on opposite ends of the keyboard. Also, for some reason I can only picture Lode Runner. No idea why, no reason to believe that's it.

#21 Posted by MrKlorox (11209 posts) -

Usually only two keys will be used at a time for WASD or the arrows, assuming you were using them for movement (fewer if no diagonals, or you used Q as the diagonal of W and A). So wouldn't that leave you two keys on that circuit (cluster?), assuming the left and right sides are on different circuits (whatever) with their own key limitation of four apiece?
 
I also remember playing a Need for Speed with two people on the keyboard back in like 96 or 97. And NES/SNES emulators around that time as well come to think of it. Might wanna download one and check the default key setup for an idea of what generally works.

#22 Posted by nintendoeats (5975 posts) -

@MrKlorox: There are quite a few more buttons at play than that in this case, but your definitely right in your theories. As for emulators, I might take a look at those.

#23 Posted by Tim_the_Corsair (3065 posts) -
@nintendoeats

@Tim_the_Corsair said:

I can't remember the game, but I have a distinct memory of playing a platformer of some sort in the early-to-mid 90s where I was controlling the game using WASD + Y and U and my mate was using the arrows + Ins and Del

In that specific example, my guess would be that it's because those keys are all on different lines on opposite ends of the keyboard. Also, for some reason I can only picture Lode Runner. No idea why, no reason to believe that's it.

That's cool, often think about Lode Runner, just 'cause
#24 Posted by nintendoeats (5975 posts) -

@Tim_the_Corsair said:

often think about Lode Runner, just 'cause

XD I think it's just because of the name. It's such a weird name. Lode Runner. Not Load Runner. Not Loaded Runner. Lode Runner.

Odd.

#25 Posted by BitterAlmond (401 posts) -

@RustySanderke said:

You can check which buttons presses are registered with this Microsoft article on Keyboard Ghosting

Rusty beat me to it, but this deserves repeating. It's the closest you'll get on a laptop keyboard. Buying an expensive gaming (mechanical) keyboard will also fix the issue, but you can hardly expect your customers to buy a keyboard just to play.

If the focus really is on laptop gaming, may I suggest you map a couple of things to the left and right mouse buttons? Most laptops have keyboards so close to the mousebuttons that you can run both with one hand.

#26 Edited by nintendoeats (5975 posts) -

@BitterAlmond said:

@RustySanderke said:

You can check which buttons presses are registered with this Microsoft article on Keyboard Ghosting

Rusty beat me to it, but this deserves repeating. It's the closest you'll get on a laptop keyboard. Buying an expensive gaming (mechanical) keyboard will also fix the issue, but you can hardly expect your customers to buy a keyboard just to play.

If the focus really is on laptop gaming, may I suggest you map a couple of things to the left and right mouse buttons? Most laptops have keyboards so close to the mousebuttons that you can run both with one hand.

the problem that I've found is that often trackpads are tied in with the keyboards on laptops. I hadn't thought of using just the buttons though, that's a good idea.

#27 Posted by Ares42 (2620 posts) -

@Tim_the_Corsair said:

@nintendoeats I can't remember the game, but I have a distinct memory of playing a platformer of some sort in the early-to-mid 90s where I was controlling the game using WASD + Y and U and my mate was using the arrows + Ins and Del There was also Micromachines and TMNT where we shared the keyboard, and Pacman too I believe, off the top of my head.

Probably not the one you're thinking about, but I seem to remember Soldat had 2 player keyboard support.

Online
#28 Posted by Tim_the_Corsair (3065 posts) -
@Ares42

@Tim_the_Corsair said:

@nintendoeats I can't remember the game, but I have a distinct memory of playing a platformer of some sort in the early-to-mid 90s where I was controlling the game using WASD + Y and U and my mate was using the arrows + Ins and Del There was also Micromachines and TMNT where we shared the keyboard, and Pacman too I believe, off the top of my head.

Probably not the one you're thinking about, but I seem to remember Soldat had 2 player keyboard support.

Nah, definitely predates Soldat by about a decade lol (never played that anyway, mate had it and it wasn't my cup of tea)

This edit will also create new pages on Giant Bomb for:

Beware, you are proposing to add brand new pages to the wiki along with your edits. Make sure this is what you intended. This will likely increase the time it takes for your changes to go live.

Comment and Save

Until you earn 1000 points all your submissions need to be vetted by other Giant Bomb users. This process takes no more than a few hours and we'll send you an email once approved.