That table was kind of a experimental table with me learning new things, the code has completely changed. The ball doesn't sink any more, it was just on your 3 demo tables that it did. I have a Nvidea card, so maybe your latest update fixes it.
Here's my latest xml (external)
Code:
<?xml version="1.0" encoding="utf-8"?> <document> <!-- Custom Physics for Jungle Girl --> <physics slope="5" fps="296" threaded="1"></physics> <!-- Settings for various objects --> <ball newtonDamping="0" mass="46" gravity="8500.0" damping="0.01"></ball> <flipper rotationSpeedChart="{0.0,3.0},{20.0,5.0},{38.5,11.7},{55.0,30.0},{77.0,100.0}[0.0,200.0],[5.0,5.0],[30.0,15.0],[60.0,100.0]" newtonDamping="0.01" mass="8500" omega="44" damping="0.05" moeMethod="0" leftXoff="2" leftYoff="1900" leftZoff="2" rightXoff="2" rightYoff="1900" rightZoff="2"></flipper> <bumper impulse="80.0" impulseRandomness=".04" vectorRandomness=".04"></bumper> <autoplunger mass="20000.0" force="60000.0"></autoplunger> <diverter mass="10000.0" omega="28.0"></diverter> <!-- GATE: Mass controls force of gate: Damping fixes error with ball stuck on gate. Between .25 and 3. A higher value will cause ball to be stuck --> <gate mass=".1" gravity="500.0" damping=".25"></gate> <kicker impulse="650.0" vukImpulse="1400.0" impulseRandomness="10" vectorRandomness="10"></kicker> <plunger mass="25000.0" force="38000.0"></plunger> <slingshot impulse="550.0" impulseRandomness="6" vectorRandomness="4"></slingshot> <spindisk mass="10000.0" angularDamp="0.33" linearDamp="0.25"></spindisk> <spinner mass="60.0" gravity="100.0" angularDamp="0.25" angularAccel="5.25" spinDampLoose="0.55" spinBackLoose="1.70" spinDampNorm="0.75" spinBackNorm="1.80" spinDampTight="0.95" spinBackTight="1.90"></spinner> <emkicker mass="20000.0" omega="80.0"></emkicker> <varitarget mass="500.0" damping="0.9" tension="3.0" return="15.0"></varitarget> <magnet impulse="10.0" impulseRandomness="2"></magnet> <!-- Nudge Settings --> <nudge impulse="120.0" impulseRandomness="25.0" warningLevel="250" leftAngle="60" upAngle="0" rightAngle="320" vectorRandomness="5" visualDistance="1" waitPeriod="300" maxBallVelocity="500.0"></nudge> <!-- Materials Settings --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.02"></defaultMat> <!-- Material Settings for surfaces marked as playfields --> <playfieldMat softnessCoef="0.03" elasticCoef="0.1" staticFriction="0.1" kineticFriction="0.03"></playfieldMat> <!-- Primary Material Types --> <!-- elasticCoef - Sets the default coefficients of elasticity for the material defined by the interaction between two physics groups.--> <metalMat softnessCoef="0.01" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.01"></metalMat> <plasticMat softnessCoef="0.01" elasticCoef="0.05" staticFriction="0.1" kineticFriction="0.05"></plasticMat> <woodMat softnessCoef="0.03" elasticCoef="0.3" staticFriction="0.03" kineticFriction="0.03"></woodMat> <rubberHardMat softnessCoef="0.05" elasticCoef="0.5" staticFriction="0.06" kineticFriction="0.01"></rubberHardMat> <rubberIntMat softnessCoef="0.07" elasticCoef="0.6" staticFriction="0.06" kineticFriction="0.03"></rubberIntMat> <rubberSoftMat softnessCoef="0.09" elasticCoef="0.7" staticFriction="0.07" kineticFriction="0.06"></rubberSoftMat> <!-- Object Specific Material Settings --> <gateMat softnessCoef="0.05" elasticCoef="0.5" staticFriction="0" kineticFriction="0"></gateMat> <kickerMat softnessCoef="0.01" elasticCoef="0.05" staticFriction="0.8" kineticFriction="0.8"></kickerMat> <rampMat softnessCoef="0.01" elasticCoef="0.01" staticFriction="0.01" kineticFriction="0.01"></rampMat> <plungerMat softnessCoef="0.04" elasticCoef="0.5" staticFriction="0.02" kineticFriction="0.02"></plungerMat> <spindiskMat softnessCoef="0.05" elasticCoef="0.5" staticFriction="1.5" kineticFriction="2"></spindiskMat> </document>
I'm having a hard time getting my head around this, so if you see something wrong could you let me know?
Another thing I have problems with, is changing the angle of the ball within the code. I just can't find a example at the moment, or figure it out at least. What I want to do is cradle the ball and then give a quick flick of the key, and have the ball go back up that lane as opposed to heading straight up and hitting the sling post. This is a very common shot with all Bally tables, and I want to use this to fix angles and do a more realistic flipper to flipper transfer as a example.
Basically like this:
Code:
Sub RightFlipper ' If Ball is cradled and fully up then ' Release key and start decreasing omega value of flipper ' Add Timer delay between flipper pressed down and actual flipper movement to compensate for different keyboard hardware(maybe) ' have the ball move more to the right than it normally would based on time, omega and contact point of flipper
So I want to move the ball roughly 45 degrees right from the right flipper, or 45 degrees left from the left flipper with a cradled ball and weaker flippers. Just havent been able to figure out the base code for that, so asking if you can just put in a example of how to do that here.
_________________
_____________________________________
Latest projects and rants at My Facebook Page _____________________________________
Latest Project: Jungle Girl
TerryRed
Post subject: Re: Better Arcade Mode - MOD for Future Pinball
Posted: Thu Aug 16, 2018 12:41 am
Joined: Sun Sep 13, 2015 1:16 pm Posts: 309
Hey Rav...
The newer version of BAM.DLL seems to cause Masters of the Universe and The Goonies to crash. Other tables seems fine.
If I use FP Loader to load table and then run from editor... FP just crashes and closes. Using Future Pinball.exe on its own these tables run fine.
Using older BAM.DLL, these tables, and all others run fine. Others have reported the same problem.
Another thing I have problems with, is changing the angle of the ball within the code. I just can't find a example at the moment, or figure it out at least. What I want to do is cradle the ball and then give a quick flick of the key, and have the ball go back up that lane as opposed to heading straight up and hitting the sling post. This is a very common shot with all Bally tables
This may seem like a cheap fix but I was experimenting with Dynamic coding of Bam magnets and you can definitely use a magnet pulse to pull ball up inlane based on flipper press and you can dynamically alter magnet strength relative to ball velocity, contact point and flipper omega. This has the dual role of changing ball angle and assisting ball up inlane...
I would use ball velocity (xBAM.ball.speed < 50), Contact point ( FlipperExt.contact.point < 0.2) and Ball vector (direction ball is currently rolling) as trigger to pulse magnet up inlane with flipper press...
I believe the cradling technique involves rocking the ball and timing the quick flick when the ball is oscillating or slowly rolling retrograde down flipper towards inlane... That is the Ball vector I am referring to
The video above is just for proof of concept...it isn't using the rest of prehit code for flipper dynamics. And I am using xbam.ball.speed < 100 and contact point < .7 ( I widened the parameters to get it to work). And I am not using Ball Vector. but I think this will be important flag so we can use our normal flipper dynamics at other times (ie when ball is not rolling slowly retrograde over the flipper...)
Nice going. I have some of those settings in my present version right now with modifications for the Bally style. The magnet idea is interesting, but I think it's just better to adjust the ball angle. Rav did mention that angle can be changed, in the dynamic flipper breakthrough thread, so maybe there's sample code for that somewhere. (Function Atn2(x, y)???)
So maybe this is a workaround? have to redownload the balltracking demo, give it a study and see.
The first video is very good.My problem isnt my keyboard (it's a steel series) just old age and slow fingers. I did have a flick pass, but it also caused the ball through my flippers thing, but havent given up that. What I think is to setup a delay timer that the user can adjust the time, and have a delay at certain circumstances from when the user presses the key/short delay/start the flipper/check if keypress is still in progress. So, I'm thinking in code have the ball at a certain slow speed after a cradled ball, when it hits a contact point >1.0, then the timer comes on, and have a slower omega. The flipper will 'flick" a bit easier for people who have normal (non-mech or membrane) keyboards but it will be a optional setting. Still, have to be able to pull off the shot.
Boy, my brain is hurting from all of this. I'm thinking going to take time off from FP for a bit, I have other unfinished projects I would like to finish so maybe taking a break and working in VP for a while. I'm starting to get a bit frustrated so do something else for a short while, clear my head a bit and hopefully find the time I need to get my head around all of this and get it working. You never know, a solution may just pop into my head.
EDIT: On the ball through the flipper thing, now that I have the time today to think about it (been one of those months) it occured to me the simplest solution to my problem, maybe I accidentally set bad code as the default. Yikes
_________________
_____________________________________
Latest projects and rants at My Facebook Page _____________________________________
Latest Project: Jungle Girl
Gimli
Post subject: Re: Better Arcade Mode - MOD for Future Pinball
.I did have a flick pass, but it also caused the ball through my flippers thing, but haven't given up that
Flick pass does happen accidentally in first video above at 54 seconds, due to flipper Omega of 14.
I am not sure how Rav's "acceleration charts" work and whether a simple flipper "burst" can be coded.
This may seem artificial, but the flipper sequence is actually what happens when you cradle the ball..
1. you catch it by holding flipper 2.then you release it 3.then you use flipper
Flipper dynamics can be coded according to Sequence of Flipper Press/ Release, as I did in the Inlane shot above...
1. When the Flipperkey is first pressed "Flippersequence goes from 0 to 1" 2. When the Flipperkey is releassed "Flippersequence goes from 1 to 2" 3.then finally When the Flipperkey is pressed again the flipper dynamics are temporarily applied and "Flippersequence goes from 2 to 0"
And then the cycle repeats...
Sub FuturePinball_KeyPressed(ByVal KeyCode)
Code:
' If the Right Flipper Key Has Been Press, Activate The Right Flipper(s) If (KeyCode = GetKeyCode(RightFlipperKey)) Then If RightFlipperSequence = 0 then RightFlipperSequence = 1 End if If RightFlipperSequence = 2 then RightFlipperSequence = 0 If (RightFlipperExt.ContactPoint < 0.7) And (RightFlipperExt.ContactPoint > 0)And (xBAM.Ball.Speed =< 100) then MagneticField_1.Strength = 3.5:RightFlipperExt.Omega = 12:Magnet.Set True, 200 End if AddDebugText "RightFlipperSequence = " & RightFlipperSequence AddDebugText "MagneticField_1.Strength = " & MagneticField_1.Strength AddDebugText "RightFlipperExt.ContactPoint = " & RightFlipperExt.ContactPoint AddDebugText "xBAM.Ball.Speed = " & xBAM.Ball.Speed RightFlipper.SolenoidOn PlaySound "Flipper" End If
Sub FuturePinball_KeyReleased(ByVal KeyCode)
Code:
' The Right Flipper Key has been released, Turn Off the Right Flipper(s) If (KeyCode = GetKeyCode(RightFlipperKey)) Then If RightFlipperSequence = 1 then RightFlipperSequence = 2 End if AddDebugText "RightFlipperSequence = " & RightFlipperSequence RightFlipper.SolenoidOff End If
Turn off temporary dynamic settings:
Code:
Sub Magnet_Expired() Magnet.Set False MagneticField_1.Strength = 0 'Turn off magnet pulse RightFlipperExt.Omega = 43 'or whatever Default Omega is End Sub
It is currently Sat Feb 23, 2019 5:36 pm All times are UTC - 5 hours [ DST ]
Who is online
Users browsing this forum: No registered users and 3 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum