Sonic Pinball Mania (PinEvent V2, FizX 3.3) (Original, 2022)

SS Original Table FizX BAM FP Sonic Pinball Mania (PinEvent V2, FizX 3.3) (Original, 2022) 2.0

No permission to download
Solid State Machines
Future Pinball
Sorry Terry ---I downloaded your table to-day and the .zip file was empty. Is this something on my end or Nirvana?

Definitely on your end. Try a different browser maybe? Be sure you are using the latest 7zip to extract it.
 
I decided to create a "rotated display" version for use on my PC as you can see in the screenshot. It definitely helps to be able to see what is going on in the upper playfield. Of course I had to tweak it a bit. I changed the "Ambient" light setting from .0.075 to 0.088 in the script. The light inserts on the playfield seemed a bit dark. I found the "Inserts_Brightness_GI_ON" setting in the script but when I increased it didn't seem to go any higher. I have found that BAM brightness of lights tends to max out before I want it to on other tables. Then I noticed the glow brightness of the inserts was set to "0". I ended up increasing the setting to "12".

Sonic Pinball Mania (1.0) CAB2.png
 
Definitely on your end. Try a different browser maybe? Be sure you are using the latest 7zip to extract it.
Thnx I got it from VP. I'm so WOWed It'll take some time to sink in. lighting is unbelievable. Thank-you so very much for all your work!
 
@GeorgeH

Looks nice. Not many people play with a single vertical monitor, but its still nice that FP allows it to be possible one way or another. Is that using Arcade mode or just normal desktop view (with rotation)?

It's funny how everyone desperately wants to see that HUD while playing (in cabinet or desktop,etc). Makes the extra effort in making them more appreciated.

I kept the inserts a bit dimmer, because they get blown out too much with Robotnik's spotlight on them... and also I like to see the detail / bump maps from the inserts images (which are all grey). I don't use the glow flare sometimes because with mesh inserts that are sunken into the pf, the glow flares look odd floating above the light... especially in desktop or VR views.

You'll notice I no longer use the lights with flares at the top of plastics anymore (to make the plastics look like they are "on"). Now I prefer to change the plastics texture to look like they are lit up, and swap that image out for GI on and OFF. Something I did on Silent Hill... and will do on most table mods / updates I do.... combined with adding ramp shadows to the plastics image and the playfield as well. Makes a huge difference... and I'll be doing that on all my releases old and new as well.

I find that sometimes the global lighting / position has a very different effect on the table depending on if you use Arcade mode compared to normal desktop view.

I also hope non rotated desktop players try out the static camera views from the included CFG instead of the FP default scrolling views. So much nicer than having the table scroll up and down all the time. Its a feature I think most people never try using (and the default BAM static Camera views are not good to use).
 
Last edited:
@GeorgeH

Looks nice. Not many people play with a single vertical monitor, but its still nice that FP allows it to be possible one way or another. Is that using Arcade mode or just normal desktop view (with rotation)?

On the preferences screen, I always check full screen mode with widescreen whether I play rotated or full table 2. I think that Arcade Mode turns the backglass off, if I remember correctly. Full screen allows me to see the bottom of the translite (with the DMD and overlay) and the playfield on the same screen. I set BAM up so I can turn "Force Arcade Mode" on and off with the + key on the number keypad. When I change the the rotation to 270 degrees, I turn "Force Arcade Mode" on and turn it off when using full table 2 mode. It is basically the same set up on the static cam menu like you would use on a cabinet. You can't use the HUD on rotated display for the same reasons you don't use it on a cabinet. I always include a PDF file in the downloads of the tables I post on how to set it up.

You might want to try the new spinner code on this table. The spinner doesn't seem to spin very many times after it is hit. I added the basic code on the last version of Space Shuttle. If you use the default spinner on a table top, the spinner seems to spin too long sometimes so some of the guys have altered the code a bit. I am not sure what it will do on your custom spinner.
 
i was never really a big fan of FP when i had finally figured VP out and got it working correctly but FP was what i 1st started with and FP took a back stage, then BAM and @TerryRed comes along and i find myself playing more especially these type of creations, i am very pleased with what he has done, ok even if its not your kinda table there is no need to be disrespectful and rude jog on i say, the amount of work that has gone into this is impressive, i for 1 love it and with over a 1,000 views on my u-tube channel other do as well.
 
I really need to revisit the rotated screen for FP. Haven't use VR so the difference is big coming from VP to FP because a lot is space is wasted in landscape.

This is one of the tables that obviously benefits from bigger screens
 
So, uh... Sonic! It looks great!
@TerryRed if I ever escape the lands between and get back to pinball, I might have to finally install FP and give it a try! I'd be breaking my commitment to wait for RF2/Silent Hill, but maybe Elden Ring will take me that long anyway
:mrhappy:
 
Very cool, the game plays great here even on my old i3/3.4GHz/GTX660, 50+ fps, everything seems, smooth enough, it's just the ball animation that seems to cause it to skip a beat, makes me wonder if turning off all the ball effects or some of them might be worth it here. Also had that floaty ball render, gather that is also a side effect of the old PC dragging its legs.

Top-notch, I do think that spinner needs to be a bit more sonic, and I did have it stick in a horizontal position once.
 
I have found that the table performs better if you add dynamic flippers to the 3 upper flippers. It especially helps the upper left flipper where the ball always seems to hit a post that is close to the flipper. Just search the script for "Dynamic Flipper Settings" and add the code below to the section below that.

Code:
Dim omegaCorrection1
Dim omegaCorrection2
Dim omegaCorrection3

const MaxOmega1  = 45  ' Omega at base of Flipper1.  Must be > MinOmega. Default = 45
const MinOmega1  = 32  ' Omega at tip of Flipper1. Must be < MaxOmega. Default = 32

const MaxOmega2  = 45  ' Omega at base of Flipper2.  Must be > MinOmega. Default = 45
const MinOmega2  = 32  ' Omega at tip of Flipper2. Must be < MaxOmega. Default = 32

const MaxOmega3  = 45  ' Omega at base of Flipper3.  Must be > MinOmega. Default = 45
const MinOmega3  = 32  ' Omega at tip of Flipper. Must be < MaxOmega. Default = 32

Sub Flipper1_prehit()
   OnPreHitFlipperSettings(Flipper1Ext)
      omegaCorrection1 = MaxOmega1 - (Flipper1Ext.ContactPoint * ((MaxOmega1 - MinOmega1)/1.2))
      If Flipper1Ext.ContactPoint < 0.0 then Flipper1Ext.Omega = MaxOmega1
      If Flipper1Ext.ContactPoint > 1.2 then Flipper1Ext.Omega = MinOmega1
      If (Flipper1Ext.ContactPoint => 0.0) And (Flipper1Ext.ContactPoint =< 1.2) then
         Flipper1Ext.Omega = omegaCorrection1
      End if
End Sub

Sub Flipper2_prehit()
   OnPreHitFlipperSettings(Flipper2Ext)
      omegaCorrection2 = MaxOmega2 - (Flipper2Ext.ContactPoint * ((MaxOmega2 - MinOmega2)/1.2))
      If Flipper2Ext.ContactPoint < 0.0 then Flipper2Ext.Omega = MaxOmega2
      If Flipper2Ext.ContactPoint > 1.2 then Flipper2Ext.Omega = MinOmega2
      If (Flipper2Ext.ContactPoint => 0.0) And (Flipper2Ext.ContactPoint =< 1.2) then
         Flipper2Ext.Omega = omegaCorrection2
      End if
End Sub

Sub Flipper3_prehit()
   OnPreHitFlipperSettings(Flipper3Ext)
      omegaCorrection3 = MaxOmega3 - (Flipper3Ext.ContactPoint * ((MaxOmega3 - MinOmega3)/1.2))
      If Flipper3Ext.ContactPoint < 0.0 then Flipper3Ext.Omega = MaxOmega3
      If Flipper3Ext.ContactPoint > 1.2 then Flipper3Ext.Omega = MinOmega3
      If (Flipper3Ext.ContactPoint => 0.0) And (Flipper3Ext.ContactPoint =< 1.2) then
         Flipper3Ext.Omega = omegaCorrection3
      End if
End Sub
 
I have found that the table performs better if you add dynamic flippers to the 3 upper flippers. It especially helps the upper left flipper where the ball always seems to hit a post that is close to the flipper. Just search the script for "Dynamic Flipper Settings" and add the code below to the section below that.

Code:
Dim omegaCorrection1
Dim omegaCorrection2
Dim omegaCorrection3

const MaxOmega1  = 45  ' Omega at base of Flipper1.  Must be > MinOmega. Default = 45
const MinOmega1  = 32  ' Omega at tip of Flipper1. Must be < MaxOmega. Default = 32

const MaxOmega2  = 45  ' Omega at base of Flipper2.  Must be > MinOmega. Default = 45
const MinOmega2  = 32  ' Omega at tip of Flipper2. Must be < MaxOmega. Default = 32

const MaxOmega3  = 45  ' Omega at base of Flipper3.  Must be > MinOmega. Default = 45
const MinOmega3  = 32  ' Omega at tip of Flipper. Must be < MaxOmega. Default = 32

Sub Flipper1_prehit()
   OnPreHitFlipperSettings(Flipper1Ext)
      omegaCorrection1 = MaxOmega1 - (Flipper1Ext.ContactPoint * ((MaxOmega1 - MinOmega1)/1.2))
      If Flipper1Ext.ContactPoint < 0.0 then Flipper1Ext.Omega = MaxOmega1
      If Flipper1Ext.ContactPoint > 1.2 then Flipper1Ext.Omega = MinOmega1
      If (Flipper1Ext.ContactPoint => 0.0) And (Flipper1Ext.ContactPoint =< 1.2) then
         Flipper1Ext.Omega = omegaCorrection1
      End if
End Sub

Sub Flipper2_prehit()
   OnPreHitFlipperSettings(Flipper2Ext)
      omegaCorrection2 = MaxOmega2 - (Flipper2Ext.ContactPoint * ((MaxOmega2 - MinOmega2)/1.2))
      If Flipper2Ext.ContactPoint < 0.0 then Flipper2Ext.Omega = MaxOmega2
      If Flipper2Ext.ContactPoint > 1.2 then Flipper2Ext.Omega = MinOmega2
      If (Flipper2Ext.ContactPoint => 0.0) And (Flipper2Ext.ContactPoint =< 1.2) then
         Flipper2Ext.Omega = omegaCorrection2
      End if
End Sub

Sub Flipper3_prehit()
   OnPreHitFlipperSettings(Flipper3Ext)
      omegaCorrection3 = MaxOmega3 - (Flipper3Ext.ContactPoint * ((MaxOmega3 - MinOmega3)/1.2))
      If Flipper3Ext.ContactPoint < 0.0 then Flipper3Ext.Omega = MaxOmega3
      If Flipper3Ext.ContactPoint > 1.2 then Flipper3Ext.Omega = MinOmega3
      If (Flipper3Ext.ContactPoint => 0.0) And (Flipper3Ext.ContactPoint =< 1.2) then
         Flipper3Ext.Omega = omegaCorrection3
      End if
End Sub
I agree George
I sent Terry a modded table with the above , plus the Spinner code from Space shuttle , plus my Tilt code
The Tilt code , I really like, but others may not.

In Fp the Tilt warnings don't reset after a specified time and it doesn't reset between balls
So you never know which nudge is going to tilt the table. It's like playing Russian Roulette.
With my Tilt warning code . you get a DMD notification and sound with each warning. If you nudge immediately after the 4th warning it tilts.
If you wait 5 seconds after the 4th warning then in resets the warning back to zero

I find this adds a measure of excitement and strategy to game play.

If you hear the 4th warning or see it displayed on the DMD, you know to be careful or can cradle the ball for 5 seconds until you hear the recharge sound or get the DMD message that tilt system has been "recharged".

Then you know on you next shot you can nudge aggressively until you get the 4 th warning again
 
Last edited:
Thanks for the feedback and examples gents.

Won't promise I'll use everything, but for sure I'll try to fix that spinner (I thought it was fixed and hadn't seen it get stuck ever since).

This table is much easier when everyone understands that you can very easily shoot to the center vuk which kicks to the mid left flipper, which you can then trap the ball every time very easily. Then you have full control at that point from that flipper. So many people just hit the ball off the flipper and never try to trap and control it. Table is so much easier when you trap and control.

I'm pretty happy with the mid left flipper as it plays exactly how I wanted it to, and I never have a problem hitting the post. I like being able to trap it and flick it up to the loop ramp kicker above it (or shoot to the upper right if needed). I'm really surprised when I watch people play how no one seems to trap the ball on flippers (or use nudge to move the ball more to the flippers). People just hit flippers and hope for the best.

Flippers / physics updates are no rush, as DF2 is on the horizon, and I don't want to keep doing this over and over again... but if I can get a quick and easy DF1 update I'm happy with, I'll try. TILT is something I may be updating anyway for use with PinEvent and real TILT Bobs. I like the idea of reseting the TILT warning after x time, but the rest is a wait and see as I need it to work with a TILT Bob function for PinEvent.

