1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

News Alternative Plugin for DCS World

Discussion in 'Digital Combat Simulators (DCS)' started by RiftFlyer, May 30, 2016.

  1. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    EDIT: Plugin removed pending further changes and refinement.

    Hi Guys,

    I set out to try and get a force for my G-Seat project which was not available in the plugin posted by value1. stationary pirouettes in helicopters were not resulting in any lateral force (yaw is not usable as it reverses after 180 degrees). I have added the slipball value as extra1 to resolve this.

    What started as a straightforward project snowballed a bit when I saw that others were looking for an alternative force output for roll. Many don't like how the current output flips direction at 180 degrees (which is the correct behaviour just not what everyone wants to feel). I tried outputting the turn rate needle but it didn't provide usable results (due to oscillations when it returns to centre). I studied a bit more lua and now have another force output on extra2. This force is the rate of change of bank angle over time. The raw results were very sensitive and showed a lot of jitter. This may have been due to my framerates on my laptop which I used instead of my game PC but I decided to average the value every few frames anyway to try and smooth the result.

    My GSeat is still under construction so I have no good way to test the results. The output is still a little less clean than that of the other forces when viewed on the virtual axis (on my laptop). With the blessing of value1 who provided me the original source code to work with I now offer up my work to the community to test and provide me with feedback.

    The plugin should be installed with the updater. The game may need to be re-patched to install the new lua file in DCS

    I'm particularly interested in knowing if people think the force on extra2 is useful and how clean the output feels. Please also let me know your frame rate if you test it.

    Thanks again to @value1 and also to @yobuddy for their help getting me up and running with this.
    • Like Like x 2
    • Winner Winner x 2
    Last edited: Apr 28, 2017
  2. yobuddy

    yobuddy Well-Known Member Staff Member Moderator SimAxe Beta Tester SimTools Developer Gold Contributor

    Joined:
    Feb 9, 2007
    Messages:
    5,133
    Occupation:
    Computer Technician
    Location:
    Portland, Oregon - USA
    Balance:
    47,904Coins
    Ratings:
    +5,027 / 16 / -0
    I don't really understand what's holding you back with the regular DOF inputs?
    Why do you have to modify the plugins?
  3. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    I'm building a G-Seat for use with helicopters in DCS. The existing plugin had zero output for a constant rate hovering pirouette in a helicopter. This is now achieved with extra 1.

    The additional force (extra2) for use in place of roll was requested by other members who wanted an output similar to that in the elite dangerous and fsx plugins. I won't be using it with my GSeat but for those with a rocker type platform it may be a useful alternative. It outputs a constant force based on roll rate rather than following the roll output of the ADI which switches direction after 180degrees.
    • Informative Informative x 1
  4. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    For those who try the new plugin I want to add a few notes

    Extra1: slipball

    I was not able to include this force for every aircraft in DCS as I don't own them all and the variable name changes between aircraft.

    Those currently included are:
    UH-1H Huey
    Ka-50 Blackshark
    SA342M Gazelle
    Mi-8 Hip
    Su-25T Frogfoot
    A10C Warthog
    F-86F sabre
    P-51D/TF-51D Mustang
    FW190-D9 Dora

    If anyone has access to other aircraft not on the list, would like to have the slipball force added and is willing to look up some code in their DCS directory then please contact me. I do own the Hawk but that thing is coded completely differently to everything else in DCS so I was unable to find the correct variable. It needs a lot of work in other areas too so I'm sorry I bought it lol.

    Extra2: Alternative Roll

    This should work for all aircraft. The max min value for this force was set using the P-51D. Other aircraft with faster or slower roll rates may need the max min values in tuning centre adjusted. I'm sure something like the Mirage would need higher values. Please have a look at the tuning centre if you prefer the faster jets.
    • Like Like x 1
  5. Adrianstealth

    Adrianstealth Active Member

    Joined:
    Nov 18, 2010
    Messages:
    158
    Occupation:
    director
    Location:
    england
    Balance:
    328Coins
    Ratings:
    +37 / 0 / -0
    My Motion Simulator:
    SCN6, 4DOF
    Thanks for your reply rift

    Re.my pitch feeling strange with this plugin was Maybe it was me messing things up, the actual new movement of roll returning to centre I find distracting it would work for racing simulation but to my surprise not for planes,

    Roll really does have to be set like the pitch is set ........at 180 degrees the motion still tracks that of the aircraft
    EXCEPT in reverse until centre is reached then it reverses again so motion is always attached to aircraft movement but without horrid bug that exists in the official plug-in which is a nasty "catch up" of the seat moving to the opposite side

    Great efforts though rift you clearly are trying your best to improve things its a big shame Valve can not help and then you'll know how to do it

    Ps apart from the dreaded roll bug, all else is ok on the plug-in ( original sway and heave titles are mixed up)
  6. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    Thanks for the feedback @Adrianstealth. The current extra 2 channel outputs a constant force throughout the maneuver in the direction of the roll. It returns to level once the roll stops (irrespective of whether or not the roll stops level with the horizon). The amount of the force applied (amount your platform will lean) depends on the rate of rotation. So it is based on roll rate rather than roll angle.

    The default roll output is a force based on the angular position of the aircraft relative to the horizon. So it has to 'switch sides' after 180 degrees. Could you explain to me using the four points of a roll what position you'd like your seat to be in? Take level, knife edge left, inverted, knife edge right and finally back at level as examples and tell me where the seat should be and what direction it should be moving at each of the four points? I have an issue understanding what it is you want.

    The current output on roll is correct although I understand the feeling you are experiencing may not be (due to the movement of the seat from one extreme to the other at 180 degrees). The alternative I think you are describing is to have the seat lean left in the first quarter of a roll. Return to level in the second quarter of the roll (we are now inverted and our seat is level). Then lean right during the third quarter roll then return to level during the final quarter (back in level flight seat is level). Is this what you have in mind? This I think I could do as an experiment but I don't think it will be to everybody's taste. The problem is the second and third quarters of the roll are applying a force in the wrong direction! If I've understood you correctly let me know and I will get to work on it for you to try out. I don't think it will be as you expect. You've to remember that pitch is different as gravity is acting on the axis of rotation.
    • Informative Informative x 1
  7. Adrianstealth

    Adrianstealth Active Member

    Joined:
    Nov 18, 2010
    Messages:
    158
    Occupation:
    director
    Location:
    england
    Balance:
    328Coins
    Ratings:
    +37 / 0 / -0
    My Motion Simulator:
    SCN6, 4DOF
    Hit a rift

    Exactly the same as the pitch but only side to side for roll ( not forward and back for down and up )

    At 180 degrees the mid point is reached, at this point the seat stops moving further and instead follows the roll of the aircraft but in reverse until aircraft reaches the full 360 degrees ......the seat is then back I'm the centre

    So the roll will continue to match exactly what the aircraft is doing in a full 360 degree roll
    with the seat starting to return to centre as the plane starts to turn up side down ( after 180 degree )
    And will follow these rules regardless

    Eg :
    plane rolls right ( clockwise ) -the seat moves clock wise

    Plane passes 180 degrees starts to become up side down -seat changes direction and starts to move back to centre following the roll of plane,

    So when plane gets to 180 degrees to become up side down the seat reverse's the effect but stays with the motion of the plane, whilst the plane is going up side down ( passed 180 degree ) the seat is moving in opposite direction to the roll of the aircraft




    Same as pitch when going up to the sky for a loop the loop seat maybe vest back ,
    At 180 degrees ( front of plane pointing directly up and about to go up side down ) the seats starts to come forward matching the plane passing 180 degrees

    best way to describe it is when plane is up side down ( passed 180 degrees ) the seat moves opposite to when the plane is the right way up ( right way up 180 degrees )

    The important thing is the seat always sticks to the motion of the plane and only reverse's effect seamlessly at that 180 degree point

    The pitch does it perfect


    Its the same in racing simulation in a crash and the car flips side ways or front flips
    The effect actually feels correct and it does fool the brain seamlessly
    ( of course its not but its a really great solution for rocker chair )
  8. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    EDITED to try and make it clearer

    @Adrianstealth Ok. Now I think I understand. What you describe is still going to have the platform moving the wrong direction for half the roll maneuver.

    It would be very difficult to implement. The output for roll from the sim is in radians which are then converted through maths to degrees. The range is the following with 0 as level.

    -180-------------- 0 --------------- 180

    As the aircraft rolls left it goes from 0 to -180 at which point you are upside down. From this inverted position if the roll continues the output immediately goes from -180 to +180 (this is what causes your platform to switch sides). It then goes from +180 back to 0 as the roll finishes. You want it to go from -180 back to 0 for the second half of a left roll??

    What if you stop rolling after 3/4 of the left roll? You're seat will be leaning left at half its range of movement (on its way back to level) yet your aircraft is banked right!

    What if you decide to fly inverted for any extended period? Your platform will be leaning either fully left or fully right yet your wings are level!

    Edit: Imagine if the same logic is applied to a right roll as above. Level is zero. We roll right so the output goes from 0 to 180. The aircraft is now upside down and we are leaning fully right. We continue the roll so we go from 180 back to zero and your platform is now level again. Think about what happens if the two are then combined (not even accounting for the fact the plugin now also needs to know the direction of the roll and not just the angle as you want the same output from the sim to give two different outcomes). Take the 3/4 roll example above a stage further. You do a 3/4 roll to the left like above. Your aircraft is now in a knife edge bank to the right. Your seat is leaning left! Now let's start rolling the other direction. What will happen your seat? It will quickly have to switch sides!

    This is where the problem with implementation should become apparent and is why I implemented extra 2 as a roll rate rather than a roll angle.

    I think what you are describing is not possible to achieve. It's not a maths problem it's just not physically possible. Please take some time to imagine the movements and you will see that what you are requesting just wouldn't work.

    If others have any thoughts on this I'd welcome their input. Perhaps my logic is flawed or maybe I'm still not understanding what you want! You haven't answered the question I asked previously where I used the four points of a left roll as an example.
    Last edited: Jun 3, 2016
  9. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    Your pitch example above is incorrect Adrian. the pitch output never goes to 180. If you watch tuning centre values you will see the output is:

    -90----------- 0 ------------ +90

    Maybe that is causing some confusion.
  10. Adrianstealth

    Adrianstealth Active Member

    Joined:
    Nov 18, 2010
    Messages:
    158
    Occupation:
    director
    Location:
    england
    Balance:
    328Coins
    Ratings:
    +37 / 0 / -0
    My Motion Simulator:
    SCN6, 4DOF
    To what ever point, the end of the movement is when the plane goes up side down
    the movements continue to track but in reverse ,

    If user suddenly decides to stop the plane rotating and moves back the seat simply does the same
    Which ever way it is ( - or + of the effect ) the seat then always return to the centre position if the plane is perfectly in line with the horizon whether right way up or up side down

    The important thing I it tracks the plane movements 100%

    If you can some how see how the current pitch is programmed ...this is how it works perfectly
    The roll that is broken only

    This is how its done correctly, even in in sim racing (using Simxperience sim commander)
    If the car rolls and rolls or flips etc in a bad crash motion works as I've described above

    It really does fool the brain too and its a great effect
  11. Adrianstealth

    Adrianstealth Active Member

    Joined:
    Nov 18, 2010
    Messages:
    158
    Occupation:
    director
    Location:
    england
    Balance:
    328Coins
    Ratings:
    +37 / 0 / -0
    My Motion Simulator:
    SCN6, 4DOF
    When I refer to degrees I'm referring to the actual plane in full rotation

    What ever the coding degrees as long as the end is matched to the actual on sim plane at 180 degree so the reversal of effect is correct that's all that matters

    Ps thanks for your interest and efforts here rift ! I hope I'm explaining thing's well
  12. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    Sorry Adrian but you're not making sense. You've contradicted your previous posts and still haven't answered the question I asked regarding the positions of the seat at four points in a complete roll.

    Post #7 -
    "Eg :
    plane rolls right ( clockwise ) -the seat moves clock wise
    Plane passes 180 degrees starts to become up side down -seat changes direction and starts to move back to centre following the roll of plane,
    So when plane gets to 180 degrees to become up side down the seat reverse's the effect but stays with the motion of the plane, whilst the plane is going up side down ( passed 180 degree ) the seat is moving in opposite direction to the roll of the aircraft"

    Post #10 -
    "If user suddenly decides to stop the plane rotating and moves back the seat simply does the same
    Which ever way it is ( - or + of the effect ) the seat then always return to the centre position if the plane is perfectly in line with the horizon whether right way up or up side down"

    In post seven you state the seat changes direction once the plane is upside down and starts to return to level. In post 10 you state the seat is always in the centre position if the plane is perfectly in line with the horizon whether right way up or upside down. Which is it? It can't be both. It's either level or at the extreme and changing direction. What you've said in post 10 is exactly what I described in post 6. Please take the time to consider the example of a left roll and the four points it passes. left knife edge, inverted, right knife edge and level. describe where you want the seat at each position and what direction it's moving between the points. Until I am perfectly clear as to what you want I can't possibly try and code it. Degrees seem to be confusing the issue so just take the four positions and step through them for me. That way I might be in a better position to code something for you to test.
  13. Adrianstealth

    Adrianstealth Active Member

    Joined:
    Nov 18, 2010
    Messages:
    158
    Occupation:
    director
    Location:
    england
    Balance:
    328Coins
    Ratings:
    +37 / 0 / -0
    My Motion Simulator:
    SCN6, 4DOF



    At 30 seconds is a decent example +Around 2.15 is an ok example
    There we go, obviously prosim are using their own software for motion

    I'd do you a vids myself of rolling a sim car but I use VR
    • Like Like x 1
    Last edited: Jun 4, 2016
  14. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    20,460
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    St Helens, Tasmania, Australia
    Balance:
    144,596Coins
    Ratings:
    +10,741 / 52 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    I think what @Adrianstealth is trying to convey @RiftFlyer is it would be desirable if te DCS plugin behaved as Etra1 and Extra2 have been implemented in the FSX/Prepar3D plugin.

    To use that as an example if you roll right using Extra axis instead of the roll axis the sim will move that way and stay there at the limit of its travel until the control is released. I also use a fair bit smoothing mixed in to control how fast the seat returns to neutral when the stick is released.

    The effect is that you can do an 8 point roll and at each point it will give the sensation of rolling right, as when the stick is momentarily released the sim will actually return to the neutral position, though in VR the sensation is that you stop rolling. When you roll right to the next point it has axis travel to roll further right. If you stop inverted once the stick is released the sim returns to the neutral position.
  15. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    @noorbeast Thats exactly what extra 2 does at the moment and it's not what Adrian wants. He says He has tested it. What I've implemented tilts the seat in the direction of the roll and levels it whenever the roll rate is stopped. The amount it tilts is based on how fast you roll. So for an 8 point roll it will tilt in the direction of the roll and level itself eight times.

    @Adrianstealth you still haven't answered the question I posed regarding the four points of a roll. I watched your video on mobile but will have to watch it again on PC and slow it down. I don't need videos I just need the question I've asked four times answered so I can do as you've asked.

    EDIT: the roll in that video does not return to level when inverted like you've stated in some of your descriptions.
    Last edited: Jun 4, 2016
  16. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    Guys regarding the Extra2 in my plugin could those who have tried it please provide some feedback. How is it working for you?
  17. Adrianstealth

    Adrianstealth Active Member

    Joined:
    Nov 18, 2010
    Messages:
    158
    Occupation:
    director
    Location:
    england
    Balance:
    328Coins
    Ratings:
    +37 / 0 / -0
    My Motion Simulator:
    SCN6, 4DOF
    Hi Rift

    Happy Saturdays to you

    Plane right way up level with horizon = seat catered
    Plane 90 degrees = seat fully to relevant side
    Plane continues to roll in same direction =seat continues to follow movement but retuning to center
    (obviously will reverse again at any point if plane stops roll and rolls in opposite direction)
    Plane upside down level with the horizon = seat centered

    Seat movements continue in reverse until plane passes that 90 degree point again then seat movement will be correct direction to plane roll direction

    Ps no sopping , seat simply goes at or close to end ( when plane is on 90 degrees ) and starts moving back as plane rotation passes 90 degreess

    The current pitch works this way as does every other motion profile I've ever used (simexperience ones)
  18. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    @Adrianstealth Try this and see what you think. It behaves in the same way as pitch and is what I described in post number 6. Disable roll and try extra 2 instead.

    Left roll gives seat fully left at 90 degrees. Returns to centre when inverted. Fully right at the opposite 90 degrees and returns to level for the last quarter of the roll.

    Accept the new max min file when you install the plugin and repatch to ensure the new export.lua is loaded into dcs.

    EDIT: New plugin removed pending testing by @Adrianstealth
    Last edited: Jun 5, 2016
  19. Adrianstealth

    Adrianstealth Active Member

    Joined:
    Nov 18, 2010
    Messages:
    158
    Occupation:
    director
    Location:
    england
    Balance:
    328Coins
    Ratings:
    +37 / 0 / -0
    My Motion Simulator:
    SCN6, 4DOF
    Brill,

    Cheers rift I'll try it ASAP
    Sorry about spell mistake in my last post I type to fast
  20. RiftFlyer

    RiftFlyer Active Member Gold Contributor

    Joined:
    Apr 15, 2014
    Messages:
    195
    Balance:
    1,693Coins
    Ratings:
    +120 / 0 / -0
    My Motion Simulator:
    DC motor
    @Adrianstealth No problem. Have a look at the virtual axis in output testing section of game centre. It should behave like pitch. I'm not certain it's going to feel right though.