GoPinball.com
http://www.gopinball.com/forum/

Monster Bash
http://www.gopinball.com/forum/viewtopic.php?f=3&t=97
Page 58 of 75

Author:  blindpeser [ Tue Jun 26, 2018 12:35 pm ]
Post subject:  Re: Monster Bash

OK, the important thing is, if there is a value for the different positions on the flipper, similar to the multi flipper concept I worked with a couple of time ago. If it possible to save different values for mass and omega for different positions on the flipper, we won.

Unfortunately it will take a bit time untill I can test this, Zen just released 3 new tables for Pinball FX2 VR on Steam...

Author:  Gimli [ Tue Jun 26, 2018 12:48 pm ]
Post subject:  Re: Monster Bash

We absolutely can use it for phantom flippers. The red line is just for testing.

Rav, has responded and I am trying , what he calls "Prehit" mode where BAM anticipates hit speed in advance. :lol:

Then you have a code:

Code:
Sub RightFlipper_prehit()
  AddDebugText "xBAM.Ball.Speed: " & xBAM.Ball.Speed
If xBAM.Ball.Speed < whatever then
RightFlipperExt.Mass    =      20000 (or whatever you choose)
   RightFlipperExt.Omega   =        33 (or whatever you choose)
End if

If xBAM.Ball.Speed > whatever < whatever then
RightFlipperExt.Mass    =      1800 (or whatever you choose)
   RightFlipperExt.Omega   =        60 (or whatever you choose)
End if
   
End Sub


You can also use the code to change material composition on the fly :o
and Prehit Mode can apply to all surface collisions not just flippers ;)

I believe XBAM.Ball tracks location and direction as well as speed.....

Author:  blindpeser [ Tue Jun 26, 2018 1:29 pm ]
Post subject:  Re: Monster Bash

I dont understand much of this at the moment. But I have the feeling this could be something to make FP great again.... Have to rock the Zen VR Universal Pack for a couple of days and then I be here to contribute.

Author:  wild [ Wed Jun 27, 2018 12:54 pm ]
Post subject:  Re: Monster Bash

great job.... here, congratulations to the staff.

Author:  Gimli [ Wed Jun 27, 2018 1:38 pm ]
Post subject:  Re: Monster Bash

Thanks Paolo !

Author:  Gimli [ Thu Jun 28, 2018 11:41 am ]
Post subject:  Re: Monster Bash

GeorgeH, blindpeser and anyone who is interested...Dynamic Flipper Coding...proof of concept

Thanks to Rav !! :D

I don't have much time over the summer and now am having problems with my other home computer but here is a demo version of Monster BASH (Flug has the official working version)

This demo only version has a few physics tweaks to try:
1.Franky ramp should activate franky more predictably
2.right ramp should work more predictably
3.only one set of flippers
4.Added Smokes ball sound code (copy ZBRrollingballsoundslib.fpl and ZBRrollingballsoundslib.vbs files to same directory as table or in library /script FP folders,
see ZBRrollingballsoundslib readme..)
I have the music turned off so you can hear the rolling sound, but to turn music back on
simply remove the first "Exit Sub" in the Sub CheckSound routine

5.Added omega scripting for phantom flippers (but 6. likely will over ride these, will need to add flags to adjust for this)
6.First simple example of Dynamic Flipper coding using rav's new BAM.dll beta (enclosed)
and some coding

https://www.dropbox.com/s/141hs0nc1fle0 ... t.rar?dl=0

See line 483
Code:
'''''''''''''''''''''''''''''''''''Dynamic Flipper Mod'''''''''''''''''''''''''''''
       Dim RightFlipperExt
   Set RightFlipperExt       = xBAM.Flipper("RightFlipper")
   Dim LeftFlipperExt
   Set LeftFlipperExt       = xBAM.Flipper("LeftFlipper")

Dim prehitidx
prehitidx = 0
Sub RightFlipper_prehit()
   
   If xBAM.Ball.Speed < 300 then
   RightFlipperExt.Mass      =      20000
   RightFlipperExt.Omega     =        40
   End if
   If xBAM.Ball.Speed > 300 then
   RightFlipperExt.Mass      =      20000
   RightFlipperExt.Omega     =       25
   End if
   prehitidx = prehitidx + 1
   AddDebugText "on pre hit: " & prehitidx
   AddDebugText "xBAM.Ball.Speed: " & xBAM.Ball.Speed
End Sub

