News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Keyboard controls for games

Started by steve, 21:13, 16 February 11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

steve

I always thought that keyboard control in games was a sign of a speccy port, since the speccy did not have standard joystick ports for most of it's life, but I see that sub hunter has keyboard control, so I am wondering how important is it for a game to have keyboard control, can't we just expect everyone to have at least one joystick and leave keyboard control out?

I want to rewrite codename mat and the very first decision I made was that the keyboard controls would be removed and the game would use a joystick or even two joysticks.

villain

I don´t think so, since I didn´t own a working joystick for my CPC for a couple of years. I solved this problem when they rereleased the Competition Pro, but nevertheless... the problem may still exist somewhere. And I also like it if I can use a game in an emulator without having to match keys for the joystick emulation first.

Metr

If I have to be honest, and besides the fact I miss a lot not having again my Konix Speedking Joystick for my 6128 (so I can't play atm joystick only games), a lot of games in my opinion can't be controlled the same way with a joystick than with a keyboard.
I see games like House of Usher (joystick only like Antiriad for another example) that were so difficult for me to play with the joystick, and were a piece of cake with emulator + joystick emulated. I asked the same question in the spanish forums last week. Syx pointed me out something, Amstrad missed special joysticks / pads like the Atari 800, C64, or a standarized use of 'fire button 2 or 3', or even mouse control for Arkanoid games for example, and I have to agree with that.
If I need precission, (also Syx pointed me here that Phaser One was a so precise joystick but not like a keyboard) I usually prefer the keyboard. Sub Hunter seems one of those games I would feel bad playing with the joystick, if I have to be changing directions suddenly and fast, it's quicker (for me at least) a finger movement than a hand movement.
Also things like hold left and press right repeatedly to hold the advance or maintain a height like in a lot of games would be impossible for a joystick, you can't hit 2 directions at same time. I would say 'Aqua' is one of the best examples I could say at the moment for that, hard with joystick, nice to play with keyboard for me.
Also playing a game like Renegade with Joystick+keyboard is not easy cake, a full keyboard option would make it easier to play (I cant imagine playing it with 2 joysticks, and more if you had a hand joystick instead a sticky one!)
So in my opinion, is not a great choice to create a game 'Joystick only' or 'Keyboard only', maybe is only a taste choice, maybe is what feels more confortable for you, but if it's not a real problem to create it with both control methods (also a redefine keys is always welcome), I think is the best option.

PS: There are tricky techniques with the joystick that I think I'll never be able to beat with a keyboard, Syx's Joystick-Maraca technique for games like Combat School !  :P  (Also sorry for my english, I'm hard to follow in spanish, so with my superb powers to write english should be 'Hell difficulty'  ^^)

steve

Thank you for the replies, if I do manage to rewrite the game I will keep the keyboard options and maybe use a two joystick mode for the more difficult levels. ;D

AMSDOS

I don't have a problem in this case with the Firmware routine KM TEST KEY (&BB1E) which works for Joysticks or Keyboard.

I just incorporated this into my Turbo Pascal program and heaps faster than using the Incorporated "read(kbd,mykey);" which is the equivalent to "inkey$" in BASIC. If Codename Mat is using &BB1E which maybe the case since it's an old AMSOFT game, then it maybe a simple case of changing the value in the Accumulator to represent Joystick values!  :-\
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

EgoTrip

Keyboard controls are essential really, along with joystick, however a pre-defined set of keys is not ideal, redefinable should be the norm. QAOP or AZ<> for example are fine for platformers but crap for shooters, where you ideally want one hand free to hammer the fire button and having fingers stretched out across the keyboard makes the game a lot more difficult. Thats just my experience of playing.

arnoldemu

Quote from: EgoTrip on 11:20, 17 February 11
Keyboard controls are essential really, along with joystick, however a pre-defined set of keys is not ideal, redefinable should be the norm. QAOP or AZ<> for example are fine for platformers but crap for shooters, where you ideally want one hand free to hammer the fire button and having fingers stretched out across the keyboard makes the game a lot more difficult. Thats just my experience of playing.

This leads me onto a question which I don't know if I had posted before.

We know that the cpc has different keyboard layouts which I will call "English", "French", "Spanish" and "Danish".
And on some of these keys are marked different symbols if you compare them to the "English" keyboard.

I know that the firmware will take the hardware key code and using a translation table in the rom it will generate the character printed on the key.

So, if a keyboard redefine choice is included (which I have also done in my previous games), then what should be done if you want to display the name of the key the user pressed.

e.g. On a French azerty keyboard the A key is in the position of the Q key. The actual hardware number generated is the same.
I suppose that when the game loads it should ask layout and then it can adjust it's response accordingly?

Or are French, Spanish or Danish happy to see the English key names being used?


My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

TomEtJerry

Hello,

I have met such problem with the adventure game "Le crime du parking", as game doesn't use the system vectors to scan the keyboard.  Unfortunately, some french users have QWERTY keyboards, so I had to detect the keyboad language.

The solution I have used in the game is to have two arrays of keys/chars couples (one for the french keyboard, the other for the english one). Then I detects the keyboard language just testing the value of a char sprite in the rom that is not the same one in the french and english charset table.

Not very good if you intend to detect all kind of keyboards, but that was enough for my game.

T&J/GPA

AMSDOS

Oh no, I thought the "QWERTY" keyboard was an International standard!  ???

Naturally I presume it has to be, because languages change and other symbols (e.g. backwards question marks & accents) come into play! I guess if there's some safe keys to use (without redefining) use the Arrow Keys (fine as long as their key values remain consistant on the different keyboards), otherwise allow the user to Redefine the Keys which works in the users favour cause they can select what keys they want to use. Their only annoying if the User has to redefine the Joystick control values from it.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

TFM

Quote from: villain on 21:48, 16 February 11
I don´t think so, since I didn´t own a working joystick for my CPC for a couple of years. I solved this problem when they rereleased the Competition Pro, but nevertheless... the problem may still exist somewhere. And I also like it if I can use a game in an emulator without having to match keys for the joystick emulation first.

Exactly! I do totally agree. And there is no point why not having keyboard controls in addition to joystick support. IMHO it's pretty weak for a game NOT to support they keyboard (especially cursor and copy keys). And for the programmer it really makes no difference.
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

Powered by SMFPacks Menu Editor Mod