I have posted the XML files for all versions of physics here. I first started looking for older versions of physics when I noticed that the "Big Spender 2000 3.1" table specified using Physics 2.3. I had great difficulty finding Physics 2.3. I finally found all of the versions of physics as Future Pinball *.exe files which I converted to XML files. Ravarcade then added them to the BAM installation files. Before these files were added, the BAM installation files only included XML files for Physics 2.4 and later.

On the "Big Spender 2000 3.1" table, I concluded that the physics version the author must have intended was Version 1 because the ball will sometimes not come out of the wire ramp that goes around the bottom of the table using Version 2. Version 1 has a slightly higher ball mass than Version 2 so it gives it a bit more momentum. "Star Wars - Empire Edition 1.05" also uses Physics 2.3 also and plays pretty well.

I have added Slamt1lt's Physics 2.7 here as well that he uses for all the tables on his new site here:

I am also providing Malifica's XML file that he created as a general purpose physics file.

So here is the XML data. You can copy this data and paste it into Notepad and then save the file as *.xml. You might want to save these to this folder: C:\Games\Future Pinball\BAM\XML\. You should note that BAM does not use the files that are saved here in the program. The files are saved there just for your use so you may as well change them and add new files as you wish.

There is an easy way of adding an XML file to the script. You copy the content of the XML file from here or open any XML file with Notepad and copy the content. Then just paste the content of the XML file into the script and add a single quote to the beginning of each line of the XML. It is best to save it to the very end of the script so you don't insert it inside something else. Be sure to save your changes to the script before you try it. This change to BAM has existed for since 2013. Ravarcade describes it here:

Click on the following link to download all the available versions of physics from the following link. This download includes XML files for Physics 1.0, 2.0 through 2.7, Malifica's XML and the files for the 2 version of Zedonius physics:

<!-- Physics 1.0 (or original physics) processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.0 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.1 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.2 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.3, Version 1 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>

<?xml version="1.0" encoding="utf-8"?><document> <!-- Physics 2.3, Version 2 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.4 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.01" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.5 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.02"></defaultMat>

<!-- FP Slamtilt Rubbers Physics 2.5 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.6 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.02"></defaultMat>

<!-- Physics 2.7 processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.02"></defaultMat>

Malifica created what he envisioned to be a general purpose physics. His intention is to create a single XML file that works with everything including electro-magnetic and solid state tables. He wanted the end user to be able to use the XML file without having to change any of the strength settings on the table objects. I think he comes pretty close to meeting this objective. It is definitely worth trying if you want an easy replacement for Physics 1.0.

Of course, I am very particular about physics so I end up making adjustments. I made a few changes from the file he posted in the forum. I increased the nudge impulse from 80 to 120. I changed spinner mass from 90 to 60 and spinner gravity from 500 to 100. I noticed the ball just slid around without spinning with ball damping set to 10.0 so I changed it to 1.3 to allow the ball to spin. I have found these changes make the XML file work better but you can change them back if you want to experiment. At Ravarcade's suggestion, I changed the "physics fps" from 512 to 296.

<!-- Physics processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.02" kineticFriction="0.02"></defaultMat>

Note that Zedonius Physics always has a ZIP file which contains the XML file and some other files which include models, textures and possibly other things. If you only use the XML file as posted below, You won't have the rest of the content that is in the ZIP file.

Code:

<?xml version="1.0" encoding="utf-8"?><document>

<!-- Zedonius Version 1.0 Physics processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.92" kineticFriction="0.92"></defaultMat>

<!-- Zedonius Version 1.1 Physics processing --> <!-- Note. Changing the FPS will effect how how all the other values interact with each other and should be a high value due to the fact the ball in a pinball is moving very fast and lower values will cause the ball to go into objects fractionally (thus we must sample at a higher rate)

<!-- Static coefficient - - - - - - - - - - Static friction is the force that holds back a stationary object up to the point that it just starts moving. Thus, the static coefficient of friction concerns the force restricting the movement of an object that is stationary on a relatively smooth, hard surface.

Both coefficients are based on material pairs (ie wood on wood, metal on wood) etc..

