Log In  


I know that technically PICO-8 allows both left and right (or up and down) to simultaneously be active, but is it allowed canonically?

In other words, does the cannon PICO-8 controller have a d-pad or 4 separate buttons for directions?



Well, considering it's a fantasy console, I just kinda figured the entire thing is the "technically" bits.

¯\_(ツ)_/¯


Canonically, I don't know, that's probably zep's call, and I don't think he's said anything yet. Personally, though, I'd say you're best off avoiding using that. You should keep in mind what control methods people are playing your cart with. A lot play through the BBS on desktop, but BBS on phones, devices like handhelds or the picade, just plugging in a regular controller, or all manner of other things can't press both at the same time.

But that said, if pressing opposing directions at the same time is absolutely integral to your game concept, then don't let that stop you. I'd just personally argue that if you can avoid it, you should.


Oh! This is actually covered in the official manual under the btn() command section!

> ** Note for cart authors: when using a physical gamepad, certain combinations of buttons can be awkward (UP to jump/accelerate instead of [X] or [O]) or even impossible (LEFT + RIGHT)

Also, you could argue that the mobile controls are the closest to a canonical implementation, and those definitely do not permit opposite directions to be pressed simultaneously.


= screenshot of the controller layout on an old iPhone


2

@packbat You can press left and right simultaneously on the mobile controls.


2

I can't speak for @zep, but I do think deliberately using opposite directions simultaneously as an input for any game-oriented cart that is expected to be used by many end-users on multiple platforms would be a bad practice, due to the knowledge that there are multiple platforms that make this button combination impossible to input.

However, in special-use carts, like dev tools or utilities, it can probably be assumed that the user will have access to some kind of proper keyboard input with discrete buttons or keys for each direction.

As for what's canon, IMHO the API dictates what is canon. The API will happily return both left and right, or up and down, or all four directions at once, for that matter. Canonically, I think it's allowed, but once again, I would say I personally consider it a bad practice for all but special-use carts where the end user is expecting to need a proper keyboard.

That being said, you could always put Quality-of-Life shortcuts on multi-direction inputs. Something that's more cumbersome, but already possible, with single-direction inputs. Like hotkeying a health potion to up+down, which are not normally pressed together by accident even on a keyboard, even though you can get to the health potion by going into your inventory too.

Also, normally, when used for input, the Done Thing is to cancel out simultaneous direction inputs. Requesting x += 1 at the same time as x += -1 should result in x += 0, because you're being obedient to the user's request and doing both things.


Pico-8 is not unlike most of the retro consoles we know and love, and there's all the reasons in the world for all its games to be playable with most of the retro controllers we know and love. And I can't even think of a real common game controller that would physically allow simultaneous opposite directions (albeit some game&watch where you had left & right on each side of the screen). So I think common controllers d-pad should be considered canon. Also, for what it's worth, pico-8's fantasy controller d-pad emulation through real physical controllers was axis only not long ago.

Actually I think zep should enforce some kind of d-pad emulation, if only to give pico-8 a little more physical ground. Maybe not opposite directions annulation but last button talking, more comfort for heavy fingers on keyboard (also, as a side note, I would synchronize direction repeat on diagonals). Now it you want to remake a game&watch on your phone with a custom html plate, you're toast. maybe with a d-pad-breaking poke? if there's one left ;)


1

My two cents, avoid it unless you have a really good reason to use it. Certain controller setups won't allow it, and it can be counterproductive to limit what control setups work for no real reason. That being said, it's up to you to decide if that tradeoff is worth it (or not).

I wouldn't give too much stock into what the "cannon" of Pico8 is, since no one really agrees on what that should be. At the end of the day, what's allowed is whatever Pico8 allows.

Modern controllers do allow for simultaneous opposite direction presses by using the d-pad and thumb stick at the same time, so, it's really not all that rare of a situation. It can even be a potential issue some games have to address (fighting games especially) because it can let the player do things you didn't intend. To add onto what Felice said, some games do just cancel out both inputs into a neutral input, but others will override the input with the last pressed direction, or give priority to a certain direction.



[Please log in to post a comment]