The flipper/ball interaction

Bark

Pinball Player
Joined
Jun 23, 2018
Messages
2
Reaction score
1
Points
9
Favorite Pinball Machine
World Poker Tour
I have taken a first look, and a second look, at Pinball Creator. I want to discuss the flipper/ball interaction.

But to put it in perspective, I first want to point out the good stuff with PC.

At first, Pinball Creator looks great. It is very easy to get started and actually make a game, if you just take the time to follow the manual.

Never mind the bad English and the typos in the manual, that doesn't bother me at all. It has a very good chapter on how to get started, and there is a comprehensive second part.

On top of that, they have very good support in the Unity forum, where they answer all kinds of questions, from good questions about how to make specific things, all the way down to the bad questions, with polite answers along the lines of "you could do this and that... which is also possible to read about in the manual at page X". Great. Fantastic, really.

Ok, so here we go with the bad thing: Why why why is the interaction between the flippers and the ball so unnatural?

This question was raised in the Unity forum, and I quote "- - - ball tend to have too much angle in the opposite direction of the flippers thus not reacting like real pinballs or the other emulator do - - - Can the flippers be tweaked by the user to get similar emulation? If not, maybe are there plans to improve the flipper physics????"

The answer was, very untypical, just " - - - Pinball Creator may be different, but the flippers are accurate and the tables are fun to play, so we do not intend to change physics."

How is this possible? How can everything else be so good, and this one super-crucial super-central thing, be this bad, and no ambition to do anything about it?

If a pinball simulation behaves completely different from real pinball, then that is a show stopper. The interaction of the flippers and the ball is the defining feature of pinball games. It HAS to be accurate, or close to accurate. Hitting the ball at the exact right time, depending on ball position and speed, and what you aim for, is the one central skill you have as a player. Real-world pinball skills should be skills in simulated pinball. And more importantly, training in the simulator should not make you a worse real-world pinball player! Everything else can be a little off, but this one thing cannot!

It seems the guys (?) at Tropical Studio must certainly have played a lot of real-world pinball, otherwise there would be other things that were also bad. I haven't found any.

I believe they are not happy about the way the physics is now. I believe they have tried and given up. They couldn't figure it out. They know it is a problem, but they don't promise a solution. Hence, their answer "Pinball Creator may be different, but ..." They must know that proper flipper-ball-physics is not a matter of opinion.

Therefore, one of two things will happen: Either A) some people of us, in the small Pinball Creator community that actually exists, work together on how to tweak the physics of the flippers so it actually works, perhaps in cooperation with Tropical Studio but probably not, or B) Pinball Creator will continue to be just a toyish gimmick with a lot of features, not a tool to create actual pinball simulations.

So, can we gather enough force to do this? My questions for now are:

1. Is there any trace in the PC framework that uses the Unity physics system in a way that corresponds to the dual-coil flipper design?

2. Is the dual-coil at all what should be simulated?

3. How is this done in other frameworks?

4. Are there other crucial things bad with PC? Other show stoppers, that I have missed?

5. Am I actually wrong, or maybe the bad bad flipper/ball interaction is just there under specific circumstances, on certain platforms etc?

The fields where I could perhaps contribute in such an effort, would probably be with the math and physics, and programming in general. I majored in math and have worked decades with software development in C-like languages (not that you neccessarily are any good just because of schooling and work). Not so much Unity or C# specifically.

Anyone else interested in doing this? Say what you think.
Thank you.
 
You bring some very good points here, as a person that has PC, I agree with you. In fact, after a while off, I read the Unity board, and I was just as disappointed as you were in fact even more so. I also strongly disagree with the devs statements about the physics, they need vast work on them. I don't even put some of those physics at base FP level, and those flippers are just wrong.

In fact, unless there is a major improvement here, I will not recommend to anyone to buy it unless the devs make some major changes. The lack of and the refusal to have a proper community outside the unity boards is pretty much a kiss of death, though I will also state that we at Pinball Nirvana will continue to offer our services for tables upload and download. Of course, I have to remain optimistic about the future as well, but it's sure not a well promoted product, and take it from someone who really knows how important a community with the proper resources in a creative environment is to a pinball product.

Both of these are far superior to PC, FP and even VPX in terms of physics. Flipper physics are pretty tough, but if the devs for PC want to see better physics, they can always look at VPX physics. It's open source, and maybe it might be quite helpful.

Within this community, two people have done Unit3d using unity, and though they have disappeared off the face of the earth as soon as everyone donated for them to buy a proper unity license, you never know, they may actually show up after a year and a half.

The other person is shaderbytes, who has done a few games in unity using unity and VPinMAME. He will not release his assets though.
Therefore, one of two things will happen: Either A) some people of us, in the small Pinball Creator community that actually exists, work together on how to tweak the physics of the flippers so it actually works, perhaps in cooperation with Tropical Studio but probably not, or B) Pinball Creator will continue to be just a toyish gimmick with a lot of features, not a tool to create actual pinball simulations.

There are, in both vpx and FP/BAM, which has made great strides despite FP being locked and no open source. Both still has a way to go, as common flipper tricks like realistic post to post transfers and flick passes can't be done very easily if at all.

1. Is there any trace in the PC framework that uses the Unity physics system in a way that corresponds to the dual-coil flipper design?

None that I can see. The settings for the flippers are very lacking to say the least. Of course, it should be noted it was a brief glance, but it didn't appear to have much there. Here is a FP example for you to look at:
Code:
Sub BAM_Init
' Dynamic Shadow map
	xBAM.ShadowMap "Ambient light", 600  , 4    ,     1250,      901,      100
 	xBAM.ShadowMap "flasher1", 1000 , 5    ,     5,        1,        1
	xBAM.ShadowMap "flasher2", 1000 , 5    ,     5,        1,        1
	xBAM.ShadowMap "flasher3", 1000 , 5    ,     5,        1,        1
	xBAM.ShadowMap "flasherbotleft1", 1000 , 5    ,     5,        1,        1
	xBAM.ShadowMap "flasherbotright1", 1000 , 5    ,     5,        1,        1
	xBAM.ShadowMap "flashertopleft1", 1000 , 5    ,     5,        1,        1
	xBAM.ShadowMap "flashertopright1", 1000 , 5    ,     5,        1,        1
	xBAM.ShadowMap "bulbgirl1", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbhead1", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbhead6", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbjgcollect4", 2000 , 2    ,     5,        1,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbjgcollect7", 2000 , 2    ,     5,        1,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbjungle1", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbjungle2", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbleftlane", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbleftloop1", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbleftloop3", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbrightlane", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbrightloop1", 2000 , 2    ,     5,     1000,    1.288,    0.083,      0.5
	xBAM.ShadowMap "bulbrightloop3", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbskillshot3", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbtriggerguide3", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "bulbtriggerguide5", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "leftrubberbulb", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "leftslingshotbulb1", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "leftslingshotbulb2", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "rightslingshotbulb1", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
	xBAM.ShadowMap "rightslingshotbulb2", 2000 , 2    ,     5,     1000,    1.288,    0.083,     0.05
' Custom flipper settings
	Dim RightFlipper2Ext, LFExt, RFExt
	Set RightFlipper2Ext     = xBAM.Flipper("RightFlipper2")
	Set LFExt                = xBAM.Flipper("LF")
	Set RFExt                = xBAM.Flipper("RF")
	RightFlipper2Ext.Mass    = 2500
	RightFlipper2Ext.Omega   = 40
	LFExt.Mass               = 2500
	LFExt.Omega              = 40
	RFExt.Mass               = 2500
	RFExt.Omega              = 40
End Sub

'<?xml version="1.0" encoding="utf-8"?>
'<document>
'  <!-- Custom Physics for Jungle Girl -->
'  <physics slope="5.5" fps="296" threaded="1"></physics>
' <!-- Settings for various objects -->
'  <ball newtonDamping="0" mass="40" gravity="6500" damping="0.02"></ball>
'  <flipper rotationSpeedChart="{0.0,15.0},{2.0,28.0},{4.0,55.0},{6.0,70.0},{8.0,77.0},{10.0,79.0},{12.0,79.0},{14.0,77.0},{16.0,73.0},{50.0,30.0}" newtonDamping="0.01" mass="8500" omega="44" damping="0.03" moeMethod="0" 
'			leftXoff="0" leftYoff="1900" leftZoff="2" 
'        rightXoff="0" rightYoff="1900" rightZoff="0"></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="575.0" impulseRandomness="10" vectorRandomness="5"></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="160.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.01" elasticCoef="0.1" staticFriction=".5" kineticFriction="0.1"></playfieldMat>
'  <!-- Primary Material Types -->
'  <metalMat 		softnessCoef="0.02" elasticCoef="0.2" staticFriction="0.02" kineticFriction="0.01"></metalMat>
'  <plasticMat 	softnessCoef=".01" elasticCoef="0.2" staticFriction="0.1" kineticFriction="0.1"></plasticMat>
'  <woodMat 		softnessCoef="0.03" elasticCoef="0.3" staticFriction="0.03" kineticFriction="0.03"></woodMat>
'  <rubberHardMat 	softnessCoef="0.06" elasticCoef="0.5" staticFriction="0.06" kineticFriction="0.01"></rubberHardMat>
'  <rubberIntMat 	softnessCoef="0.07" elasticCoef="0.9" staticFriction="0.021" kineticFriction="0.02"></rubberIntMat>
'  <rubberSoftMat 	softnessCoef="0.08" elasticCoef="0.75" staticFriction="0.01" kineticFriction="0.01"></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>

That's all we can use for FP (At least at the moment)

2. Is the dual-coil at all what should be simulated?
Not too sure by what you mean by dual coil. What is missing is the simulation of power(strength of the flipper) in relation to the coil. In VPX, this is set by the EDS Torque and EDS Torque angle. Basically, power going into a coil, and how long it takes for the coil to be fully energized (about 75% ?) before there is a drop off of power by the time the flipper reaches it's upward swing (To prevent the coil wearing out prematurely)

3. How is this done in other frameworks?
In VPX, You can also set Elasticity, Friction, return strength etc for each flipper. More than enough to get very good results.

In FP, you can see by the script example I posted above. FP is far more limited than FP, you need to do a few tricks to prevent misplaced shots and bad angles, something that I guess can be translated to PC quite easily. Still, FP can play surprisingly quite well if you fiddle with things a bit

4. Are there other crucial things bad with PC? Other show stoppers, that I have missed?

Several.
- Lack of actual unique missions for one. (Most are the same mission with different amounts of targets etc)
- It doesn't really use the full power of unity, especially with effects
- It looks like a flash game. The models and the objects are pretty cartoonish
- I believe there was something about not being able to use our models, which are exact and to exact scale, from which we have thousands now. One reason could be putting in collision maps, (FP has this problem, but a community member wrote a program called FPEditor that allows you to convert milkshape models to FP, and you can also put in a collision with it) or maybe it's just too damn hard in Unity. No idea on that one.
- The biggest problem is you have to use Unity itself to do tables. This is way beyond 99.9 % of the entire world's population skill level.
I find PC to be very good overall, but it's the execution that is the problem. By using the unity editor instead of a custom front end, PC closed itself off from the average consumer, and that is a shame. Even as it is, a lot of people would have been quite happy dragging and dropping premade objects onto a table. Remember Bill Budge's The Pinball Construction Kit? That would have been perfect, just a far higher end version of it. Easy to use, Easy to understand, Easy to master in far less time that having to learn Unity on top of a very complex asset. PC would have appealed to far more people doing it that way (Pinball Construction set was a major hit BTW) because most people just want to spend their time making tables, without having to take Months/Years learning scripting/models/graphics/etc. As much as I wanted to learn Unity, I just don't have the time to learn C#, or spend months learning how to use Unity itself.

5. Am I actually wrong, or maybe the bad bad flipper/ball interaction is just there under specific circumstances, on certain platforms etc?

