Never liked BPMR, feel it is one personal interpretation on pinball physics, not necessarily correct, whilst adding extra scripting overhead, that can and do lead to performance issues. Using the available parameters within VP can provide as good as if not better physics settings without any extra overheads.
Thanks for steering this conversation into a poll about personal opinions on BMPR, but this really isn't on topic nor helpful to the people looking for tips and information on tuning VPX physics. But before returning to the main point of this thread, the topic of BMPR only was raised by me as a side aspect to what I've noticed with what seems to be more difficulty in tuning lower sloped tables with PhysMOd and VPX and the main reason I even dared raise discussion about lower slope tables was to relay my experience / observations to at least try and help BorgDog and others from not necessarily pulling their hair out as to why the older generation tables seemed more difficult to tune with VPX (and hence I mentioned what I still do / use to help with that phenomenon being BMPR). It wasn't a promotional piece for BMPR and I don't really care if people use it or not.
I do care if people make claims about it, being stated in the supposed form of fact rather than opinion, that they actually get their facts right and don't spread misinformation. You say the routine "can and (does) lead to performance issues". This is entirely untrue and unsubstantiated. BMPR adds ZERO performance impact in either FPS or stutter to any table it's used on and you could have verified this yourself easily if you spent merely a minute or two loading up a BMPR table and playing for a few seconds with both BMPR enabled and disabled (it was built with a simple single parameter for disabling / enabling and one could also disable the underlying timer as well). Timer based scripting / sub routines that have no direct visual component (no texture / lighting manipulations or even text box updates to an extent) and are more computational can run quite extensively and elaborately without any measurable impact in
VP. You'd have seen from the FPS quantitatively that performance impact is indistinguishable in either case and your comments in this aspect for BMPR at least are baseless. Time spent understanding something a bit more before bashing it would seem reasonable - by the way it's BMPR (Ball Momentum Physics Routine) not "BPMR".
One of the things that kills me the most with some "responses" on this forum is, after spending huge amounts of my time developing something like BMPR or tuning / creating a table with it and also going to lengths trying to describe things in any area in effort to try and help others, to then only have someone make baseless and / or unverified claims without even spending a mere few minutes of their own actual time before doing so. That type of disparity in time / effort and validity is one of the things that turns me most off of even trying to contribute here or in any other areas of
VP. I've also spent a reasonable amount of time simply just in this topic with posts above to try and help people understand some important considerations for VPX tuning and from the "likes" on the last couple posts appears that people do appreciate that, but is disheartening to see a two liner comment float in that only focuses on the negative and bashes a side topic / option like BMPR - still something I developed and invested time out of my life to provide to the
VP community, whether as needed nowadays or not.
Everyone is entitled to their opinion (stated facts should still be actual facts) and I am fine with not everyone liking BMPR. However, you make my total effort on BMPR seem extra shitty with the general tone of your post and especially with the "one personal interpretation on pinball physics, not necessarily correct" comment. I never said it was "correct" or the perfect pinball physics addition for
VP9 nor was it my own personal view of what pinball should be, but provided a sub routine that I did feel at the very least helped give people options. There's enough people on here that liked it, wanted me to help them with their tables, and used it themselves to clearly show it was not merely "one personal" view on it seemingly helping
VP visuals / ball motion at the time. Try the
VP9 version of Centaur that I made with fuzzel and tuned using BMPR and show me a better playing version of that table using the default
VP9 physics. Without / before ball spin,
VP9 was always going to be limited and everything done on a computer for pinball in general is still "faking" it in some way or another. I created the routine with a ton of configuration and internally documented parameters to fundamentally provide a adjustable tool that could be used to help further tune the
VP9 tables to one's tastes and how one felt it may potentially get closer to the visuals and ball movement on a real table. The complexity of it was more in getting the ball tracking up and running correctly than it was from adding the BMPR code itself. After playing most
VP9 tables then going and playing a real table for the first time in years (back 4 years ago now) it was astonishing how much faster
VP9 played and how much more lateral travel and gradualness the ball had in real life especially older SS and EM tables and why I started developing the routine when I came home that same evening.
VP9 did appear to have short comings in lateral ball movement and transition from up table to down table while trying to keep other physics settings balanced. The most that was personal about BMPR from my angle was the recommendations, when others employed it, for things like setting the table friction and lowering the slope overall and most importantly that all table objects needed to be updated with higher elasticity settings to best / appropriately use it.
The biggest component and complexity or tediousness for both BMPR and now with VPX is the same general thing, one needs to spend the time / effort and go around to every single collidable object on the table (or collections of similar objects) and appropriately adjust the physics to get more realistic play out of a table (with BMPR and PhysMOD one had to do that for at least elasticity, with VPX you now have to do that for elasticity and friction).
jimmy, thanks for the detailed response once again, I am afraid however you have gone way over my head, as firstly I'm pretty new to this hobby and have no idea what BMPR is, but did a little reading on your posts on the Firepower table and alas am still pretty lost on what exactly it means or how I would possibly go about implementing it.
Secondly I'm not really sure what exactly the "Elasticity Falloff" does for me.
And does not the slope in VPX match real world slope? you mention a "real life slope of around 6 to 7 (around a 6 setting in VP)" so the 4-5 real life of the older tables would be??
thanks again.
Sorry BorgDog as I missed your original post / questions from a few days back.
As far as BMPR, for obvious reasons I'm not going to get into that much further here but if you search on the forum you can find some detailed posts and demonstration videos of the general concept at least for how it applied to
VP9. If you want to also discuss further than PM me and we'll take it off-line, however, you may want to wait to see one of my VPX / BMPR hybrid tables first to see if you like the effect before investing time on it. I plan at some point, hopefully somewhat soon, to get two VPX versions of early SS tables uploaded but have had other
VP type time allocation aside from table development take precedence up until recently (as well as now further losing a bit of motivation to bother prioritizing the time polishing off and posting any VPX table that might have BMPR as part of it).
Elasticity Falloff is a setting originally on just flippers but now also on rubber objects. It is a setting that diminishes the effect of elasticity / ball collision speeds proportional and increasing with the speed of the ball at time of impact. It is not currently available on wall objects. It is a good basic and native option for allowing high elasticity settings on flippers or rubber objects (for keeping good bounce on low speed collisions) but allowing for higher speed collisions to be cushioned / reduced / tamed and helps prevent the ball flying around the table at high speeds while using higher elasticity settings. This falloff setting helps as without
VP being able to currently model the compression that occurs with the rubber and also helps, it seems, to mimic the loss of energy from other aspects of high speed collisions on real tables (a bit of air ball, vertical trajectory diminishing X/ Y speeds that also doesn't occur the same in
VP). I mentioned in a post above that I believe that there's a chance in how it's implemented could effect the trajectory but that's only based on some visual observations only and I still have to look back at the source code to confirm (that's party of why I personally use a modified external "dampening" routine and one that I also add a little bounce at very low speeds to help keep the friction on a table higher).
Here is a link to some descriptions about VP10/X's new physics that started with PhysMOD. It's my understanding that the page was created initially by Mukuste himself (developer of the initial PhysMOD / updated physics for
VP). The Elasticity Falloff description is under the flipper options:
I understand that my comments about 6-7 degree slope for real world modern pinball tables being set in VPX to to a slope value of 6 can seem odd and I would say that ideally they should match but I don't think they quite do. Or at least it seems safer and more within range of decent playability to go for the lower end of that range but using 6 at the highest. Most of the modern pinball recreations I personally feel play nice natively in VPX are using a 5.5 or 5 slope with still a gravity of 1 and friction still relatively high / close to recommended values (again see that link above). The other key thing is that we are able in
VP to set / manipulate friction and gravity unlike the real world for pinball (a little for friction I suppose with polishing or how the PF is managed but not at all to the same extent we can set it in
VP). So with these other settings adjusted, slope becomes less directly relatable and different to say the least and more subjective to how other things are set. Problem again with lower slopes is that if setting for an EM around 4 (or what may seem "logical" for already described with
VP from above to 3 or so), the table does seem to start to not quite look right for down table ball acceleration so this value of slope to me at least in VPX does seem to differ from the exact real world counterpart.