I wish there was a standard gamepad to go with this standard console. This seems to be a huge oversight on an otherwise great project. Games as well as Pico-8 itself seem to use a whole bunch of different keys and "buttons" such as "z","x","menu","esc", "space", "enter" etc.
For a game console, it seems very keyboard-centric, what is the standard gamepad for this?
Also, what are the gamepad mappings from these "keys" to usb controllers on host system/SDL buttons? How do I control pico-8 with a gamepad? The manual refers to z,x,"menu" and I need other buttons to play such as "Esc" "space" etc? So what is "menu" what is "Esc" on my gamepad?
Some games use even more keys and some use other keys, there seems to be no consensus.
In short, it seems impossible to navigate the Pico-8 and play all games with only a gamepad.
For example how do I quit a game with a gamepad? It seems I need to press Esc on the keyboard. But for some games, to start I need to press space, for some I need to press z or x. It seems completely chaotic.
Also, there seems to be a menu that pops up with "enter", but there is no "quit pico-8" menu option. It all seems very ill-thought out and not controllable with a gamepad consistently.
EDIT: For example, in the game "Serpent's Shadow" I have to suddenly press "v" to continue to the next level. In another game, jump and run were set to "x" and "c" instead of "z" and "x". So even if I use some remapping tool to map my gamepad to z,x,enter,esc,space, I will still not be able to play games that make use of v, and c or any other key.
The person that made Serpent's Shadow preferred the c and v keys over the z and x keys, but both sets still function.
The O button is bound to n, c, and z, and the X button is bound to m, x, and v.
The only carts that break this rule are the devkit carts. If you poke a few memory addresses you can gain access to the mouse and keyboard. Of course, this is not compatible with the gamepad, but you can still pause and escape the game with the gamepad only, at least in splore mode.
I think the confusion stems from many game makers viewing P8 as a platform for making browser games rather than a distinct system with its own control scheme. I'm not sure there's a lot you can do about that. You could say something when you see it - just tell the creator to use O and X rather than whatever keys those are mapped to - but I don't see any way you could enforce it.
But a controller to keyboard mapping program will work correctly with just directions, Z, X, and Enter. C, V, N, and M are redundant.
it could be nice if the Game pad support should be more present in browser. Someone as made a Java script to do it but it should be nice tu update to this feature in the default browser's Lexaloffle Pico-8 html5 player (while keeping the tactile key map for mobiles too.)
you got it backwards there, i.e. 4 is O and 5 is X
but anyway I agree (and I think your mistake helps to prove the point) that PICO-8's documentation could do more to emphasize the button layout on the fantasy gamepad. It wasn't until something like a year after PICO-8 was released that button names were even added. (I think I might have been the first one here to ask about that, and I was happy when the buttons were finally given names.) But maybe because it was a relatively late addition, the manual doesn't mention the button names very much.
The console claims to have a gamepad, but we rarely see it anywhere, so psychologically I can understand why it's "out of sight, out of mind" for many developers, which causes them to fail to use the button names, or fail to even design controls that are physically possible on a d-pad (e.g. requiring pressing left and right at the same time, or using up as jump, while O and X are left unused--this is a real thing I've seen in the wild).
Actually, PICO-8 even has some self-contradictory documentation: the KEYCONFIG utility gets the O/X button layout wrong compared to the mobile web overlay (I say "wrong" since I'd argue the mobile button overlay has much more impact on the way people actually play carts, and it's been in place for long enough that it should be the standard), and uses the wrong glyphs...I assume it was never updated after the glyphs were introduced :)
Fortunately, according to zep's twitter, the BBS's mobile web overlay at least will soon be much better; the button names will actually be visible, so hopefully this will help reinforce the concept of the button names in people's minds. I also think the feature that allows button glyphs to be used in code (in the btn function) has probably helped a little with this, ever since that feature was added.
[Please log in to post a comment]