Nope. Pinball arcade, a professional software with licensed games sure has problems every once in a while. To be honest, the VPX and FP versions are just as good, if not better. Even Pinball FX, if you notice, the flippers are at a far less severe angle than the actual arcade tables, roughly 110 degrees as opposed to 118-121, to help get around the ball going off at extreme angles the closer the ball goes toward the tip.

The fields where I could perhaps contribute in such an effort, would probably be with the math and physics, and programming in general. I majored in math and have worked decades with software development in C-like languages (not that you neccessarily are any good just because of schooling and work). Not so much Unity or C# specifically.

Always needed. VPX has tons of help. FP though only has Ravacade. As good as VPX has gotten, it's also leaving lesser skilled people behind as it has gotten more and more complex. FP's biggest problem is it's a closed architecture, and it's very buggy and badly programmed in places. (It's actually crippleware, this was the "free" version, but it was so crippled that no one would want to pay money for it, especially as Visual Pinball was getting far better)

There has been talk about a new editor based around the idea of FP, that is a simple editor without all the complications and bugs of FP, but that is way beyond everyone's capabilities there. FP is far simpler to use than VPX, it could do with more help as it's more appealing to "newbies" to cut their teeth on before they tackle VPX and it's multiple plugins.

GoPinball is the place to go for FP. For VPX there is also Pinball Universe, VPinball and VPForums.

Thanks for writing, hope this helps
 
Last edited:
Thank you very much for all the answers.

I bought and started to use PC for two reasons:

1. Get started with developing in Unity. This is a learing process. Learning should be fun, so the natural thing was to look for a project which is both fun and not too complex for me as a Unity novice. Designing a pinball game with a pinball construction tool, seemed like low-complexity, high-fun thing to try. For me, PC relying on the Unity editing system is not a problem, but the point. For this, PC can still work.

2. I have a specific idea for a theme for a pinball table, and I would like to try to monetize it one way or another. It seems to me now, that PC can absolutely NOT work for this, for the problems discussed. I did think it was just the flipper/ball interaction that would be a big problem, but you convinced me there are too many other problems anyway. Solving the pure physics it not enough. I would never be able to improve PC to a level where it would be decent to charge for a game based on it.

I would greatly appreciate if you (and/or others of course), as obviously expirienced in many different systems, could rank them regarding flipper/ball physics. Lets say on a scale from 0 to 100, where 100 would be a physical game in brand new condition, PC would be 20, since it could have been even worse. Where would the others be? VPX (properly configured), FP (properly configured), Pinball Archade, Zen Pinball, other commercial games? Let's just focus on the flipper/ball interaction.

As far as I have understood, PC is the only pinball construction kit that supports any kind of pinball physics at all, and also allows the designer to create tables for commercial use. Have I misunderstood this, are there other systems?
 
Thank you very much for all the answers.

I bought and started to use PC for two reasons:

1. Get started with developing in Unity. This is a learing process. Learning should be fun, so the natural thing was to look for a project which is both fun and not too complex for me as a Unity novice. Designing a pinball game with a pinball construction tool, seemed like low-complexity, high-fun thing to try. For me, PC relying on the Unity editing system is not a problem, but the point. For this, PC can still work.

2. I have a specific idea for a theme for a pinball table, and I would like to try to monetize it one way or another. It seems to me now, that PC can absolutely NOT work for this, for the problems discussed. I did think it was just the flipper/ball interaction that would be a big problem, but you convinced me there are too many other problems anyway. Solving the pure physics it not enough. I would never be able to improve PC to a level where it would be decent to charge for a game based on it.

I would greatly appreciate if you (and/or others of course), as obviously expirienced in many different systems, could rank them regarding flipper/ball physics. Lets say on a scale from 0 to 100, where 100 would be a physical game in brand new condition, PC would be 20, since it could have been even worse. Where would the others be? VPX (properly configured), FP (properly configured), Pinball Archade, Zen Pinball, other commercial games? Let's just focus on the flipper/ball interaction.

As far as I have understood, PC is the only pinball construction kit that supports any kind of pinball physics at all, and also allows the designer to create tables for commercial use. Have I misunderstood this, are there other systems?

This is pretty specific to just rate the physics, as it's all elements and how they are placed on a design that has a major impact on how a ball will flow. VPX has clearly the best physics, but again, it's based on how the objects for the ball to interact with. A small movement of say a post can greatly effect the overall game, and it's very author dependent.

For example. I actually prefer some FP versions over the vpx versions because the FP versions, despite the wonky physics in places, just play better, and are far more fun to play. Some of the FP authors, like me, spend far more time in balancing the game play than some authors in VPX. The physics are just not as good in FP, but the games themselves play a lot closer to the actual arcade tables, while with some VPX translations, it becomes pretty apparent that the author has never actually played the real game. VPX seems to be crank out as many games as possible in a short time, and the games suffer because of it.

It's the same for the commercial games as well. The TPA stuff in general, though the physics are fine, play very flat because they have to rush out a game every month, and the games lose their character. I never liked the FX games, I actually find them to be pretty boring once I get over the fancy animations, usually because they are just ramp shots and lane shots. (I never liked No Fear for that reason, it was pretty boring after a while)

In other words, I don't rate a game released on it's physics, I rate it overall, and most importantly, the tables I play all the time are the tables that are just fun to play. As long as the physics are decent (or in FP, covered up so the bad things with FP are not noticeable) then that is my major criteria.

Honestly, I don't play VPX/VPINMAME or TPA much at all anymore. I have been playing these games for 20 years, and I am just bored to tears of them now.

So, it's very hard to compare the actual physics because it is so author dependent. If it's not fun to play, then it just gets played a couple times, and then stored on my hard drive never to be played again.

All I can give you is my personal opinion, just like anyone else will.

VPX- Very good, but far too complex, and way too fixated on Cabinets with all these multiple plugins. I don't have a cab, yet I spend more time having to remove the "cab" features just to be able to play on my desktop (Like roughly 90% of all the players just have) I just don't bother anymore, and it seems to still be a "who's dick is larger" contest with VPX. It's just not fun for me to do something in VPX, and it's just not worth it for me personally for the amount of time needed to do anything for vpx.

FP/BAM - I'm a FP author now, have been for 10 years. I was very put off by the VP community, and to be honest, no matter how much better the community and VPX is, I decided to stick with FP because of all the changes within BAM, and I just wanted to do my own designs. From a physics point of view, FP will never have the physics that Visual Pinball 10 has, BUT, it can be at a decent VP9 type game in terms of physics, though it takes a lot more work. It's just playing around with the settings, taking the time to do so, knowing the tricks needed to bypass FP's flaws, or developing new tricks, like I did for my own games Playboy xse and Star Trek xse. The best compliment I ever got was the one by a actual owner of those two games, and how realistic the game play was to the actual games. You have to really cheat though. :)

TPA - They are fine, I guess VPX is "better" because it's far more fancier effects, and as noted before, a few of those games needed a extra month to really polish the game play. I certainly don't put them at the level of the pro pinball series like the new version of timeshock.

Pinball FX - They have to really cheat, like I mentioned in the post above. It's pretty much like TPA, by the numbers physics. I find them way too easy to play and get pretty bored with them, so never bothered with getting new releases. I'm sure a lot of kids would disagree with me, but I'm pretty old school, I like the games of the late 70's early 80's more than the modern ones.

Pinball is actually the toughest game to do to get right BTW. No one has really gotten the physic right yet, especially the flippers, as they are trying to wrap a single set of physics on a object that has multiple physics that change constantly in the real world.
 
Last edited:
General chit-chat
Help Users
You can interact with the ChatGPT Bot in any Chat Room and there is a dedicated room. The command is /ai followed by a space and then your ? or inquiry.
ie: /ai What is a EM Pinball Machine?
  • No one is chatting at the moment.
      Chat Bot Mibs Chat Bot Mibs: Flipper Hermann has left the room.
      Back
      Top