Log In  

Only gamepads 0-3 are recognized by pico-8

Hi folks,

I can't seem to get pico8 to recognize gamepads beyond 4. Granted, my testing mechanism is a little haphazard, but I am confident it is working correctly.

Test procedure

Since I don't actually own enough gamepads to test this, I am using a python script to create "virtual" gamepads on my machine. Script for this is here: https://github.com/paloblanco/bros_mansion/blob/master/gamepad_test.py . This script registers 8 controllers, then just presses the a button once a second (which ought to get a response from my game).

Here's a screenshot of the whole setup. Note that windows recognizes 8 gamepads being plugged in.

desktop while running gamepad test script

I wait 3 seconds in between "plugging in" controllers so that I can watch them get registered in pico8. Only the first 4 get registered. I can't catch a gif of the joystick prompt appearing, so you will have to take my word for it.

Last thing - I have also tried starting joysticks at player 3 (pico8 -joystick 2), and this still only registers 4 controllers, but I can control players 0 and 1 via the keyboard. So, it is not a player-count-thing, but a joystick-recognition-thing.

4 out of 8 gamepads recognized (players 2-5) and 2 players on keyboard (0-1)

Is this a bug? Has ANYONE ever tried 8 players via gamepad at once on pico8?

P#114405 2022-07-16 14:00

Hm, yeah, I wonder if the goal of having up to 8 controllers attached (or more, for that matter) has fallen by the wayside because there are certain things you can only do with 4 controllers, like examining the button mask returned from a btn() call with no args.

Mind you, there's no reason why btn() couldn't return a tuple with two 32-bit values instead of one. Could that be A Thing™, @zep?

P#115048 2022-07-31 06:23 ( Edited 2022-07-31 06:24)

[Please log in to post a comment]