Jump to content



Photo
- - - - -

FirePower UR/NF VP9.1.x FS Momentum MOD


  • Please log in to reply
51 replies to this topic

#1 jimmyfingers

jimmyfingers

    Pinball Fan

  • VIP
  • 832 posts

  • Flag: Canada

  • Favorite Pinball: Comet



Posted 17 May 2012 - 04:13 AM

FirePower UR/NF VP9.1.x FS Momentum MOD



Version: 1.1.0.2
Category: VP 9.x MOD Cabinet Tables (FULL SCREEN)

Author(s): UncleReamus, Noah Fentz, JimmyFingers (B.M.P.R. MOD)

Description:
Ball Momentum Physics Routine MOD of UncleReamus' and Noah Fentz's Firepower VP9.1.x FS v1.1.0
-------------------------------------------------------
Update 1.1.0.2:
- Implemented B.M.P.R. Version 1.1
- Adds enhancement for only processing X / lateral momentum when ball is slowing down (big improvement can be observed in realism and ball speed around in / out lanes and flippers)
- Lowered elasticty setting on tops of lane guides

-------------------------------------------------------
Ball Momentum Physics Routine (B.M.P.R.) MOD:

First off, a massive thank you to Noah for granting me permission to upload this MOD of his table to allow me to demonstrate the B.M.P.R. system
- To help demontrate and assess the routine there are status lights now on the apron and if you don't like them you can just move them off to the side
- To toggle the routine on and off during game play, use either left or right magna-save button or the "m" key (the lights should stop flashing to confirm when it isn't running)
- The physics have been changed on the table to help the ball appear generally heavier and with lower slope to help the lateral movement and shortcomings from these settings changes compensated by the B.M.P.R.
- Comparing with routine on or off via the toggle will be the best way to see the differences that the routine is adding, all other things being equal, and also confirm / verify the essentially zero performance impact
- NOTE: how the table behaves with the routine disabled is not indicative of Noah's original release and is due instead to the table physics changes to blend with the B.M.P.R. parameters for the overall desired result


- This table has some other MODs / routines as I personalized it for some other things I've been developing (not related to the B.M.P.R.) which is another big reason why Noah's gesture was so huge
- One other main MOD to note is that it has a routine for soft flipper taps; These are possible when you are holding the flipper already up and very quickly release and press the button again (flipper passes are possible)
- I also created a new enhanced ball rolling sound(s) routine that is based on rascals original concept
- There is also a zbounce routine for some hops off the center targets like what seems to happen a lot on the real table
- The plunger style has been changed to alpha ramps with the update that koadic had recently posted about regarding simultaneous digital analog abilities (I needed that as I have a analog motion detector but a digital plunger)


Other Thanks go out to PinballKen and Steely as it is there ball collision / tracking script that this Ball Momentum Physics Routine depends on to function (I am sitll blown away every time I look over the B2B coding)
Thanks to the other authors who are showing an interest in incorporating it into their tables and some enthusiasm over the demonstration and it's potential


-The general topic about this routine can be found here: http://www.vpforums.org/index.php?showtopic=19388&st=0
- Any specific items to how it is demonstrated in this table should be raised / addressed in the support topic

View File

Submitted by jimmyfingers, on May 17 2012, 12:13 AM

Edited by jimmyfingers, 01 June 2012 - 03:02 AM.


#2 Aaron James

Aaron James

    <<< Grand Champion >>>

  • VIP
  • 1,408 posts
  • Location:Shelby Township, Michigan

  • Flag: United States of America

  • Favorite Pinball: Docking Complete...Negative...You Must Redock...Redock Now!



Posted 17 May 2012 - 04:15 AM

WOW!!!! .......downloading now.

vpsig.jpg


#3 oldskoolgamer

oldskoolgamer

    VP Graphic Artist

  • VIP
  • 643 posts
  • Location:USA

  • Flag: United States of America

  • Favorite Pinball: Safe Cracker

Posted 17 May 2012 - 04:18 AM

Nice!! biggrin.gif Thank you all involved. Its gonna be a nice night! biggrin.gif
 Posted Image  Posted Image Posted ImagePosted Image Posted Image Posted ImagePosted ImagePosted Image

#4 TedB

TedB

    Pinball Fan

  • Charter Member
  • 715 posts

  • Flag: Netherlands

  • Favorite Pinball: those with non virtual steel balls

Posted 17 May 2012 - 09:26 AM

Just gave it a try and indeed the physics feel very realistic when the B.M.P.R. is enabled. Nice and bouncy.


#5 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,170 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 17 May 2012 - 01:16 PM

proof of concept jimmy.
much more realistic with your engine enabled.

thanks man

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif


#6 Arcade4

Arcade4

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,686 posts
  • Location:Beaumont, TX.

  • Flag: United States of America

  • Favorite Pinball: AC/DC

Posted 17 May 2012 - 09:46 PM

QUOTE (unclewilly @ May 17 2012, 08:16 AM) <{POST_SNAPBACK}>
proof of concept jimmy.
much more realistic with your engine enabled.

thanks man


Wow. Can't wait to try this out.

Edit.. Tried it out. Very very nice indeed.

Edited by Arcade4, 17 May 2012 - 10:51 PM.


#7 ebarlow99

ebarlow99

    Ass Kicker

  • Members
  • PipPipPip
  • 349 posts
  • Location:MI

  • Flag: United States of America

  • Favorite Pinball: ALL

Posted 18 May 2012 - 12:32 AM

plays real nice...even multiball! cool.gif

#8 mariozeferino

mariozeferino

    Enthusiast

  • Members
  • PipPipPip
  • 114 posts
  • Location:portugal

  • Flag: Portugal

  • Favorite Pinball: Gladiators - Gottlieb

Posted 18 May 2012 - 09:34 AM

Well done, now the ball isn't suck down every time on the outlanes, and the ball looks very realistic on the bumpers, but i still go with more gravity constant(1,8) and less contact friction.(0,001)

one more thing, when i hit the round center targets hard enouth, i can swear the ball jumps back. is it just me?


#9 OuchTilt

OuchTilt

    Enthusiast

  • Members
  • PipPipPip
  • 198 posts
  • Location:Essex

  • Flag: United Kingdom

  • Favorite Pinball: Elvira and the Party Monsters

Posted 18 May 2012 - 12:11 PM

QUOTE (mariozeferino @ May 18 2012, 10:34 AM) <{POST_SNAPBACK}>
Well done, now the ball isn't suck down every time on the outlanes, and the ball looks very realistic on the bumpers, but i still go with more gravity constant(1,8) and less contact friction.(0,001)

one more thing, when i hit the round center targets hard enouth, i can swear the ball jumps back. is it just me?


It's not you it's mentioned in the file description, and works really well

- There is also a zbounce routine for some hops off the center targets like what seems to happen a lot on the real table

blackfx2_cr.jpg  Username:- dallaker


#10 mariozeferino

mariozeferino

    Enthusiast

  • Members
  • PipPipPip
  • 114 posts
  • Location:portugal

  • Flag: Portugal

  • Favorite Pinball: Gladiators - Gottlieb

Posted 18 May 2012 - 12:44 PM

i agree, works very well, maybe it will also work with drop targets. on real machines when the droptarget goes up with the ball above, the ball is kicked up. and sometimes it the glass

#11 htamas

htamas

    Pinball Wizard

  • VIP
  • 2,224 posts
  • Location:California

  • Flag: Hungary

  • Favorite Pinball: cannot pick just one, and they change anyway



Posted 18 May 2012 - 03:30 PM

Very bouncy gameplay... interesting. I haven't played the real game a LONG time (and even then, only a few games), so I don't remember: was it indeed this bouncy and fast?

Fun table.

#12 TedB

TedB

    Pinball Fan

  • Charter Member
  • 715 posts

  • Flag: Netherlands

  • Favorite Pinball: those with non virtual steel balls

Posted 18 May 2012 - 03:54 PM

QUOTE (htamas @ May 18 2012, 05:30 PM) <{POST_SNAPBACK}>
Very bouncy gameplay... interesting. I haven't played the real game a LONG time (and even then, only a few games), so I don't remember: was it indeed this bouncy and fast?

Fun table.


This gives you a pretty good idea.



1.51 - 1.55 ball goes from left to right flipper and bounces a bit. Seems to be pretty similar to the physics in this table. VP table might be a bit more bouncy but don't forget it has brand new rubbers wink.gif

#13 mistermixer

mistermixer

    Enthusiast

  • Members
  • PipPipPip
  • 201 posts

  • Flag: Belgium

  • Favorite Pinball: eightballdeluxe

Posted 18 May 2012 - 04:02 PM

Another great invention !
Love the gameplay with your new ballsystem !
Thanx 4 sharing

#14 singinfool64

singinfool64

    Enthusiast

  • Platinum Supporter
  • 70 posts
  • Location:Marshalls Creek, PA

  • Flag: United States of America

  • Favorite Pinball: Firepower

Posted 19 May 2012 - 11:19 AM

Just some honesty:

OK.... I've been playing pinball since I was around 5 years old, and I'm 47 now. I've played the old mechanicals to all the modern pins and have owned over 300 Pinball machines along the way. I think it's great that you're trying to get a more natural feel, however, this is my honest opinion, and again I say opinion, but it feels to me that someone went into the local Supermarket and bought a 25 cent superball out of the machine and replaced the pinball with it. I've never seen a real pinball bounce around a playfield like this ....ever. A steel pinball just doesn't react anything like this. The previous firepower actually is much closer to playing a real pinball machine.....just saying... ohmy.gif Keep tweaking!! wink.gif

#15 Wahreez McDermot

Wahreez McDermot

    Enthusiast

  • Members
  • PipPipPip
  • 126 posts
  • Location:Sugar Land, TX

  • Flag: United States of America

  • Favorite Pinball: I can't pick just one!

Posted 19 May 2012 - 11:51 AM

Much thanks for this mod and to Noah for graciously allowing its distribution!

I love progress!

#16 jimmyfingers

jimmyfingers

    Pinball Fan

  • VIP
  • 832 posts

  • Flag: Canada

  • Favorite Pinball: Comet



Posted 19 May 2012 - 04:34 PM

QUOTE (singinfool64 @ May 19 2012, 07:19 AM) <{POST_SNAPBACK}>
Just some honesty:

OK.... I've been playing pinball since I was around 5 years old, and I'm 47 now. I've played the old mechanicals to all the modern pins and have owned over 300 Pinball machines along the way. I think it's great that you're trying to get a more natural feel, however, this is my honest opinion, and again I say opinion, but it feels to me that someone went into the local Supermarket and bought a 25 cent superball out of the machine and replaced the pinball with it. I've never seen a real pinball bounce around a playfield like this ....ever. A steel pinball just doesn't react anything like this. The previous firepower actually is much closer to playing a real pinball machine.....just saying... ohmy.gif Keep tweaking!! wink.gif

You certainly have a ton of pinball experience (300 machines you've owned - that's incredible). Obviously your input is to be considered and valued with that type of exposure to pinball.

There are a few things why in this table and why I think VP would appear too bouncy if / when trying to get decent low speed / lateral bounces. One big difference seems to be that we never get the bounce / ball speed "eater" from ball spin as there is no ball spin in VP so every bounce from object to object is always the full calculation and velocity vetor of elasticity / speed together the other configurable and inherent programming factors. It seems on a real table that a lot of the time things get slowed down by ball spin. When a hard hit into one object and then quickly into another in real life occurs, it seems quite common that the ball comes out slower from being rattled / spun. Or by mid table after a particularily hard bounce, it "calms" a bit as the spin kicks in.

I think if we had some type of ball spin that that would change a great deal how this table looks and how it compares to real life. That was one problem that I realized while into all this is that there is a little bit of a superball aspect because every bounce is always happening at a 100% of it's calculation and continues on merrily until it hit's the next object.

For this reason I added a rudementary "dampen" function that is called from a few objects but mainly the "rubbers" collection upon every hit. The idea of it is to try and shave off something from higher speed hits / bounces while allowing the rubbers to be set with higher elasticities to get the type of bounces at lower speeds that you do see on a real table. Last night, I went out in Toronto to a place to play / study some real pinball machines (while enjoying a pint of course wink.gif and while playing the Centigrage 37 there, had the ball bounce 5 or 6 times off the top of the slingshot all within the space of about and inch. It's tough to get that type of bounciness represented in VP without the ball flying around when it does contact at higher speeds. But, if you or anyone wants to try some tweaks, locate the "dampen" routine call in the rubbers_hit(idx) section and change it down from 15, .67, 1 to something like 10, .67, 1 or 10, .75, 1 (the numbers are threshold speed to apply dampen for x and y, dampen factor (have to see the formula to make sense of it), and randomness for the speed threshold).

One thing I want to point out also though, is the B.M.P.R and the bounciness / speed of this table aren't necessarily mutually inclusive. I did increase the elasticity on essentially every object to try and help low speed bounces with higher friction. Noah had a nice high level of friction to start with on this table and it caught my eye back then as looking more real. But I found that without the help of something like the B.M.P.R. script or a new mass setting that could be added to the VP program itself for the ball, the lateral movement was too little and transition from up table to down too hard or quick. One could definitely just implement this routine, do nothing with the elasticities, be able to increase the friction slightly for ball weight appearance (for tables that have more in the .0025 range vs. the already higher .0035-.0040), and lower the slope for lateral and up to down transition momentum / help, then just use the routine to add a little more horizontal momentum helper, with maybe a touch of up table, but then use it more for the last component of simply the downward level / thresholds to help make up for what might be a bit sluggish acceleration downward due to lower slope and higher friction (i.e. could leave all other rubbers / plastics alone).

So, I do encourage people to still try and play with some of the parameters in the momentum routine section, or try out even higher friction, but definitely find the "dampen" routine in the rubbers if you don't like the bounciness and trying bringing it down as outlined above because it can make at least a slight difference. I do still think that the link to the video of the table, further up in the post (by TedB) and how this MOD plays are actually pretty close, all things considered and the fact that we're still trying to virutualize some pretty complex real-world physics / mathematics.

Edited by jimmyfingers, 19 May 2012 - 04:36 PM.


#17 rob046

rob046

    Often Emulated, Never Duplicated

  • Members
  • PipPipPipPipPip
  • 2,023 posts
  • Location:Central PA

  • Flag: United States of America

  • Favorite Pinball: 8 Ball Deluxe, ToM, & Funhouse



Posted 19 May 2012 - 09:44 PM

I changed the code on just the non sling rubber & flippers to 10, .75, 1 (like you said) while increasing to slope to 5.5. That toned things down a little more to my liking & I applied some of my own flipper settings. Though now I'm wondering if by changing slope I am defeating the purpose of this code, or should it still apply OK? That is what I've been wondering, is that if we can all tweak VP as we normally would while this momentum effect will work regardless of settings.

I actually do not think the video above matches the table all that closely. The speed of the table in the vid seems quite a bit faster & has less bounce, or should I say just a different type of bounce in some circumstances. Jimmy I'm wondering if where you are playing pins they just set the slope a bit shallow. Some places do.

What I would tell people is to check out the vids on pinball.org. Even if there isn't a Firepower vid there (not sure if there is), then a good rule of thumb is just to check out a game from the same manufacturer & era. They all use the same parts & would all play about the same if maintained & leveled the same.

I've personally played probably every game in those videos (literally those exact games at the PAPA warehouse). What I do know about that place is that they are very careful to properly maintain & set up games since the best & most respected pinball players from all over the world don't travel all that way to play clunkers. Also helps that the games are never being transported & losing their slope/leveling. Then of course the guys who do set the games up know what they are doing from game to game. The overhead view might change speed perception a little bit when compared to a players view, but for the most part what you see is what you get.
I set my own games up pretty much the same. I recently had my own early SS WMS (Flash) which actually did play like Firepower in the above vid. Though since that vid is shot at angle I'd again recommend the PAPA vids that aren't skewed.

Anyhow, I totally understand the idea behind what you are trying to do & why you are doing it, & I agree with all of that. Keep at it. I do think the idea is perhaps all there & its just a matter of tweaking all this to get everybody on board with this, & I'm happy to help. I'd like to try this on some other things I'm working on, or maybe on some VP versions of tables I own, but first I would like to know that I can freely tweak without losing the intended purpose.

Edited by rob046, 19 May 2012 - 09:49 PM.


#18 singinfool64

singinfool64

    Enthusiast

  • Platinum Supporter
  • 70 posts
  • Location:Marshalls Creek, PA

  • Flag: United States of America

  • Favorite Pinball: Firepower

Posted 19 May 2012 - 10:15 PM

QUOTE (jimmyfingers @ May 19 2012, 12:34 PM) <{POST_SNAPBACK}>
QUOTE (singinfool64 @ May 19 2012, 07:19 AM) <{POST_SNAPBACK}>
Just some honesty:

OK.... I've been playing pinball since I was around 5 years old, and I'm 47 now. I've played the old mechanicals to all the modern pins and have owned over 300 Pinball machines along the way. I think it's great that you're trying to get a more natural feel, however, this is my honest opinion, and again I say opinion, but it feels to me that someone went into the local Supermarket and bought a 25 cent superball out of the machine and replaced the pinball with it. I've never seen a real pinball bounce around a playfield like this ....ever. A steel pinball just doesn't react anything like this. The previous firepower actually is much closer to playing a real pinball machine.....just saying... ohmy.gif Keep tweaking!! wink.gif

You certainly have a ton of pinball experience (300 machines you've owned - that's incredible). Obviously your input is to be considered and valued with that type of exposure to pinball.

There are a few things why in this table and why I think VP would appear too bouncy if / when trying to get decent low speed / lateral bounces. One big difference seems to be that we never get the bounce / ball speed "eater" from ball spin as there is no ball spin in VP so every bounce from object to object is always the full calculation and velocity vetor of elasticity / speed together the other configurable and inherent programming factors. It seems on a real table that a lot of the time things get slowed down by ball spin. When a hard hit into one object and then quickly into another in real life occurs, it seems quite common that the ball comes out slower from being rattled / spun. Or by mid table after a particularily hard bounce, it "calms" a bit as the spin kicks in.

I think if we had some type of ball spin that that would change a great deal how this table looks and how it compares to real life. That was one problem that I realized while into all this is that there is a little bit of a superball aspect because every bounce is always happening at a 100% of it's calculation and continues on merrily until it hit's the next object.

For this reason I added a rudementary "dampen" function that is called from a few objects but mainly the "rubbers" collection upon every hit. The idea of it is to try and shave off something from higher speed hits / bounces while allowing the rubbers to be set with higher elasticities to get the type of bounces at lower speeds that you do see on a real table. Last night, I went out in Toronto to a place to play / study some real pinball machines (while enjoying a pint of course wink.gif and while playing the Centigrage 37 there, had the ball bounce 5 or 6 times off the top of the slingshot all within the space of about and inch. It's tough to get that type of bounciness represented in VP without the ball flying around when it does contact at higher speeds. But, if you or anyone wants to try some tweaks, locate the "dampen" routine call in the rubbers_hit(idx) section and change it down from 15, .67, 1 to something like 10, .67, 1 or 10, .75, 1 (the numbers are threshold speed to apply dampen for x and y, dampen factor (have to see the formula to make sense of it), and randomness for the speed threshold).

One thing I want to point out also though, is the B.M.P.R and the bounciness / speed of this table aren't necessarily mutually inclusive. I did increase the elasticity on essentially every object to try and help low speed bounces with higher friction. Noah had a nice high level of friction to start with on this table and it caught my eye back then as looking more real. But I found that without the help of something like the B.M.P.R. script or a new mass setting that could be added to the VP program itself for the ball, the lateral movement was too little and transition from up table to down too hard or quick. One could definitely just implement this routine, do nothing with the elasticities, be able to increase the friction slightly for ball weight appearance (for tables that have more in the .0025 range vs. the already higher .0035-.0040), and lower the slope for lateral and up to down transition momentum / help, then just use the routine to add a little more horizontal momentum helper, with maybe a touch of up table, but then use it more for the last component of simply the downward level / thresholds to help make up for what might be a bit sluggish acceleration downward due to lower slope and higher friction (i.e. could leave all other rubbers / plastics alone).

So, I do encourage people to still try and play with some of the parameters in the momentum routine section, or try out even higher friction, but definitely find the "dampen" routine in the rubbers if you don't like the bounciness and trying bringing it down as outlined above because it can make at least a slight difference. I do still think that the link to the video of the table, further up in the post (by TedB) and how this MOD plays are actually pretty close, all things considered and the fact that we're still trying to virutualize some pretty complex real-world physics / mathematics.


Thanks for the reply, and you are definitely right about the ball spin missing and needed in theses tables. It really is amazing, the work that you are putting in, along with the authors of these tables, and I don't know where you guys find the time to do all this, but it's really appreciated. You definitely gave the table more life, and now it's just a matter of cleaning it up a bit smile.gif. I'm sure when all is said and done, your new system will be a huge plus for the tables !

#19 mariozeferino

mariozeferino

    Enthusiast

  • Members
  • PipPipPip
  • 114 posts
  • Location:portugal

  • Flag: Portugal

  • Favorite Pinball: Gladiators - Gottlieb

Posted 20 May 2012 - 12:27 PM

i have no words to describe this so a picture and a video are better than 2000 words







Edited by mariozeferino, 20 May 2012 - 12:34 PM.


#20 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,170 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 20 May 2012 - 12:37 PM

i think metal surfaces should still have elasticity of at least .1
also they have some friction. there is nothing on a pinball table that doesnt slow the ball just a bit.
i dont particularly think anything should have a 0 friction or elasticity

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif