i should make sure #Pinput works with modern #pico8 and #wasm4 in time for #StrawberryJamβ¦
if you want vibrator support for your PICO-8 (most platforms) or WASM-4 (desktop only) game, Pinput is here for you https://codeberg.org/vyr/Pinput
i should make sure #Pinput works with modern #pico8 and #wasm4 in time for #StrawberryJamβ¦
if you want vibrator support for your PICO-8 (most platforms) or WASM-4 (desktop only) game, Pinput is here for you https://codeberg.org/vyr/Pinput
https://github.com/buttplugio/buttplug/pull/527
i made #ButtplugIO buzz a Dual Shock 4 gamepad on macOS today. gamepads are the vibrator everybody already has, but Buttplug's current gamepad support covers only XInput devices and only on Windows, a category that notably does not include Sony or Nintendo stuff.
since i used SDL2 for gamepad support in #Pinput, that part was easy, but Pinput's single-threaded. Buttplug isn't, instead using async code backed up by either a Tokio runtime or WASM threads, and most SDL types aren't thread-safe, which is where the actors in the previous posts came in: send gamepad control messages over mpsc channels to actors on a thread dedicated to SDL, get responses back using one-shot channels.
next challenge: figure out why the example vibe tester isn't exiting cleanly on Ctrl-C. something's still waiting to progress, i suspect. the JetBrains debugger is wildly inadequate for async stuff, where stack traces don't exist and threads are only vaguely relevant, but https://github.com/tokio-rs/console looks usefulβ¦
#Pinput now supports reading the touch/pressure sensors on the #Kiiroo Pearl 2.1 vibe (they get mapped to buttons and joystick axes), and in theory, also the sensors on the only other device that #ButtplugIO currently supports inputs from: the #kGoal Boost (although i don't have one to test with)
so if you wanted to make a #pico8 game but were holding out until you could control it with your pelvic muscles, now's the time π
(also, Pinput can now read the battery level of your haptic device, as it can already do for wireless gamepads on most platforms)
here's the #Pinput patch for #pico8's Jelpi demo, which adds short vibration events on jump and dash, and longer ones when you take out an enemy:
https://gist.github.com/VyrCossont/5c82eddd1d991c45adb73daa21d38101
want to be able to do horny #gamedev with your fantasy console? here comes the π³π! i've just released binaries for #Pinput 0.1.4-alpha1, which adds #vibrator support alongside analog gamepad support for #pico8 and #wasm4 games, thanks to #ButtplugIO.
got questions? please ask me! i've written docs, of course, but i'd love if y'all tried it and let me know your use cases and any points of confusion.
hardware-wise, check the IoST Index to see if your toys are supported: anything marked as compatible with buttplug.io should work in theory, and i've been testing with BTLE toys from #Lovense and #Kiiroo and know them to work in practice.
#Pinput #ButtplugIO support now works in Chrome with either Web Bluetooth or a websocket connection to Intiface Central, and Firefox and Safari with Intiface Central only
edit: it actually works fine in Firefox. likely to be user error on my part.
want to add #SexToy support to your #pico8 or #wasm4 game? now you can! i just pushed prototype support for vibrators in #Pinput via #ButtplugIO: Pinput PR #1. (no official binaries yet, i have some testing to do first to make sure everything still works with my collection of gamepads and vibes.)
the PICO-8 and WASM-4 test cartridges, which currently activate a gamepad's rumble motors when its triggers are held down, now also activate the rumble motors of any attached haptic devices.
does this count as #teledildonics if i hand one of my girlfriends a gamepad with a very long cord? π€
adding #ButtplugIO support to #Pinput by telling it that each haptics device with up to two motors is an XInput-like gamepad. close enough, right?
it just occurred to me that input recording and playback should be a #Pinput feature, not a cartridge feature
that'd make testing Pinput easier too
https://github.com/VyrCossont/Pinput#web-extension i guess i know how to make web extensions. now #Pinput can run on Lexaloffle BBS web player cartridges.
i really should get this on https://addons.mozilla.org/ and https://chrome.google.com/webstore/category/extensions so civilians can use it, but it's late
i shipped the Rust version of #Pinput! https://github.com/VyrCossont/Pinput/releases/tag/v0.1.2
i am serious about #Pinput hardware compatibility testing
β¦mostly because i have a gamepad problem. hobby? hoblem?
top to bottom, left to right:
β’ Xbox 360 wired
β’ Xbox 360 wireless (needs a USB adapter to be used with PCs, but i still have at least one)
β’ Xbox One model 1708 (the first one with Bluetooth)
β’ Ipega 9803s (Bluetooth controller/handle for tablets, goes wide enough to fit a Surface Go) <http://m.ipega.hk/gamehandle/53-180.html>
β’ DualSense (PS5)
β’ DualShock 4
β’ Steam Controller
β’ Logitech F310
β’ Switch Joy-Con Charging Grip, with joycons
β’ Switch Pro Controller
(1708 and DualSense courtesy of @millenomi)
@Scarlet i found the first edition (free from the author at http://newosxbook.com/MOXiI.pdf) very readable and useful when i was writing the macOS version of #Pinput
#GeometryWars 4 is gonna be awesome