In FP all the settings are for Ball on Wood/Plastic/Rubber/Metal etc..

and from the Newton docs.. staticFriction and kineticFriction must be positive values. kineticFriction must be lower or equal than staticFriction. It is recommended that staticFriction and kineticFriction be set to a value lower or equal to 1.0, however because some syntetic materials can have higher than one coeficient of friction Newton allows for the coeficient of friction to be as high as 2.0.

For more information refer to http://en.wikipedia.org/wiki/Friction -->

<!-- Default Materal Settings to act as defaults incase we forget to set an object during development. There shouldn't be any objects set to this material so these are just a fail safe values --> <defaultMat softnessCoef="0.02" elasticCoef="0.1" staticFriction="0.50" kineticFriction="0.50"></defaultMat>

Last edited by GeorgeH on Sun May 05, 2019 5:26 pm, edited 11 times in total.

GeorgeH

Post subject: Re: XML Files for Physics 2.0, 2.1, 2.2 and 2.3

Posted: Mon Jul 04, 2016 2:18 pm

Joined: Thu Aug 16, 2012 11:12 pmPosts: 2321Location: Arkansas, USA

I have been experimenting with these *.xml files and found that any of them can be used on a 1.0 table or at least I haven't found a table yet where they won't work. You can try them and decide the physics that you like the best.

I just changed the XML file for "Malifica's Universal Real Fun Physics" because I noticed the ball just slides around without the ball spinning at all when the ball damping is set to 10.0. I changed it to 1.3 which allows the ball to spin. The change seems to improve the over all physics too.

Note that you can't see Future Pinball's default ball spin because it is a solid color (or at least you can't see it spin very easily). You need to use a custom ball that has patterns or markings on it to be able to see the ball spin.

I just changed the XML file for "Malifica's Universal Real Fun Physics" because I noticed the ball just slides around without the ball spinning at all when the ball damping is set to 10.0. I changed it to 1.3 which allows the ball to spin. The change seems to improve the over all physics too.

Note that you can't see Future Pinball's default ball spin because it is a solid color (or at least you can't see it spin very easily). You need to use a custom ball that has patterns or markings on it to be able to see the ball spin.

George

Hi George,

I try to use this fantastic XML but it really kill my FPS, I have 60fps on all my tables but with this XML after several minutes of game the FPS gone down until reach less than 40fps.

I just changed the XML file for "Malifica's Universal Real Fun Physics" because I noticed the ball just slides around without the ball spinning at all when the ball damping is set to 10.0. I changed it to 1.3 which allows the ball to spin. The change seems to improve the over all physics too.

Note that you can't see Future Pinball's default ball spin because it is a solid color (or at least you can't see it spin very easily). You need to use a custom ball that has patterns or markings on it to be able to see the ball spin.

George

Hi George,

I try to use this fantastic XML but it really kill my FPS, I have 60fps on all my tables but with this XML after several minutes of game the FPS gone down until reach less than 40fps.

Although your graphics card is not as good as mine, it seems like it should work.

The first thing I suggest trying is setting "Hardware light to use" to 0 and see if that helps. I had to do this for a time on my graphics card although I must have gotten an update that fixed it because I don't have to do it anymore.

Hopefully you are using a newer version of BAM so that when you press F9 a better display that the default. You will see 3 parameters trended, frame time, physics time and script time. If you are seeing high spikes on physics then that is the culprit. Rafal explains some things about it on this forum topic:

It is easy visible in XML.In all XMLs (exept Malifica) you will find: fps="256".In Malifica: fps="512".It means, that for every frame it have to process 2 times more physics simulation passes.If you make screenshot with my preformance monitor, you will see, that for slow frames it needs 1 or 2 ms more for physics.

Solution 1 (correct one):Modify Malifica XML and make it run with fps="256". Of course it is not simple. It is like creation of new physics XML from begin.

Solution 2:Buy faster CPU. This is bad advice from devs. It means: we are to lazy, we don't want fix it, so you need faster computer now.

Who is online

Users browsing this forum: No registered users and 2 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum