Bumper Pool and Billiards (Original)

Flipperless Original Table BAM FP Bumper Pool and Billiards (Original) v2.0 BAM

No permission to download
Future Pinball
@ravarcade
@wild
@AnonTet

@Ike Savage
@JonPurpleHaze
@polygame
@TerryRed
@GeorgeH


Game keys
1. left and right arrow to aim
2. Up arrow changes view to Camera over cue or zoomed out view
3. Down arrow flips cue during aiming
4. Plunger key hold and release for variable strength and hitting cue ball
5. Special1 or Special2 keys will rotate zoomed out camera view by 90 degrees

6. If a foul is assigned ( for Wiffed ball, no rail hit, hit wrong suit, no ball hit) then next player gets "ball in hand"
Use arrows to move Green Marker ball and press "V" when happy and it should place cue ball at that location

7. At any time the cheat for activating the green marker is the "X" key , again press "V" when happy

8. To Add Spin to ball during shot , use the "<" key . A larger ball model with a dot will appear
Use the arrow keys to change location of spot . Then either press "<" key again or just go ahead and take you shot using the "plunger key" as per usual.

9. "B" on keyboard will swap players

10. "M" on keyboard to turn aiming arrow on /off


Ok here is the current state of things with many bugs... but I thought would give an update. I have asked Rav a few questions that are stumping me.

Here is what I added:
1. the Theme song from the hustler
2. A gif video of Hustler intro
3. I added Stan Lee as player 1 and "the Boss" as player 2. And added gestures of approval vs disapproval based on success or failure.
4. I added "Ball in Hand" fouls for :
- no ball hit
- no rail hit
- Wrong suit hit
(-scratch....temporarily disabled due to glitches)
5. I added preliminary code for ball spin or "masse" shots. At this point just top spin and back spin.
Basically the "spin" is added using either a positive or negative directional magnet pulse . It is added once cue ball hits another ball or the rail....very cool that I can add a magnet selectively to any ball anywhere on the table if I wish....thanks Rav!
View attachment Billiards.mp4
6. I was able to remove any and all balls from anywhere on table by grabbing a hidden kicker in a miniplayfield and moving it to each ball to destroy them. And then I can move a kicker to anywhere on table to create a ball at that point...pretty cool Rav !


Anyways ....lot of bugs and it will likely crash sometimes but here it is
 

Attachments

  • BilliardsOct12-Rav.zip
    130.7 MB · Views: 89
Last edited:
Quick test but I got into an error that you may or may not be aware of.

I pot a ball as P1 but the cue ball was went to the pocket. The player was changed to p2 and i when pressed the right arrow key I got this:

line 1451:
"object required ball"

I like where this is going :)
 
Thanks for the feedback.
That is the main error that I am trying to solve with Rav's help
It seems to occur intermittently during the time the cue ball is being replaced and the code is asking for the cue ball that doesn't exist yet....
 
I'm also getting 'lost ball' errors a lot. I look forward to giving this a better play-through once that's cleared up, as the table takes a longish time to start each time.

FEEDBACK

- The balls seem a little too 'drifty' at this point. On my version, I tweaked this by adding a friction process to remove a small amount of velocity from all rolling balls. Felt top vs. polished surface seems the obvious explanation here.

- When using left & right keys, it would help if the cue speeds up after a moment or two. Otherwise it's kind of tedious waiting for it to rotate where you want it to go.

- I had some issues with the full field of view being cut off when in windowed mode, and switching to full screen seems to have solved that. Not sure if this is something people need to be aware of or not.

- This is a 'fine-tuning' issue, but the stick is often meeting the cue somewhat oddly at the moment. An obvious issue is on the break shot, but that's just cosmetics. Where it becomes a real issue is that right now you can strike the cue no matter if balls are blocking the shot, which should either make that particular angle impossible, or require the cue to be lifted higher, shooting downwards more. Getting that sorted out sounds like a potential PITA to me, though, so maybe in a future version, eh?

- I was getting the crash issue when I tried the English function, but I'm excited to see how that's going to work once fixed. Also really nice to see various balls spinning authentically the way they do, which I always struggled with on my game.

- Possibly this is me just being a FP noob, but a little popup help box might be nice for mentioning the relevant keys in this game. I'm still kind of struggling to get the view I want, even though there's a million options. but maybe that's just my noobiness. Still, a popup box couldn't hurt.
 
I'm also getting 'lost ball' errors a lot. I look forward to giving this a better play-through once that's cleared up, as the table takes a longish time to start each time.

FEEDBACK

- The balls seem a little too 'drifty' at this point. On my version, I tweaked this by adding a friction process to remove a small amount of velocity from all rolling balls. Felt top vs. polished surface seems the obvious explanation here.

- When using left & right keys, it would help if the cue speeds up after a moment or two. Otherwise it's kind of tedious waiting for it to rotate where you want it to go.

- I had some issues with the full field of view being cut off when in windowed mode, and switching to full screen seems to have solved that. Not sure if this is something people need to be aware of or not.

- This is a 'fine-tuning' issue, but the stick is often meeting the cue somewhat oddly at the moment. An obvious issue is on the break shot, but that's just cosmetics. Where it becomes a real issue is that right now you can strike the cue no matter if balls are blocking the shot, which should either make that particular angle impossible, or require the cue to be lifted higher, shooting downwards more. Getting that sorted out sounds like a potential PITA to me, though, so maybe in a future version, eh?

- I was getting the crash issue when I tried the English function, but I'm excited to see how that's going to work once fixed. Also really nice to see various balls spinning authentically the way they do, which I always struggled with on my game.

- Possibly this is me just being a FP noob, but a little popup help box might be nice for mentioning the relevant keys in this game. I'm still kind of struggling to get the view I want, even though there's a million options. but maybe that's just my noobiness. Still, a popup box couldn't hurt.
Thanks for the feedback Ike

I agree with all your points .
I expanded the features and it creates so much more to track and fine tune but everything seems doable if i dont get too many bugs mucking it up
 
Thanks for the feedback Ike

I agree with all your points .
I expanded the features and it creates so much more to track and fine tune but everything seems doable if i dont get too many bugs mucking it up
Just out of curiosity, what's this project been like for you compared to your earlier projects? Were they equally demanding in all these ways?

This one right here sure seems like a doozy(!)
 
Just out of curiosity, what's this project been like for you compared to your earlier projects? Were they equally demanding in all these ways?

This one right here sure seems like a doozy(!)
@TerryRed
@wild
@ravarcade
@AnonTet
@JonPurpleHaze
@polygame

Great question !
Brace yourself :)

I haven't had as much time to work on this as I would hope. And I have all the BAM features that Rav has enabled over the past 5 years or so rattling around in my noggin and no place to put them :)

I have wondered about their limitations and how to explore their possibilities. And Rav always seems to find a way to answer challenges.

So these flipperless tables although they are off the beaten path do allow to me to investigate some things.

Billiards posed significant challenges:
1. Remove the FP default pinball Cabinet and leave behind only the playfield.
I previously accomplished this using a series of MP grab boxes but Rav has come up with a simple code.

2. Set the slope of the playfield to zero. Fp table editor and FP xml code only allow for minimal slope of 1.
I had to grab the playfield in a MP grab box and then rotate in the x axis by 1 degree.
This works well but seems to create some artefacts in aligning the cue properly at different areas in the table.

3. Superimposing a Pool table model. Using Bam MP grab box the Pool table was scaled and position over top of the FP playfileld.
Trying to match the slope and scale of the table model to underlying walls and kickers of the playfield is a bit of challenge.

4. Using hidden walls for the pool table rails in FP table editor proved useful and using BAM physics tweaks these wall can be assigned as Rubber with tweakable elasticity settings.

5. Also using BAM xml coding and physic tweaks numerous other physics properties can be tweaked.

6. Using FP model editor to tweak the size of the kickers to match the hole size of table model. Using non rendered kickers to create each ball.

7. Creating 16 uniquely trackable balls. FP can't track even one. Rav has created the ability to track balls (by speed, position, direction etc..) but we have never tracked more than one at time ! One limitation seemed monitoring when each ball was hit and specifically when each ball stops rolling and which ball is hit first etc....In order to do this I monitored every balls speed. So if the speed of all balls is zero it is time for next turn. The first ball to have a speed greater than zero apart from the cue ball is the first ball hit (actually is used >5 as BAM sometimes gave a speed artefact value to balls at rest). Monitoring for Rail Hit events as well.
All this allows for assigning "fouls" to various table events.

8. Adding high resolution textures to balls while at the same time maintaining ball shadows. Rav coded to attach 16 textured ball toys using 16 MP's to 16 almost invisible balls. The "almost invisible" part allows for BAM ball shadows to persist.
Using this approach BAM can track the almost invisible balls and/or the 16 MPs that are attached. This allows great opportunity for keeping track of many game events...and of course opens pandoras little box of bugs. :)

9. Applying a magnetic pulse to just one ball on the table. This is how we are able to create the illusion of the cue striking the ball. and how I hope to add the illusion of a delayed spin that you add to the ball. Once again Rav created code to enhance the magnetic field features of BAM.

10. Assigning a pool cue animation uses a combination of Wild's FP toy animation( for the forward and back motion) and BAM's
MP grab tool and Ball position tracking to have the pool cue find the where to go and for rotations. The forward and back
is used as a reference point to strike the ball with different strengths.

11. Assigning an aiming arrow was accomplished again using a MP grab box and attaching it to the ball using BAM ball tracking.

12. Resetting the table at the end of the game was initially accomplished by turning on a magnet and sucking all the balls into the pockets...but this looked very weird and sometime created errors of balls jamming the pocket or two balls draining at once.

So using BAM MP grab tool I was able to grab a kicker and move it to each ball on the table using BAM ball tracking code and using MP physics moving function was able to destroy each ball. To make this kicker invisible I simply used Franzleo's invisible kicker model. This works great !

13. "Ball in hand" fouls are proving to be buggy and causing crashes. But I think we will get it sorted.
using MP grab tool I was able to grab a green ball model than the user can place anywhere on the table using the arrow keys.

Then using the method in 10 above , I am able to find and remove the cue ball where ever it is on the table.
The kicker can then be moved to exact location of the "Green marker ball" and the cue ball created there.

12. Adding Ball Spin/ Masse shots
This will prove to be an adventure. I have noticed that Rav's "impulse" or magnet pulse code for striking the ball can be adjusted
and can cause the ball to jump...so this could be cool for "jump shots"
There is no easy way to add spin and I am not sure how refined the magnet pulse can be...for instance if the Range of pulse or elevation or location of the pulse is tweaked will that create spin effects ?

In actual billiards top spin and back spin I tend to use (I am no pool shark but do have a table) for effects on first ball I am striking with the cue ball. So for instance if I don't wish the cue ball to follow the object ball into the pocket I add a little back spin or to "suck the cue ball back" after collision for better positioning on next shot. Or if I wish the cue ball to keep driving and rolling after impact, I add a bit of top spin. So these effects are noted or added upon collision with the object ball.

So again using a MP grab box , I grabbed a dummy ball model with a marker spot on it and superimposed it on the cue ball
and then using the arrow keys created code for rotating the spot as a reference point for the location and quantity of desired spin to be added.

And then using the "which object ball is hit first" code above....I assigned a directional magnetic push or pull to the cue ball after impact. This strength of this can be adjust based on initial shot strength and the location of the dot on the spin marker that you set.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Cosmetic Stuff

14. I haven't done much on this yet... and am not an artist.
I used BAM code to remove standard FP games room and added a VR room. The textures can be changed etc....

14. I added one animated gif of the hustler movie intro so far.
Currently it is annoying but I will move it out of the way and perhaps add movie animations of Paul Newman and Jackie Gleason based on Table events.....CPU processing and memory allowing

15. I added two character models with mixamo animations "Stan Lee" and "the Boss"
I may added more to choose from ...CPU processing and memory allowing.
I thought of using Movie footage of Stan Lee's MCU cameo's for his character that appear based on game events.

16. I added the hustler movie jazz music ....but will add a playlist or two that can be selectable....CPU processing and memory allowing.

So to answer you question Ike it has indeed been a journey....and once all this stuff is realized then everything can be tweaked to smooth things out and improve physics etc....

One obvious question is why do all this ? This is a pinball emulator after all !
I do think this helps refine the BAM features described above and these can be used to great effect for pinball games.
And exploring ideas and pushing the envelope has always appealed to me.

Video Ball In Hand placing of cue ball after fouls:
View attachment Future Pinball 2020-10-14 08-46-35-37.mp4


















Video : Removing all balls and resetting the table
View attachment Future Pinball 2020-10-14 08-48-45-08.mp4
 
Last edited:
Really impressive stuff. And obviously, thanks for all.
BAM would not be what it is without this kind of work.
 
BAM would not be what it is for "any" of us without you constantly trying and testing it features!

"why do this?"

Why not! Everyone has their tool of choice, and its cool when someone can make it do things it wasn't designed to do. It inspires others.

Very cool stuff Gimli.
 
Wow, I hadn't fully realised what an envelope-pushing multi-project this one was.

Also sounds like a real pain trying to do this in a non-zero slope situation. Makes me wonder how easily or non-easily the FP app could be modified to be true zero slope.

I have no real idea how FP & BAM fit together on a technical level, either. For example, was FP designed like VP, in that DLL's were intended to plug-in harmoniously, or does BAM create a sort of special environment that FP (and other programs) run inside of?

A lot of this seems to relate back to Black making hard design decisions and then sort of abandoning further development, plus shutting down any possibility of going open source, unlike what VP did. It's kind of uncanny actually, being part of the VP scene long ago, witnessing a bunch of stuff (a lot of pretty controversial) that happened with Black, and now seeing the fallout from it all these years later.

Bit of a ramble there... apologies. :p
 
Ya I think Black sold FP to a company that planned on selling pincabs with original pinball games. Ti and polycab were involved in providing content. But it didnt work out.
BAM has certainly renovated many of FPs shortfalls. But there are only a few of us perhaps 10 people trying to integrate the new stuff.
 
Ya I think Black sold FP to a company that planned on selling pincabs with original pinball games. Ti and polycab were involved in providing content. But it didnt work out.
Hmm. I started to fade out of the scene in the late aughts, and must have missed that part. If true, that definitely changes some things in terms of my understanding.

BAM has certainly renovated many of FPs shortfalls. But there are only a few of us perhaps 10 people trying to integrate the new stuff.
I have to wonder again how much damage that famously incomplete Wikipedia entry did to the FP scene. For example, I'm guessing loads of people running pinball emulation still don't know that BAM essentially picked up development of FP, and that FP (via BAM) now has much better physics than it originally did.

So I'm thinking a lot of people still consider FP to be obsolete, or that it takes a back seat to other emulators in the scene, when it just isn't true. Which I assume would naturally cut down on FP authors in general, and BAM authors more specifically.

Guess I'll try to start a small project to recondition that WP entry. Maybe it's not too late to help out...
 
@ravarcade
@wild
@AnonTet

@Ike Savage
@JonPurpleHaze
@polygame
@TerryRed
@GeorgeH

Ok here is an update that fixes most of the "ball" missing crashes....

Game keys
1. left and right arrow to aim
2. Up arrow changes view to Camera over cue or zoomed out view
3. Down arrow flips cue during aiming
4. Plunger key hold and release for variable strength and hitting cue ball
5. Special1 or Special2 keys will rotate zoomed out camera view by 90 degrees

6. If a foul is assigned ( for Wiffed ball, no rail hit, hit wrong suit, no ball hit, scratch) then next player gets "ball in hand"
Use arrows to move Green Marker ball and press "V" when happy and it should place cue ball at that location.
***Note you must wait while it says "Spotting Cue Ball" it will crash if touch a key during this process....

7. At any time the cheat for activating the green marker is the "X" key , again press "V" when happy

8. To Add Spin to ball during shot , use the "<" key . A larger ball model with a dot will appear
Use the arrow keys to change location of spot . Then either press "<" key again or just go ahead and take you shot using the "plunger key" as per usual.

9. "B" on keyboard will swap players

10. "M" on keyboard to turn aiming arrow on /off


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

1 .I added more rapid aiming rotations of pool cue as per Ike's suggestion above

2. I limited the add spin dot to just top spin and back spin for now.
The code I am using is based only on angle of rotation up or down of "spin reference dot"and not on cue strength and I arbitrarily chose this:
Code:
SpinFactor =  (Angle2 * .1)/2

So for a rotation of 60 degrees topspin you will get an magnet pulse of 3 in the forward direction on impact
and a rotation of say 40 degrees backspin you will get a magnet pulse of 2 in the backward direction on impact

If you play in debug mode pressing F9 from table editor, you see the "Spinfactor" that has been added when you use the add spin feature.

3. I added ball in hand for Scratch fouls...
ADDENDUM: oops I just realized from video that Scratch foul returned turn to offending player....fixed and updated below I think....

View attachment Future Pinball 2020-10-18 13-15-53-84.mp4
 

Attachments

  • BilliardsOct18.zip
    130.7 MB · Views: 69
Last edited:
Ya I think Black sold FP to a company that planned on selling pincabs with original pinball games. Ti and polycab were involved in providing content. ...
Well, it was a little (bigger in fact) different...
 
Well, it was a little (bigger in fact) different...

If you have more accurate info, please do share, as many of us where not around in the community back then.

According to the owner of vpforums, Chris still has total and legal ownership of FP. The last time anyone heard anything from him was when he chimed in to compliment BAM years ago. It would be nice to hear from him the full story (I understand it wasn't the best time for him apparently back then).

Those of us who still create content for FP, or have made it do things many thought was never possible (like gimil's post here), would love to hear from him on his impressions. We're big fans after all.
 
Based on what Destruk was saying here, it looks like Ultracade was planning on licensing FP at one point. That's just one comment of course, and I haven't investigated further, but Destruk is (or was?) about as insider of a guy as it gets.

Probably not hard to see why it didn't wind up happening though, as the core VP-based project turned out to be not the money-maker they'd hoped for, plus I'm guessing they (rightly) felt they'd need to completely overhaul the physics engine.

Thanks for the update, Gimli. I'll take another look in a day or two.
 
I think popotte was also a content provider for Ultracade :wink:
 
I think popotte was also a content provider for Ultracade :wink:
Yes, and before giving you more details, I have to refresh my old memory and crawl in my very old mails.
 
au lieu de vous raconter des films , le plus simple est de demander à un australien de lui poser directement la question à Perth. lieu de sa résidence.
 
au lieu de vous raconter des films , le plus simple est de demander à un australien de lui poser directement la question à Perth. lieu de sa résidence.
De qui parles tu? ...@StevOz?

EDIT: Oh... Black. Je suis un idiot. :D
So you and Chris Leathley live in the same metropolitan area, Steve?
 
Last edited:
au lieu de vous raconter des films , le plus simple est de demander à un australien de lui poser directement la question à Perth. lieu de sa résidence.
as he will not answer, it will not advance us much...
 
Used to live in the same city Perth many years ago before virtual pinball existed.

Actually I have a suspicion he may have been an arcade rival of mine signing with PS on many a Defender machines back in the 1980s.
 
I see that the system was called Multi Pin by Nanotech

Here is where is mentions Polygame:

And Tii:

And I think some of these titles were done by Popotte and Polygame ?
 
Forum activity
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: jumpyspider is our newest member. Welcome!
      Back
      Top