What is the de-facto standard game control keyboard keys on MSX?

Pagina 1/2
| 2

Door Bengalack

Paladin (804)

afbeelding van Bengalack

06-04-2023, 10:09

It was interesting to read about control keys feedback the this thread: https://www.msx.org/news/challenges/en/msxdev23-02-tower-of-...

For a future project I will need to consider this carefully. The needs for this game, is a bit special, without revealing too much :) So which keys do MSX-users expect?

I haven't played all the msx-games, and I have no experience with many different layouts (like Russian, Arabic, azerty, etc). My preferred keys are always cursors + space. I know Konami chose M,N for button B (IIRC) - so that is fine (although I always found that a bit strange back in the day).

I also would assume that WASD could work on MSX due to being a standard on PC-games - but maybe no?

Let me know if there are any concerns, or general good insight, before I go ahead and make a new crazy controlled game.

Aangemeld of registreer om reacties te plaatsen

Van DarkSchneider

Paragon (1030)

afbeelding van DarkSchneider

06-04-2023, 11:03

Be careful about keys:
https://msx.org/forum/msx-talk/development/what-the-hell-with-different-key-matrices-how-to-read-a-specific-key
And take a look here at "3.1 Key Scanning", and there are only few cases, as there are many (and unknown) more.

I have set by default cursor keys, space, and CODE (can use CTRL, SHIFT, or any other common one) key as keyboard button2, as they are common to all MSX keyboard matrices, and then let the user redefine i.e. button2, for which we read the entire keyboard and capture the line/column pair of the key pressed.
By this way if the user press 'M' in its MSX keyboard, no matter what line/column is in its MSX keyboard matrix, because we save it for later use, so it will respond to its 'M' key in any case.

Van ro

Scribe (5061)

afbeelding van ro

06-04-2023, 11:07

For movement, most common is to use the CursorKeys. Every MSX has these.
For primary action, space is mostly used.
For secondary action, it varies. Konami uses the 'm' key for example, which I like. The use of the SHIFT key for that is also a much used method.

Further more, there's the function keys which are used a lot. In RPG (or alike) games you'll typically see stuff like "i" for inventory etc too.

Overall I'd say Cursor+space as primary Smile

Van Bengalack

Paladin (804)

afbeelding van Bengalack

06-04-2023, 12:28

Thanks a lot. Yes, I will likely make a game with no BIOS-usage, so I need to understand the various matrix setup properly.

Van Bengalack

Paladin (804)

afbeelding van Bengalack

06-04-2023, 12:36

Or: Edit, not entirely true. When making the cart-based game, I will typically gather information, possibly, via bios before entering the main game. Things like, msx-version, vram-size and keyboard info. At least that is the outset. Things may change of course. I'm currently just in a (slow, low-activity) research-phase. Not much is decided atm.

Van aoineko

Paragon (1138)

afbeelding van aoineko

06-04-2023, 13:00

For my game Crawlers, I checked many multiplayer games to see if any pattern emerged.
See this thread: https://msx.org/forum/msx-talk/development/2-players-1-keyboard

Here is conclusion of the best setup:

Player 1 :
- Direction : Arrows
- Trigger A : Space
- Trigger B : N

Player 2 :
- Direction : RDFG (to prevent internationnal key change)
- Trigger A : Ctrl
- Trigger B : Shift

Van MsxKun

Paragon (1134)

afbeelding van MsxKun

06-04-2023, 13:03

Cursors + Space, not much else needed.
Secondary button can be anywhere near. Better if you use more than 1 so player can choose.

It's this is your first time on MSX developing, I'd recommend to stick to the BIOS. That will save you effort and headaches. It can give some too, sure Tongue But focus on your game and let the BIOS do its work. There will be time when you are more confortable when you know when to skip BIOS and how.
It's on you.

Van thegeps

Paragon (1259)

afbeelding van thegeps

06-04-2023, 15:30

Ehm, he just won the MSXdev...

Van aoineko

Paragon (1138)

afbeelding van aoineko

06-04-2023, 16:27

Ehm, he just won the MSXdev... with a multi-plans super smooth scrolling game.
I think we can assume that he knows what he is doing. Wink

Van DarkSchneider

Paragon (1030)

afbeelding van DarkSchneider

06-04-2023, 16:38

aoineko wrote:

For my game Crawlers, I checked many multiplayer games to see if any pattern emerged.
See this thread: https://msx.org/forum/msx-talk/development/2-players-1-keyboard

Here is conclusion of the best setup:

Player 1 :
- Direction : Arrows
- Trigger A : Space
- Trigger B : N

Player 2 :
- Direction : RDFG (to prevent internationnal key change)
- Trigger A : Ctrl
- Trigger B : Shift

The problem here is, can we make sure? Could be for "typical" keyboard matrices, but not in others. I.e. the 'R' key is typically the line/bit 4/7, but in the russian matrix that is the 'K' key, and the 'R' is at 3/5.
The MSX keyboard matrices stuff is an absolute mess.

Van MsxKun

Paragon (1134)

afbeelding van MsxKun

06-04-2023, 17:25

aoineko wrote:

Ehm, he just won the MSXdev... with a multi-plans super smooth scrolling game.
I think we can assume that he knows what he is doing. Wink

Tongue Didn't follow dev a lot.
As he was asking a pretty much basic question about MSX every-day use...

Pagina 1/2
| 2