Actually @colonelmasako how easy will it be to implement true touch slider (i.e. map the 2 finger position on the slider to the DS4 touchpad) with Brook board? I'm not very familiar with Brook because I never used them (instead, I implemented my own DS4/Hori wired controller emulation on a Teensy LC in order to gain maximum control) and I noticed that you actually programmed your slider as a gesture detector rather than a touchpad emulation device. EDIT: Seems that newer Brook boards accept a dedicated touchpad via a specific protocol (which I don't know and cannot find any info about it) over the on-board I[sup]2[/sup]C port. It's probably possible to emulate the touchpad with an Arduino or so to get it working. PS: If anyone is interested in my SoftPot slider, just Google "softpot multitouch" and you will find the Arduino library I wrote for my slider. PS2: @LanDi I am more curious about how their magnetic switch works without attaching a magnet to the button. Perhaps magic? (jk)
I have never played the arcade so I'm not sure of the exact feel but I found an inexpensive solution that makes tickle presses possible. Micro-leaf switch from Groovygamergear On my controller, I currently have modified Easyget 100mm buttons with 200g Sanwa springs installed. I was previously using E-switch 50g switches but they are fairly loud and required quite a bit of button travel to activate (though adding a bumper to reduce travel helped the button return faster). Now, with the Microleaf switches installed, there is virutally no switch sound and you can make the buttons extremely sensitive just by adjusting (bending) the leaf on the switch. Having just installed the switches, I'm not very good at tickling just yet but it definitely has potential to make the 10s a bit easier...
@Doctopus , I'm a bit confused. Yes, my implementation is a gesture detector. How is that different from the purpose of a touch pad slider? Breaking it down, my design is a 10 point true multi touch implemenation. You can touch and monitor all 10 elements simultaneously if you want to. My LED code certainly cares about that. But that by itself isn't very useful. Noticing movement between the elements, that is what makes it a slider. Essentailly, gesture detection. So I'm not sure why you say its not a true touch pad solution, please explain :p I didn't bother with trying to use Brook's touchpad interface, they don't have the protocol posted and I didn't feel like mucking with it. The goal of this project was very focused and simple: implement all slides that the game can throw at you: Left, Right, Left Right, Right Left, Right Right, Left Left Since you can map those to the L1, L2, R1, and R2 buttons, it seemed very simple to just make the brook board think those were extra button presses during game play. And it works. At the end of the day, I have the arcade experience replicated successfuly in my garage. Minus some not as senstive not optical buttons that I'll fix later :p I looked at SoftPot stuff a long time ago, and the biggest thing I didn't like about it was its linear nature and the fact that its only 2 touch inputs. In the arcade, you touch with anywhere between 1 finger and your whole hand, usually you don't think about it. So if you touched it with 2 hands with 4 fingers (not your thumbs), that is way more than 2 touches potentially. So I didn't think that was the approach that would work. So what was your approach? Do you have videos of it working?
Because touch pad models the slider behavior more close to the arcade. The real arcade slider not only detects the gesture, but also tracks the travel distance of your fingers. There are some (probably unobivious) game mechanics that uses this, such as the faster you move your fingers, the faster the slider maxes out. If the slider is just a gesture detector, there is no way to implement this precisely (and this may cause negative effects e.g. a maximum slide really fast may not max out the slider and you need to do it again). Also you don't get the satisfying sound effect when you do an empty slide. So yes most of the time it will work fine, but depends on your play style sometimes it may feel weird (so as my implementation :P) Think about the equivalent circuit if you put more than 1 object on a SoftPot. Only the edges of the 2 objects outside will be detected. It was really bad for detecting precise positions, but good enough to pass the signal to the PS4 as a touch pad signal so that the game can sense both gestures and travel distances. (And yes I did assume that my hands were not as big as two hands (just like you) and I know this will potentially cause misdetections. Although as long as you do double slides doubly or intentionally tune down the minimum gap length (that will be assumed as single touches), this shouldn't bite that hard :p)
I'll have to test more, but I'm fairly confident the distance track mechanic was not ported to the PS4 version. Yes, the real slider tracks motion, and I'll believe controls the speed of the action. My approach was focused on the use of the sticks or the L/R buttons to do slides. From that perspective, there is no speed involved. Its all the way on, all the way off. And "empty" slides only happen if you miss the timing of its start, or let go during the slides: if you get a cool on it, it will last as long as you hold down the action, at a uniform and sufficient speed. The method detects the action, latches it, and releases it once you stop touching. There is no speed component to my method other than how fast you start things. And so long as I can time it correctly, all my slides are perfect with no drops or no too fast/too slow actions. I have NOT tried playing with slides on the actual PS4 controller touch pad, mostly because I'm not very good at stretching my fingers to it while hitting the other buttons. Perhaps the speed mechanic is there, I'll definitely try it out myself. My implementation is absolutely capable of tracking motion, I just didn't code it up that way. Physically, you could do all kinds of crazy things with what I built with the right code. Perhaps I'll look at this for improved LED control, but for now this doesn't affect the game play from what I can tell.
The distance tracking was ported to PS4 for motion/gyro control and touchpad. The first one is basically the faster you tilt the controller the faster the slider maxes out. I also tested the second one on both my prototype slider and DS4 (may be a little bit hard to reproduce on DS4 due to the size of the touchpad. If you want to reproduce it I suggest that you try it in the practice mode with songs that feature long slider notes e.g. Dear Cocoa Girl @ ExEx difficulty. Also put the DS4 on a flat surface and slide the touchpad with index finger helps too)
https://www.kitronyx.com/snowpad.html I'm staring at this so hard, it makes me want to by half dozen of them and stick them on the back of my controller :p (After I saw what Sega did, this idea is not that insane for me anymore) (plus, you got a (half) Chunithm controller for free :p)
Hello @finonymouse, nice to see you here ! The pictures of your controller were a big inspiration to build mine. The microleaf switch seems to be interesting and plug and play (except for the bending). I will try it before spending much more on a full sanwa set.
As a nice to have, I got the wing lights to do cool stuff. @Doctopus , yeah the speed mechanism is there, interesting. Not that there is a lot I can do to change my setup to support it. As is, I played Dear Cocoa girls at Ex Ex and passed it. I suck at high difficulty but every slide miss was due to me being a derp, not due to the code, so that makes me feel confident. I did try other hard songs and found I couldn't keep up. I may accept the fact my method isn't good enough for top tier Ex Ex difficulties. But as I'm not the ultimate player I can't say that for sure. Changing what I have would be destructive; if I were to physically take out the current one, it would be impossible to put the exact same one back down, and I'd have to recalibrate all over again. I built this thing to a) see if it was possible b) make it so I can play at home on a real controller c) make my convention setups much easier. Most players who want to play hardcore will just use the DS4 controller, and all they have to do is press the PS buton on their controller to make it work with this one. A vast majority of con attendees will play it as is and have no trouble. Very interesting on those Snowpads, where were those 2 years ago when I first messed with this? If you could daisy chain them, this is the ultimate solution for sure. Tempted to nab one and see what I can do with it. Good find! EDIT: Finally got the pics of the optical switch for your folks, sorry it took so long. From what I can tell, there is a very light spring tension on that tab, and that enters the device for the photo detection. Otherwise its molded like a standard light holder and everything.
So that was all the magic. (jk) No wonder why they put a life expectancy on those switches. (Otherwise they are not mechanically tied to the buttons and are basically immune to aging by pressing) I had the idea of using multiple touchpad controllers when I was still trying to figure out what kind of technologies should I use for the controller so that they are more cost-effective and fits my play style (e.g. Brook vs GIMX vs custom USB microcontroller based encoder, FTIR vs normal camera vs resistive vs capacitive (and this also splits into subtopics e.g. single/multiple controllers, noise immunity, glove safety, what component should I choose, etc.) for the slider, etc.) but soon I abandoned it because 99% of these touchpad/screen controllers are only available under NDA, espeacially for the "good" ones that can support larger surface area, has better performance and are glove safe. It is also basically impossible to get modules for them (you can't even design your own unless you are big companies like Sega) (MTCH6301, however, is an exception. I knew this back then but decided not to touch it because 2) Use multiple controllers to separate zones still sounds crazy for me at that time and is considered as a low priority backup plan (Although now it seems that Sega also did this, in a crazier way) PS: I still want to see what exactly did they do on the internal of the slider hardware, just for the lol's (it must be really fantastic if they really put 32 independent DS4-sized touchpads on that slider)
Thank you for the picture, I see the switch now so it all makes more sense to me now. As long as I can figure out the wiring (Which I'm somewhat confident I can) they should just drop into the buttons and work. I hope the case for the switch is molded higher against the button case so there isn't that 'gap' of space between the phyiscal button plunger like the ones we've been using. I did also order those leaf spring switches from a few posts ago so that's my plan B if something goes utterly wrong. They were cheap enough to get a set to use as spares or replacement parts even, so I figured I'd hang onto a set of those too. My LHSXF's are on their way to me now. Before Friday I hope to have them.
I got the LHSXF to work and it definitely is the same responsiveness as the arcade. Buttons themselves don't feel exactly right resistance wise but I suspect that has to do with them being worn in from being played by hundreds of people over time at the arcade. Not a big deal, the bottle neck was the break point of the analog switches from before for me. I can do tickles, swats and double hand drum on a single button now (not that I'm going at these techniques but they're now possible) and in general I just notice that I can play the same way I do at the arcade, like using my pinky to tap buttons during holds without worrying about not tripping the switch and hitting notes so I don't have to hammer my pinky down hard anymore, now it just works so the bottle neck has once again become my own skill. But that's the fun in it. Below is the diagram of how they're wired up and a picture of them all together in my proto-controller. I gotta finish the real case but it may be a week or two before I get it done since I have a bunch of other stuff going on atm.
@colonelmasako I think I ID'd the connector on the optoswitch, it is JST PA series (specifically, S05B-PASK-2. Almost everything (place of notches, locking, size, wire gauge, etc.) matched perfectetly) Digikey link: https://www.digikey.com/product-detail/en/jst-sales-america-inc/S05B-PASK-2-LF-SN/455-1850-ND/926756 Housings should be easy to find on the related product section EDIT: Derp, it's written on the official catalog (I should check it before I start the massive digikey search /facepalm) EDIT2: Too bad they used pictures instead of text as their catalog pages, no wonder I couldn't find it using Google
Switches are holding up, still playing and working on getting better. I moved the analog sticks above the buttons to try and drum on the buttons better for fast songs like Common World Domination but now I'm hopeless with some slide sections as I've lost all the muscle memory. Haven't had time to make the final plexiglass case but I did have some custom artwork done up for the buttons and printed onto vinyl and wanted to share.
How hard would it be to install those switches on the OBSA-100UMQ? I have my own controller but I'm using the regular analogue sanwa switches. Do you need a special/specific housing for them?
No modifications to the button are necessary. The pictures in that album are of the switches installed on an OBSA-100UMQ. They just look really odd installed in the pictures because the switches sit at an angle but they do just click in like the other microswitches.
hi! i just read this whole form and am remaking the whole arcade machine! this was a really great help
After a few days of "field testing" on the finished controller, I just want to say that the SoftPot feels even more narrower than I expected. Movements need to be a lot more precise than on the actual arcade. I keep missing doubles because I cannot move my left hand as precise as my right hand and only one side got registered by the game (espeacially for both-right slides, more than half of the time my left hand fell off the track and I got a wrong/miss unless I properly align my hands then slide) Otherwise the detection works almost perfectly. I can do doubles (if my hands were properly aligned), stepping (press and hold the touchpad and move a little when the game tells you to slide), hold buttons while sliding, etc. (basically all the tricks I did or saw others doing on the real arcade slider) So TL;DR: If there is a wider membrane potentiometer it can certainly make things better, but I still want a proper arcade-like capacitive solution if possible.
Just saw @Tomtortoise ' latest work on the capacitive slider. Very impressive. I kinda want to see how it runs on my Playstation Labo custom encoder PCB as a stretched touchpad :D https://tt3d.xyz/2018/07/28/divaslide-revisited-its-happening/ https://tt3d.xyz/2018/08/01/divaslide1_0-code-complete/ PS: I'm planning something big for the slider, although don't expect it will yield any working prototype in a year or more (unless miracle happens or I have a huge amount of time to spend or I decided not being lazy or whatever) so just ignore this line and pretend I said nothing ;)
"That controller" made by pol8139 that was featured on Comiket 94, which has a Cypress PSoC based capacitive slider, optoswitches on Chinese buttons (yes!) and uses GIMX as communication method to the PS4. Author's webpage: http://pol.dip.jp/diva/ Brief video about the process of making: http://www.nicovideo.jp/watch/sm32448697 The full tutorial is available as downloads and printed books, with a little fee. (700 JPY for PDF download and 1080 JPY for book and download) Code for the slider and the main Arduino-based encoder are also available on author's GitHub, which can be found on their website, for anyone who are interested in them. PS: If anyone, for some reason, wants to access the references page (http://pol.dip.jp/diva/links/) without the tutorial (although nothing is there besides references, and most of them are easy to find if you do Googling hard enough), here is a hint: The real spring constant of the Sanwa 200G spring (I was right on this one, it's not what Sanwa described) in Newtons per millimeter, round to nearest hunderds. Don't forget the unit.