My focus right now is completely updating PinEvent to V2, which will make it much more refined and simpler for everyone, and won't "require" any external vbs files at all. The tables will be all self contained. So that means PinEvent code, smoke ball rolling, dof, pup ssf, pup dmd, DF1 / DF2 (in the future) will not need any extra vbs files for my releases. (but if you want to use pup / dof, you need those installed of course).

This means the table will do lots of "checks" for everything and if dof / pup are not detected / available then it will fall back to normal FP and normal FP sounds for everyone (instead of pup ssf). There will still be a PinEvent_V2_Settings.txt file for global settings for all tables (so the player doesn't need to change settings for every table), but this is optional now. The table will check for that file... and if not found, will fallback to the table's settings for cabinet users, and for desktop users, etc.

The bottom line is... I will now have a singular table release that works for everyone, and won't need any extra vbs files at all just to play it. It will just work automatically.

After Pinevent is updated.... then I need to add Pinevent support (DOF, SSF, PUPDMD) to Sonic, BvP, JYC, and then I need to update the other PinEvent tables as well as their pup-packs.... and also update them for better lighting / shadows / ray cast. That's a lot of work.... and I really need to do all that first... and then I really want to get back to Silent Hill and RF2 (all this needs to be done before that).

PHEW!
 
Last edited:
In Fp the Tilt warnings don't reset after a specified time and it doesn't reset between balls
So you never know which nudge is going to tilt the table. It's like playing Russian Roulette.
With my Tilt warning code . you get a DMD notification and sound with each warning. If you nudge immediately after the 4th warning it tilts.
If you wait 5 seconds after the 4th warning then in resets the warning back to zero

I find this adds a measure of excitement and strategy to game play.

If you hear the 4th warning or see it displayed on the DMD, you know to be careful or can cradle the ball for 5 seconds until you hear the recharge sound or get the DMD message that tilt system has been "recharged".

Then you know on you next shot you can nudge aggressively until you get the 4 th warning again
In a real pinball, "tilt" doesn't reset between balls (or players). And after a tilt, you must shake carefully the pinball because the bob is still active.
Unfortunately, you can't change the value of the warnings, but you can allow a hudge value for warnings and even disable the tilt mechanism.
 
Yes in Sonic Pinball Mania, if anyone ever gets to Super Sonic.... you'll notice I have it so that you never ever can TILT (no matter how much you nudge it) and it won't drain. Super Sonic in the video games is basically invincible... and my mindset was its hard enough to get to the final mode... so I'd rather the player just focus on getting the 6 shots and having fun with the final mode in case they never get there again, or they are on their last ball,etc.
 
is so much easier when you trap and control.
The very essence of pinball; ball control. Well said mate.

Regarding spinner I changed it locally for a much simple reason: spinners should spin :D but I didn't saw it stuck. It might come into place slowly on occasion though.

I can also use the upper flippers well. I can backhand from teh left one to the vuk or send the ball to the right side upper flippers so I can enable mania modes quite well as TerryRed mentioned

I have yet to get to Super Sonic... but I will :D
 
The Tilt code , I really like, but others may not.

You must nudge much more than I do. I don't seem to get tilts very often so I have never used your code but maybe I should try it.

I cradle the ball with the left upper flipper but still cannot hit the kicker above it without the dynamic flipper code. The flipper code makes it so the base of the flipper has more omega so it will hit the kicker every time. without hitting the post.
 
Just to emphasize guys... I'm still recovering from my stroke, and I'm not 100% yet.... so much of the time I'm still very "tired". Getting Sonic completed took a lot out of me.

So when it comes to table fixes, I for sure will add those in. When it comes to "physics"... this is something that everyone has differing opinions on, and everyone wants it to play the way they want,etc.

Simply put... when I release a table... for the most part... its playing how I wanted with how I play tables (lots of ball trapping, nudging, post passing). With the exception of FP limitations (wide flipper shots off the tip, on/off flippers, super sensitive slings / rubbers)... I'm usually fine with most of my releases.

I'm basically saying... I have so much other stuff to focus on... that physics are honestly that last thing I have energy or desire for right now. I spend so much time editing the table's layout / geometry / settings / xml,etc to get it how I like already when I release.... I just don't have the energy to spend on testing physics changes over and over and over again right now. I have many other things I want to get done.

So when it comes to DF1 changes or DF2... please don't expect anything anytime soon for an update from me (as I mentioned before). I'm not saying I won't look at suggestions or try them them out... I will... but please don't expect more than that or hope for them to be added in.

I gotta get back to Silent Hill and RF2 at some point, as I want them to get done "this year"... and I have much more stuff to do before then..... so getting perfect physics (for what others may like) on my releases won't happen anytime soon. I'm glad everyone is loving this table so much (more than I expected)... and at some point it may get those big changes (if I'm happy with them)... but not anytime soon from me.
 
Merci de votre courage
Bravo pour votre passion
Respect à vous !
J'adore toutes vos tables !
Merci aussi pour votre disponibilité et vos réponses toujours précises
Je ne suis qu'un utilisateur admiratif
 
In a real pinball, "tilt" doesn't reset between balls (or players). And after a tilt, you must shake carefully the pinball because the bob is still active.
Unfortunately, you can't change the value of the warnings, but you can allow a hudge value for warnings and even disable the tilt mechanism.
That seems like an unnecessary remnant of original antiquated technology?
Why should the next turn or next player be randomly constrained by a previous players or previous turns mistake
 
That seems like an unnecessary remnant of original antiquated technology?
Why should the next turn or next player be randomly constrained by a previous players or previous turns mistake
Because it's work like that, even for the last pinballs. I think an electronic tilt would be more effective but more expansive.
And if one player does a slam tilt, the game is ended for all the players... Dura lex, sed lex!
 
Just to emphasize guys... I'm still recovering from my stroke, and I'm not 100% yet.... so much of the time I'm still very "tired". Getting Sonic completed took a lot out of me.

Don't sweat it man. You might want to listen to some ambient music and "chill out" (another name for the genre). We're not asking you to post an update. In fact, you don't need to update it at all. Anyone can copy the flipper code and paste it into the script if they want it. I actually never had the spinner lock up. It just doesn't spin very much; no real need to update it. The fact is everyone is playing it or we wouldn't be commenting, which is a good thing.
 
Fixes added so far:

' - added ball saver to the start of each mode
' - added Tilt Warning Recovery control option
' - added DF1 to upper right flippers, adjusted angle slightly (mid-right flipper makes it much easier to hit to Mania Modes when cradled)
' - if Mania Modes was lit when starting multi-ball, it will now be lit again after multi-ball ends
' - changed kicker brake plates to not be set to "Mark as Ornamental"
' - fix for upper flippers not turning off for tilt
' - fix goal post not rotating correctly on drain (should show Robotnik)

...and I'm currently adding in updated PinEvent V2 control code.

Adding in the new spinner code brings back the original problem that I fixed in the table's xml, which was to stop the spinner from bobbing back and forth non stop after its been hit. It should come to a stop. Without the new code it does come to a stop, but occasionally stops horizontally. I need to find a way to have that not happen at a minimum.
 
Fixes added so far:

' - added ball saver to the start of each mode
' - added Tilt Warning Recovery control option
' - added DF1 to upper right flippers, adjusted angle slightly (mid-right flipper makes it much easier to hit to Mania Modes when cradled)
' - if Mania Modes was lit when starting multi-ball, it will now be lit again after multi-ball ends
' - changed kicker brake plates to not be set to "Mark as Ornamental"
' - fix for upper flippers not turning off for tilt
' - fix goal post not rotating correctly on drain (should show Robotnik)

...and I'm currently adding in updated PinEvent V2 control code.

Adding in the new spinner code brings back the original problem that I fixed in the table's xml, which was to stop the spinner from bobbing back and forth non stop after its been hit. It should come to a stop. Without the new code it does come to a stop, but occasionally stops horizontally. I need to find a way to have that not happen at a minimum.
I will look at the spinner code .I just copy and pasted it. It likely has a shut off… or we can add one after a specified time
 
I will look at the spinner code .I just copy and pasted it. It likely has a shut off… or we can add one after a specified time
I am not aware of a shut off but then you are a better coder than I. One thing you might try that I think will stop the spinner from rotating forever is to set up 2 timers on the spinner code. First set it up with the standard code that spins a lot. Then when the timer runs out set it so it doesn't spin. Then shortly after that timer runs out set it with the same spin you started with.
 
I though you guys were using Rav's spinner code!
 
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: qinnuendo has left the room.
      Back
      Top