BAM - FP Physics Tweaks. [vip]
Page 1 of 8

Author:  ravarcade [ Sat Oct 29, 2016 4:03 pm ]
Post subject:  BAM - FP Physics Tweaks. [vip]

Here is link to new BAM beta dll:
---> <---
Link above will always lead to latest BAM-beta.

I will add new fatures dedicated for table-devs & FP physics engine. It will be easier to find right physics parms for XML file.

Lets make FP physics better.
We have new submenu in BAM. Go to DEV options -> Physics Tweaks.
In this menu (for now) you have 4 options:

- Table slope - same as in FP editor. You can change it to higher values than in FP editor.
- Ball: Mass, Gravity, Damping - same params as in FP XML file.

** added oct 30 **
- Materials: softnessCoef, elasticCoef, staticFriction, kineticFriction - same params as in FP XML

** added nov 3 **
- Flipper: Mass, Omega - same param as in FP XML file

** added nov 5 **
- Save tableName.XML - Executed from Physics Tweak menu will save XML with NEW VALUES. Be carfull. It will overwrite old values.

** added nov 6 **
- Ctrl+C - in Physics Tweak menu will put in clipboard xBAM.PhysicsXML = "...". It is copy of current Physics Tweak XML. You may put it in script. So now in script you can change (some) of physics settings. It will change only values accessible in Physics Tweak menu: ball, flipper, materials.

** addad nov 16 **
- Added "Newton Damping" params for BALL and FLIPPER. In FP Newton Damping for BALL is zero, for FLIPPER is one. It makes objects to move/rotate slower in time. So when you activate flipper, it will rotate faster at begin of move and slower at end.
That param is saved in XML as "newtonDamping" for ball and flipper.

** added nov 21 **
- RotationSpeedChart - In FP activated flipper start to rotate with given "omega" speed and in time it slow downs. Now you can create charte with flipper speed (omega) in time. This chart is loded/saved from XML script and can be edited in "Physics Tweek" menu.

** added feb 5 **
- slope - table slope. Param from "physics tweak" menu is added to xml. This param will not be used, when table is loaded. Onle when xBAM.PhysicsXML is called from script (you can change table slope from script) or from "presets" on disk
- XML_Presets.txt - now you can keep in one file on disk set of physics-xml and switch between them in Physics Tweak menu. (only subset of physics setting can be changed this way). You can add/delete "set-of-params".
- flipper testing tool - not finished
- magnetic fields - will be described in another thread.

You can change values during the game and see the immediate impact of these values on ball behavior.

Know limits:
When you change mass of ball in this menu, it will change all balls. So if you have custom ball with different mass created in script, it will be changed too.

... there will be more ...

This FP upgarde is inspired by: GeorgeH, Gimli, smoke, Black Phoenix and others

Author:  malifica [ Sat Oct 29, 2016 6:39 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

This is wonderful development. Thank you!

Author:  blue [ Sat Oct 29, 2016 7:55 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

Very nice. I am assuming all the physics statements we can use with FP will be in there sometime? Working on my last game, it really was a long process, and discouraged me from more experimentation.

FP is a bit of a mess though, so it's nice not to have to worry about things with the different exe out there. If that can be done, then it means I can use the time instead on things like model collisions, and start replacing some of the models in the stock FP with new collisions shapes.

Author:  GeorgeH [ Sun Oct 30, 2016 9:49 am ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]


I appreciate you adding all the material settings.

There is a problem. The physics are different from the original (too slow) without making any onscreen changes in BAM. I compared the values that were in BAM to a print out of the numbers from the XML file. I verified all the values displayed in BAM were the same as the print out of the XML file (before I changed anything in BAM).

The problem is very obvious if you have "Addams Family ULTIMATE 1.10" from Slamt1lt's new web site that uses his Physics 2.7 but it is apparent on all the tables.

I'm not sure which parameter is not right but if I were to guess it might be "Damping". Maybe the decimal is in the wrong place?


Author:  ravarcade [ Sun Oct 30, 2016 11:07 am ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

GeorgeH wrote:
... guess it might be "Damping"....

You have 100% right. Problem is "damping" from ball XML param.
I'm almost 100% sure, that FP sets damping always to 0 for ball. So ball-damping value in XML is not used.
Did you ever tested it?

I updated beta BAM.dll
I have set that param at begin to 0.0. So value from XML (in .exe, .zip or .xml) is not used any more.

Author:  malifica [ Sun Oct 30, 2016 2:32 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

I updated beta BAM.dll
I have set that param at begin to 0.0. So value from XML (in .exe, .zip or .xml) is not used any more.

I don't think we want to have BAM ignore and/or override any values in an XML/ZIP file, be it damping (which is very important and controls the kinetic feedback interaction) or any other.

You may want to have all XML parameters loaded as defined in the XML upon loading the table, and then within BAM dev menu have a set to 0 option.

We should all get into the habit of always providing a .fpt and .zip with EVERY table release. In fact, we should probably load up all the old tables in BAM with the corresponding .exe and export the settings to XML from BAM and repackage into a zip file with at minimum, a BMP and XML folder.

Should we make this the norm, it solves the fragmentation problem we currently have with multiple executable files, physics 2.xx and zed ult1mate APOCALYPSE physics and so on.

Personally, I'd love to see the the .fpt .fpl(s) .zip then put in a .BAM file (just a renamed 7z or zip) for even further intent to clearly state that you MUST have BAM installed and as long as you have any FP.exe installed you can play this table as intended.

I understand my perfect world scenario may cause issue with some cabinet front-ends, but some simple batching out of the files and/or a proper BAM database (lets store high scores, table designers could set up achievements, artwork, etc) that makes the other front-ends think the .fpt files are where they should be...

Oh well, regardless of the extra stuff I mention, I'll reiterate that I would need to stop using BAM if it does not load ALL parameters from the XML file since I would no longer be able to A and B different settings effectively while calibrating a table.

Thank you for all your time you put into this project as it has been a godsend for me as a physics nut.

Author:  malifica [ Sun Oct 30, 2016 3:12 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

Regarding the XML that is exported via BAM. Is BAM capturing the data from the other flippers (upper playfield, lock lane, etc.) and can this data be manipulated in XML?


Author:  blue [ Sun Oct 30, 2016 3:13 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

ravarcade wrote:
GeorgeH wrote:
... guess it might be "Damping"....

You have 100% right. Problem is "damping" from ball XML param.
I'm almost 100% sure, that FP sets damping always to 0 for ball. So ball-damping value in XML is not used.
Did you ever tested it?

I updated beta BAM.dll
I have set that param at begin to 0.0. So value from XML (in .exe, .zip or .xml) is not used any more.

I did, and can tell you ball damping definitely does work... :)
I set mine to .60, seemed to work fine with a slightly heavier ball and a slightly larger ball mass, but that is very subjective.

As to the multiple exe, this is in all honestly, the developers fault. He pretty much abandoned FP years ago, and didn't leave anyone with any authority to authorize and coordinate any changes. The net result is this mess of multiple exe's and it has really hurt development and improvements to FP since.

I can understand the "respect" level here, but, he should at the very least next time when he comes down here to at least say something, and tell us if it's okay to improve the program and fix bugs, or at least have someone caretaker the project under his conditions.

This thing with the multiple exes is a real sore spot with me.

I think the only solution with BAM is to just choose one exe (One with the white texture fix and a higher model limit) have support for only that exe hard coded in in FPLoader (like say zed x64/x32) and just make people play just that one exe with BAM, with the physics adjustable in the menu. It's such a pain in the butt for me as a table dev having to constantly hand hold people because they use completely different exes than what I state very clearly, don't bother to read the help manual, and then complain public-ally my game doesn't work.

It makes me look bad, even though it's not my fault, and it makes FP look bad, because of all the crap dished out about the physics over the years. A standard set exe renamed so it doesn't interfere with the stock Futurepinball.exe name would be nice, badly needed, and would solve the mess of people using completely different exe's with BAM.

Author:  GeorgeH [ Sun Oct 30, 2016 3:18 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

ravarcade wrote:
GeorgeH wrote:
... guess it might be "Damping"....

Did you ever tested it?

I have tested it extensively. I adjust damping on the custom physics for every table I have ever done. It was how I was able to guess the parameter it was. Your first BAM.dll had the characteristics I am used to but it was just set much too high. Now that I think about it, your first version of the BAM.dll appears to have a multiplication factor built into it. When I tried a Physics 1.0 table which has damping set to 0.25, the effect was not as great as the table that uses Physics 2.7 which has damping set to 0.66 although both tables had damping set way too high. The effect was just greater on the Physics 2.7 version.

I'll have to agree with Malifica that we shouldn't just disable the damping. Maybe the "Future pinball.exe" alters the value somehow in a different part of the code. If you can't figure it out, I suggest that we remove damping from the "BAM.dll" and I can keep adjusting it the way I had been in the XML file.

In reply to Malifica, I don't think we need to change the way we handle XML and ZIP files. In fact, I use a "Default.xml" file on any table that does not have an XML or ZIP file. So I don't actually use the internal physics of the "Future pinball.exe" on any table.

Author:  malifica [ Sun Oct 30, 2016 4:03 pm ]
Post subject:  Re: BAM - FP Physics Tweaks. [vip]

I agree with both of you, blue and GeorgeH, regarding the xml and exe issues.

I am looking at this as an applications developer that has had to also provide direction to onsite IT management and help desk personnel, with the added hope of a supposed 'clean slate' in the near future for our hobby.

The phrase Keep It Simple Stupid is my professional mantra.

First off, I'd suggest that getting FP up and running is still quite simple. Second I would never suggest we infringe on the FP IP and the intentions of the owner. Has anyone ever contacted him with a formal proposal to either opensource (warts and all) or allow for the community to license the rights from him for further development and embrace the derivative forks (read: hacked) that have, and are sure to continue to happen?

The whole FP world is so much more attractive to me as DIY person since we don't go the ROM route and the Original Art here is flipping not only FUN, but professional level stuff.

Having said that. I believe we can move elements of FP (lets call it BAM from here on out in this post) plenty far forward and make it even easier for both end users and table authors alike.

First we need the community to make a sea change. And it may be best to "include" an exe in BAM that is the defacto exe (model limit, etc) that would never be altered to influence physics, graphic and other other element functions that are currently available for modification via the data folders going forward.

I believe we need to determine a set minimal requirement for what BAM is going to expect in a table file (or folder). Personally I think every table should have an XML file (even a blank placeholder for continuity) included with it. (The whole multiple exe thing is just semantics as the XML data is just "hard coded" into the various exe files.) I also think we should remove reliance on the library expectations, yes it was necessary in the dial up and potato cpu days, but as a designer include that stuff in your release zip. ALWAYS!

Currently I use fploader.exe (change this to BAM.exe) exclusively. I haven't physically clicked on an FP executable in ages. There is no point. So...

Lets start calling these tables we make, BAM tables, and throw in a Future Pinball Compatible caveat as a disclaimer... but force the mentality that BAM is what this is, and rid ourselves of the BS history of "poor physics" "crappy home made tables" blah blah blah. Because most of us are NOT using FP as it was originally intended and left to us by its creator.

I think I got off track here... anyway. I hope this all makes sense.

I want BAM as my one stop shop holy grail front and back and sideways pinball application thingy.

Page 1 of 8 All times are UTC - 5 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group