Previous Thread
Next Thread
Print Thread
Cross-platform rumble #113771
08/07/18 09:18 PM
08/07/18 09:18 PM
Joined: Mar 2010
Posts: 126
S
Shoegazer Offline OP
Senior Member
Shoegazer  Offline OP
Senior Member
S
Joined: Mar 2010
Posts: 126
I recently discovered a barcade nearby that I hadn't realized was there, and going in I was happy to see an original After Burner there among other classics. I started playing and was immediately reminded of what a difference the game makes with rumble (force-feedback) in effect vs. what mame currently offers. There are other similar cases too, of course - some that immediately come to mind are certain driving games like Outrun/Hang-on, most Playstation 1 games, and even systems of little reknown. To that end I'm curious what it would take to add such support to mame in a sustainable, cross-platform way, likely via sdl2 - even if it's just rumble and not "real" force-feedback. There had been some past interest in adding such support but that seems to be gone now, though if anyone does show serious interest I'm willing to help out in any way I can. It just seems like it could add a lot of value.

Re: Cross-platform rumble [Re: Shoegazer] #113772
08/07/18 09:37 PM
08/07/18 09:37 PM
Joined: May 2009
Posts: 1,679
J
Just Desserts Offline
Very Senior Member
Just Desserts  Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,679
There isn't any sort of cross-platform standard for force feedback. There isn't even any sort of single-platform standard for force feedback. It's an anything-goes nightmare out there, one that the devs have rightly decided should be in the wheelhouse of those who are more passionate about human interface devices than emulation.

To that end, MAME already exports many of these games' force feedback outputs in a form that can be accessed from another application while MAME is running. We've built the first half of the bridge, it would be nice to not have to build the other half, too. It also doesn't lose us any additional more users we haven't already lost by not doing so.

To the "value-add" comment, I know you're an oldbie too so you probably don't mean it like this, but it really gets under my skin. MAME is not a Big Mac, the individual team members don't typically go in for "value adds", they go in for whatever they would like to work on at any given time.

Re: Cross-platform rumble [Re: Shoegazer] #113773
08/07/18 10:14 PM
08/07/18 10:14 PM
Joined: Mar 2010
Posts: 126
S
Shoegazer Offline OP
Senior Member
Shoegazer  Offline OP
Senior Member
S
Joined: Mar 2010
Posts: 126
Hey thanks JD. I had figured that at least rumble was achievable given that other emulators (dolphin, pcsx2 etc.) have been able to do it through sdl2. Force-feedback being a different animal of course, though at least things like Playstation dual-shock controllers could be supported even if FF could probably only be approximated.

I'm aware of mame's "first half" support which was added many years ago with other applications like this one providing the other half. I just figured in the modern era there'd be a way to avoid the external assembly of both halves, which can be challenging especially when one of them is single-platform (the latter being Windows-only for example).

Also you're right, I didn't mean anything by the "value add" comment though I could have phrased that better to avoid "business-speak". I was only thinking that support for one feature could benefit lots of drivers relying on it, I probably should have just said that. smile

Re: Cross-platform rumble [Re: Shoegazer] #113774
08/08/18 07:41 AM
08/08/18 07:41 AM
Joined: Dec 2013
Posts: 118
X
xinyingho Offline
Senior Member
xinyingho  Offline
Senior Member
X
Joined: Dec 2013
Posts: 118
It looks to me that joystick/joypad input management has always been a complicated mess. If I remember well, currently MAME's managing those inputs with a mix of DirectInput and XInput on Windows and with SDL2 on Linux and macOS.

After a quick research on Google, it looks like those 3 APIs do have force feedback related functions, so one way to enable force feedback in MAME is for somebody to mirror this to MAME's output subsystem. But doing the same mess just for force feedback is definitely not as rewarding...

Re: Cross-platform rumble [Re: xinyingho] #113775
08/08/18 07:52 AM
08/08/18 07:52 AM
Joined: May 2009
Posts: 1,679
J
Just Desserts Offline
Very Senior Member
Just Desserts  Offline
Very Senior Member
J
Joined: May 2009
Posts: 1,679
Originally Posted by xinyingho
After a quick research on Google, it looks like those 3 APIs do have force feedback related functions, so one way to enable force feedback in MAME is for somebody to mirror this to MAME's output subsystem. But doing the same mess just for force feedback is definitely not as rewarding...


Just to clarify what I only alluded to: There is effectively zero standardization in terms of force feedback, so even if someone were to plumb up the necessary OSD-side functions to hook the outputs up to OS-specific force-feedback functions, the end result would vary wildly depending on which controller was implemented.

Some wheels can provide variable levels of resistance, while some just rumble, some can do both. Some controllers just have one off-axis motor. Some controllers have two off-axis motors, one on the left and one on the right. Some controllers have four off-axis motors, two on the left and two on the right, with one of the two being smaller and the other being bigger, in order to have access to more subtle effects. That's just in terms of rumble - don't get me started on the other ways players can receive haptic feedback.

Now, onto this myriad of devices, you have to find some way of mapping controller rumble, chair rumble, wheel rumble, wheel resistance, wheel self-turning, fans, bicycle pedals with variable resistance. An entirely subjective call, because who decides what we even bother trying to map onto the host's force feedback capabilities?

So, yeah. In order to avoid people having a miserable shit-show of a user experience manually spending hours to manually configure a controller for every single game that they want to use it with, we avoid the issue entirely. I'm just fine with that.

Re: Cross-platform rumble [Re: Shoegazer] #113776
08/08/18 12:49 PM
08/08/18 12:49 PM
Joined: Mar 2001
Posts: 15,988
USA
R
R. Belmont Offline
Very Senior Member
R. Belmont  Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 15,988
USA
I do think that's throwing emulated consoles, which typically have one effect, (a sine-wave rumble of variable duty cycle) out with the bathwater. SDL2 at least lets you query if a controller supports that specific effect and you can go on your way ignoring it if not.

Re: Cross-platform rumble [Re: Shoegazer] #113777
08/08/18 05:32 PM
08/08/18 05:32 PM
Joined: Oct 2006
Posts: 966
S
Stiletto Offline
Senior Member
Stiletto  Offline
Senior Member
S
Joined: Oct 2006
Posts: 966
I was wildly ahead of the times in attempting to even list the effects: https://groups.google.com/forum/#!topic/rec.games.video.arcade.collecting/swZ7MSXFmH8

(at least bdam found it interesting: http://forum.arcadecontrols.com/index.php?topic=101789.msg1188484#msg1188484)

Last edited by Stiletto; 08/08/18 05:33 PM.

Who's Online Now
0 registered members (), 55 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Shout Box
Forum Statistics
Forums9
Topics8,566
Posts111,891
Members4,805
Most Online225
May 26th, 2014
Powered by UBB.threads™ PHP Forum Software 7.6.1.1
(Release build 20180111)
Page Time: 0.022s Queries: 14 (0.007s) Memory: 5.6366 MB (Peak: 5.8316 MB) Zlib enabled. Server Time: 2018-08-19 21:45:47 UTC