Sub LeftFlipper_prehit()
   
   If xBAM.Ball.Speed < 300then
   LeftFlipperExt.Mass      =      20000
   LeftFlipperExt.Omega     =        40
   End if
   If xBAM.Ball.Speed > 300 then
   LeftFlipperExt.Mass      =      20000
   LeftFlipperExt.Omega     =        25
   End if
   prehitidx = prehitidx + 1
   AddDebugText "on pre hit: " & prehitidx
   AddDebugText "xBAM.Ball.Speed: " & xBAM.Ball.Speed
End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


If you play in debug mode pressing F9 from table editor, you will see "prehit" numbers as
ball approaches flipper and the corresponding ball speeds.

I set just 2 omega values for flippers based on ball speed.
You can play with these number to see the difference.

Anyways, this is just proof of concept and rav has also provided code for not just tracking of ball speed , but also direction and position. So lots of potential :D

You can code Sub xxxx_prehit()
routines in this way for any collidable table object and even include code to change
material properties


Cheers

Author:  GeorgeH [ Thu Jun 28, 2018 4:28 pm ]
Post subject:  Re: Monster Bash

The table plays better now although Frankie's ramp still doesn't work quite right. I will try adding an extra kicker in the middle of the ramp. That should get the ball to the top without problems.

You're right the phantom flippers need to be adjusted.

What did you do to the 2 ramps? The right ramp is just about perfect.

George

Author:  Gimli [ Thu Jun 28, 2018 4:53 pm ]
Post subject:  Re: Monster Bash

Right Ramp:
I added a new Trigger that I called Trigger12b and assigned it to a new "surface" ( you'll see it in top right of table editor) called "RightRampFix" and set the height of that surface to 43-46 mm ( the height of the ramp that the trigger is on)

Left ramp (Franky Ramp):
I simply added a code to start FrankenStein Multiball if all franky body parts obtained and when you
hit any one of your FrankyBelt kickers
Although the kickers are still required at least now you can always start the multiball mode (before it was hit or miss)

Don't worry about phantom flippers right now, George.
Play with the new flipper code above and you'll see how you can code them to respond differently based on ball speed.

In my demo , I actually have the flipper strength/speed "omega" lower when the ball moves faster.
Which is opposite of what I had originally planned.

But this may make sense, I guess as perhaps a faster flipper speed meeting a fast spinning ball
might only amplify weird FP behaviour...who knows?

You of course can add more than two settings per flipper.
For example here is an arbitrary combination using 3 different speed tolerances:
Code:
 Sub LeftFlipper_prehit()
   
   If xBAM.Ball.Speed <=300 then
   LeftFlipperExt.Mass      =      20000
   LeftFlipperExt.Omega     =        50
   End if
   If xBAM.Ball.Speed > 300 < = 500 then
   LeftFlipperExt.Mass      =      20000
   LeftFlipperExt.Omega     =       35
   End if
  If xBAM.Ball.Speed >  500 then
   LeftFlipperExt.Mass      =      20000
   LeftFlipperExt.Omega     =        25
   End if
   prehitidx = prehitidx + 1
   AddDebugText "on pre hit: " & prehitidx
   AddDebugText "xBAM.Ball.Speed: " & xBAM.Ball.Speed
End Sub


Once you are on to it, you see how easy it is.
I wanted to start with just 2 settings /flipper to observe the results.
You obviously will notice the difference most readily if the 2 values per flipper are not close to each other ( ie set one Omega = 10 and the other at 70)

Eventually we can change the Rubber Elasticity, and Friction values as well if we want.. 8-)

For phantom flippers we'll need to add "Flag" so prehit isn't active if phantom flippers are about to fire....and that is easy to do as well

Author:  Gimli [ Fri Jun 29, 2018 11:11 am ]
Post subject:  Re: Monster Bash

https://www.dropbox.com/s/141hs0nc1fle0 ... t.rar?dl=0

Link updated:
Play in Debug mode ( press F9 from table editor to load)

1.Ball speed , Flipper Mass and Flipper Omega display when you use flippers
2.Phantom Flippers fixed. Phantom Flipper Settings will be displayed when they activate
3.Press "B" on Keyboard to activate continuous Ball Speed Monitoring
4.Press"V" on keyboard to inactivate continuous Ball Speed Monitoring

Author:  Gimli [ Fri Jun 29, 2018 6:12 pm ]
Post subject:  Re: Monster Bash

I forgot to mention, it is best to use the original Future Pinball, as some hacked versions disable debug mode, which is ludicrous :)

Page 58 of 75 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/