Force Feedback supported?
-
Hi all, apologies if I’ve missed somewhere where this question has already been answered recently.
With Moza, Thrustmaster, and likely other manufacturers making entries into the FFB market this year, I’m curious whether BMS supports or will continue to support force feedback.
Prior searches on this forum have yielded inconclusive results- it seems like it was supported through 4.36 but with 4.37, support has been dropped? Some users seem to have had luck on 4.37 just enabling FFB in BMS settings?
️
Either way, I don’t have an FFB stick of my own to test with, so just curious about the current state of things and if there are plans to continue supporting the use of FFB sticks as more options come to market.
As always, thanks to those of you who work so hard to keep this amazing game going, we’re all so grateful for the work you do!
-
@Jeremy-Jackson
Where did you find it supported to 4.36? Here’s a statement from less than 2 years ago@MaxWaldorf said in Force Feedback Broken:
not even sure if we even support that given that F-16 stick is force sensor based…
If this is broken, there is poor chance we will fix it…
-
@Atlas said in Force Feedback supported?:
If this is broken, there is poor chance we will fix it…
Reply
Yeah unfortunately it is not supported now.
Before it was.
For the F-16 may not be a problem.
But for example for the F-15 having the moving trim would be important.Just for clarification, no one is asking for unrealistic and fancy effects (shaking and so on), but a basic spring effect (for the F-16) and things like moving trim (for the F-15 and future modules) would be not so difficult to implement and an important part of flight management.
-
If no devs have interest in this or don’t have the hardware then there is poor chance this will be solved…
-
@Virus said in Force Feedback supported?:
there is a sharedmem area named “FalconIntellivibeSharedMemoryArea” that appears to have some outputs, intended for FFB systems.
I don’t know what adapter-layer software exists, for various FFB devices… it’s maybe an opportunity for community devs to step up and contribute.
a basic spring effect (for the F-16) and
what would this be, exactly? if there are easy things missing from sharedmem that we could add, to unblock interesting scenarios, now’s the time to learn about them
-
@airtex2019 If we are talking about FFB that has been integrated into the USB HID spec since the days of moving FFB away from joy ports and midi.
Shared mem is a solution for non of the shelf tools like motion platforms or or boom boxes. But if FFB support would be to be implemented IMHO the generic spec that is already existing should be used -
@oakdesign I do see some very ancient references in the code, re playing FFB effects via DirectInput. I think it’s fair to say, it has not been tested or maintained for many years.
I’m curious to learn … how does this work, in modern games – does one need a GUI to define mappings … similar to the way we map logical axes to physical {device,axis} tuple?
-
@airtex2019 Modern games are on GameInput instead of direct input but the principles apply.
Both provide a defined set of Effect types to be implemented on game side.
DirectInput FFB MS documentation
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee417563(v=vs.85)
mapping is usually done on the device driver side, So FFB devices come with their own GUI to pick up Effects and be able to manipulate the mappings in terms of strenth and so on -
What I meant is that for the F-16 just a basic spring effect would be good.
Actually the FFB base I use (FFBeast) is limp when using BMS and I have to use a workaround (creating a profile in the software with just spring effect).
For other aircraft the situation is different because the F-15 (the only other FF aicraft in BMS) has a moving trim, so when you use the trim, the stick phisically moves.
This is simulated in other sims (for example DCS and Il2).
My message is that noone is asking for fancy (and sometimes unrealistic) effects like gun shaking and so on, but just the basics.
I understand that no devs have interest or FFB hardware, but I think that the basic DirectX implementation would offer basic effects without too much effort.
About the shared mem, that could be used with the telemetry app some vendors offers that are used to augment the FFB effects (similar to what simshaker does).
For my FFBeast there is a telemetry app, but it doesn’t support BMS at the moment.
For other vendors there are other apps, and no-one that I know of supports BMS. -
@airtex2019 said in Force Feedback supported?:
@oakdesign I do see some very ancient references in the code, re playing FFB effects via DirectInput. I think it’s fair to say, it has not been tested or maintained for many years.
I’m curious to learn … how does this work, in modern games – does one need a GUI to define mappings … similar to the way we map logical axes to physical {device,axis} tuple?
The game can offer settings for tuning via a gui, but it is not so important with modern devices as they have their own software for tuning strenght and effects.
So step 1 would be to implement a basic simulated spring effect (so that the stick behaves like a normal spring based joystick), step 2 would be a DirectX FFB implementation, step 3 would be to fine tune it to add things aviation related, like moving trim.
About the actual BMS implementation, there is a checkbox in the GUI, but it is not possible to activate it.
Falcon 4 implemented FFB (I had a logitech wingman FFB back then) with basic spring effects, and some shaking for firing, bullets and so on. -
I’ve got little tech discussion to add but just wanted to say I love the response and openness to possibly implementing FFB again especially since there is a distinct possibility of more airframes in the sim. As Max said, if nobody picks up the project, it may be dead in the water, but active discussion of the topic (plus more airframes) greatly increases the possibility of dev interest.
-
I have a sidewinder ffb with an extension and f15 grip. The ffb works just fine with it - the stick is “sprung”, eg bms provides centring forces. I also get bumps when weapons come off the rails and a twisting motion when firing the gun.
Feedback.ini has a bunch of precanned fx in it which you can tweak. Oh, and I can tick the force feedback box in bms.
-
@rubbra cool, good to hear. I wasn’t able to immediately see why it wouldn’t still work, after glancing at the code.
It does look like maybe there are a lot of constraints, that haven’t been updated over the years… eg. it only supports FF on the “primary” device … I think that means, the device with pitch and roll axes … but maybe it (also) means, the first device in DeviceSorting.txt order?
-
@airtex2019 said in Force Feedback supported?:
@rubbra cool, good to hear. I wasn’t able to immediately see why it wouldn’t still work, after glancing at the code.
It does look like maybe there are a lot of constraints, that haven’t been updated over the years… eg. it only supports FF on the “primary” device … I think that means, the device with pitch and roll axes … but maybe it (also) means, the first device in DeviceSorting.txt order?
Oh cool…
but in my case it doesn’t seem to work.
Also in the GUI I cannot click on “enable FFB” (can’t remember the exact option).
So maybe my device is not recognized as an FFB by BMS? -
@airtex2019 Can confirm my sidewinder is top of my devicesorting.txt
-
@Virus Have a look at devicesorting.txt and put your ffb at the top?
-
if it’s of interest, this is what I have as feedback.ini - none of the ground/concrete effects are working, but I haven’t played with them much
[EffectData] numEffects=9 #effect0 is the gun fire effect [Effect0] flags=0x12 duration=-1 samplePeriod=0 gain=10000 triggerButton=-1 triggerRepeatInterval=0 envelopeAttackLevel=0 envelopeAttackTime=10 envelopeFadeLevel=0 envelopeFadeTime=100 effectType=0x1 constantForceMagnitude=3000 periodicForceOffset=0 periodicForcePhase=0 periodicForcePeriod=50 numAxes=2 axes0=0 axes1=1 direction0=0 direction1=0 #effect1 is the bounce effect, played on missile impact, etc [Effect1] hasDirection=1 flags=0x12 duration=20000 samplePeriod=0 gain=15000 triggerButton=-1 triggerRepeatInterval=0 effectType=0x1 constantForceMagnitude=5000 numAxes=2 axes0=0 axes1=1 direction0=1 direction1=0 #effect2 is auto-center [Effect2] flags=0x22 duration=-1 samplePeriod=0 gain=50000 triggerButton=-1 triggerRepeatInterval=0 numAxes=2 axes0=0 axes1=1 direction0=9000 direction1=0 effectType=0x4 conditionOffset = 0; conditionPositiveCoefficient = 10000; conditionNegativeCoefficient = 10000; conditionPositiveSaturation = 10000; conditionNegativeSaturation = 10000; conditionDeadBand = 0; #effect3 is the concrete strip effect, part 1 [Effect3] flags=0x12 duration=20000 samplePeriod=0 gain=10000 triggerButton=-1 triggerRepeatInterval=0 envelopeAttackLevel=0 envelopeAttackTime=0 envelopeFadeLevel=0 envelopeFadeTime=1000 effectType=0x3 periodicType=0 periodicForceMagnitude=9000 periodicForceOffset=0 periodicForcePhase=0 periodicForcePeriod=200 numAxes=1 axes0=1 direction0=1 #effect4 is the concrete strip effect, part 2 [Effect4] flags=0x12 duration=10000 samplePeriod=0 gain=40000 triggerButton=-1 triggerRepeatInterval=0 envelopeAttackLevel=0 envelopeAttackTime=0 envelopeFadeLevel=0 envelopeFadeTime=1000 effectType=0x3 periodicType=0 periodicForceMagnitude=9000 periodicForceOffset=0 periodicForcePhase=0 periodicForcePeriod=200 numAxes=1 axes0=0 direction0=1 #effect5 is the left wing bomb drop effect [Effect5] flags=0x12 duration=30000 samplePeriod=0 gain=30000 triggerButton=-1 triggerRepeatInterval=0 envelopeAttackLevel=5000 envelopeAttackTime=5000 envelopeFadeLevel=0 envelopeFadeTime=10000 effectType=0x1 constantForceMagnitude=6000 numAxes=1 axes0=0 direction0=-1 #effect6 is the right wing bomb drop effect [Effect6] flags=0x12 duration=30000 samplePeriod=0 gain=30000 triggerButton=-1 triggerRepeatInterval=0 envelopeAttackLevel=5000 envelopeAttackTime=5000 envelopeFadeLevel=0 envelopeFadeTime=10000 effectType=0x1 constantForceMagnitude=6000 numAxes=1 axes0=0 direction0=-1 #effect7 is the stall effect, part 1 [Effect7] flags=0x12 duration=30000 samplePeriod=0 gain=99999 triggerButton=-1 triggerRepeatInterval=0 envelopeAttackLevel=0 envelopeAttackTime=10 envelopeFadeLevel=0 envelopeFadeTime=100 effectType=0x3 periodicType=0 periodicForceMagnitude=8800 periodicForceOffset=0 periodicForcePhase=0 periodicForcePeriod=100 numAxes=1 axes0=1 direction0=1 #effect8 is the stall effect, part 2 [Effect8] flags=0x12 duration=30000 samplePeriod=0 gain=99999 triggerButton=-1 triggerRepeatInterval=0 envelopeAttackLevel=0 envelopeAttackTime=10 envelopeFadeLevel=0 envelopeFadeTime=100 effectType=0x3 periodicType=0 periodicForceMagnitude=8800 periodicForceOffset=0 periodicForcePhase=0 periodicForcePeriod=400 numAxes=1 axes0=0 direction0=1 [effect10] customForceChannels customForceSamplePeriod customForceSamples customForceForceData0Sample0 constantForceMagnitude periodicForceOffset periodicForcePhase periodicForcePeriod constantForceMagnitude rampForceStart rampForceEnd
-
@rubbra said in Force Feedback supported?:
@Virus Have a look at devicesorting.txt and put your ffb at the top?
I’ll try.
Thanks -
@Virus (of course this will mess up your button numbering across all devices)
if this is something I need to enforce, in the New Launcher, it’s a pretty easy fix
-
@airtex2019
Hi, I tried.
Now in the options inside BMS (controllers -> advanced) I have FFB automatically enabled.
But unfortunately the stick is still limp and I tried to trigger some effects, but nothing happened