Tutorial Glossary of Terminology for Future Pinball and BAM

Shadow Maps

A shadow map is simply baking a shadow into a texture. It is useful because it produces less process on the user computer than other methods that might be used. What you end up seeing is an image of the shadows composed over the rest of the playfield texture. BAM records the shadows as simple black and white images. You might think the shadows are painted by the table developer or created by the default Future Pinball program but they are calculated by BAM.

The image below shows the right slingshot of Bally's Star Trek table by Slamt1lt:

Star Trek ULTIMATE Pro 1.044.png

You can see shadows from the two posts on the far right and left. There are two shadows from the two metallic strips. Because of the location of the two bulbs, the kicker arm has some very short shadows that are barely visible under the slingshot. I think that Slamt1lt positioned the two bulbs directly behind the metallic strips so they would cast nice shadows.

The image below shows two top views of the right sling shot and a section of the shadow maps for each of the two bulbs. Image 1 shows the slingshot without any shadow maps. Image 2 shows a portion of the shadow map for the upper bulb and Image 3 is the shadow map for the lower bulb. Image 4 is a top view of the same slingshot shown above with the shadow maps and is basically a combination of the first three images.

Image 1
Image 2
Image 3
Image 4
Shadow Maps.png.
On this version of the image, I overlaid the top plastic on top of the two shadow maps at the approximate location of the slingshot (the alignment is close but not perfect).

Shadow Maps2.png

I cropped the shadow map images so you can compare the slingshots with the shadows easily. The actual shadow maps actually extend out to show the whole playfield. The table developer can change several parameters for how bright the shadow is, how far the shadow extends and a few other things.

Unfortunately, the shadows are not always as visible on some tables as they are on this one. It is because some playfield textures have much more contrast and use even more colors that reduce our perception of the shadows. In fact, even on this table you can see the shadows are more obvious on the red areas of the playfield than they are on the blue area with white spots.

You can see that the shadow maps produce quite a bit of light in addition to the shadows. I sometimes use shadow maps to improve lighting even if the shadows don't show up very well.
 
Bump Maps

Bump Maps add the appearance of a 3D texture to a model. Although the texture is faked, it can be very convincing. The screenshots below are of the model of the moon on the "Apollo 13" table. The screenshot below on the left shows the model of the moon with no texture applied at all. It is completely smooth except for the seam in the middle which I think the original table developer added to make it look like the real Sega table. The center screenshot shows the moon as the model exists on the original table. It has a texture applied to it that is called a "color map". The screenshot on the right is the exact same model with a bump map added. Bump maps are composed of a "color map" and a "normal map". The "color map" is the same texture used on the center screenshot. A "normal map" is created by a program and is calculated from the "color map". Then, BAM combines the "normal map" and the "color map" to produce the effect shown on the right screen shot below.

Gimli wrote a guide on how to create a bump map here:


1593398903115.png
 
Last edited:
Thanks again for this guide, George. I pinned it just now.

Obsolete observations:
I forgot to mention when advocating for this guide that it's a good idea to leave the first post blank so that you can set up an index / table of contents. That table will be a list of the terms hotlinked to the individual posts in the thread.

Here's a little example of such a table. By clicking on a term, you get taken to that page / post:

There are at least two ways to make that blank post. One would simply be to swap the contents of post #1 in to a new post, then use post #1 as the table of contents.

Another method would be to find any non-consequential post of yours earlier than post #1, split it from its original thread, then merge it in to this one. Based on the date, it should then be placed at the top of this thread.

Let me know what you think. I could actually perform the second case myself, if you want me to. Either way.


Anyway, the other reason for me piping up here is that I noticed some other juicy terms in Terry's postin his F14 preview thread:
You can switch at any time between Ultimate Pro music, Original music, Afterburner music (all using my PuP-Pack videos and PuP FullDMD)...

Combined with my new DOF, explosive MX Leds, SSF, PuP Stream
IIRC some of those terms were already defined in Steve / Polygame's thread about 'catching up'. I could try to copy some of those over, I guess, or maybe you want to write to write these up for the sake of consistency?
 
Last edited:
Unfortunately, I know almost nothing about PUP other than it stands for pinup player. I remember TerryRed created a video where he defines all that stuff. I will see if I can find it and post a link to it here.

The first posting has no images so it should move easily. I will try it.
 
SSF (Surround Sound Feedback)

TerryRed discusses Surround Sound Feedback in this video:

 
DOF (Direct Output Framework)

Major Frenchy explains what Direct Output Framework is at the beginning of this video:

 
Dynamic Flippers

Dynamic Flippers are what we are calling an enhancement to BAM that makes flippers perform better. This modification of BAM has actually 3 different factors for flippers.

1) The geometry of the default flipper on Future Pinball is not quite right near the tip plus a single ball hit on the flippers registers as two hits so hitting the ball there can lead to inconsistent results. The fix is to add some code to the script. There is nothing for the table developer to do other than add the code to the script.

2) Ravarcade set up the flippers so any parameter can be changed at different points along the flipper. A setting of 0 is set to the base of the flipper and 1.2 is the number assigned to the tip. The midpoint of the flipper would be 0.8. Gimli created some code that made the omega (strength of the flipper) ramped linearly based on the numbers. Then I revised it to what we use today. It is set up so the omega is higher at the base of the flipper and lower at the tip. So it the omega is set to be 30 at the tip and 50 at the base, the omega at the midpoint of the flipper would be 40.

3) The final aspect of the change is the setting of the flipper elasticity has been enhanced. It is most noticeable when the ball hits a stationary flipper. The amount of bounce can be controlled in several ways. Ravarcade wrote this section of the code himself. There is a recently addressed issue where the ball would sink through the flippers. The fix requires a change to the flipper section of the XML file used for physics of the table. This change required new values that everyone was using for the settings in the script. I developed new values in the response to this posting.

Unfortunately, Dynamic Flippers must be manually added to a table but it is worth it. Most of the recently updated tables use Dynamic Flippers. You should try some of them.
 
Really good think....? can I give you a suggestion? you could add some else contents, about Bam,for example
 
Really good think....? can I give you a suggestion? you could add some else contents, about Bam,for example

I don't understand. ...But anyone can post any definition of terms here. It doesn't have to be me.
 
From polygame's & Terry's 'fast-tracking' thread, I added a couple more terms in the index.

Especially nice to have text-alternatives to the videos, for those who prefer it.

I also converted the table to an unordered list, which can be undone if you don't like it. To add a new term, just go to the end of the previous line and hit 'return'. It will insert new text in the indented list format. Pretty simple.
 
Last edited:
Hmm. In terms of a straight-ahead BAM glossary entry, I just noticed @TerryRed's FP & BAM Mega-Guide here at VPinball.

Obviously that one's way, way more comprehensive than even an advanced glossary reference, but I'm wondering if it should be mentioned / linked, or even whether a junior version should be hosted here. (VPinball seems kinda laggy, so maybe that would help some people?)

There's also Gimli's guides in this section, but those seem specific to various functions and whatnot.

In any case, having some kind of comprehensive entry for BAM would certainly be nice!
 
At some point I'll post my guide here.... but my time is limited and that guide has A LOT of pictures and I'm updating it regularly with new info. When I'm at the point where it won't be changing much more... and I'm not deployed to the North Pole.... then I'll get around to posting it here.
 
BAM (Better Arcade Mode)

Ravarcade created the BAM software and it has evolved over the years. It started out as an "add on" to Future Pinball that was only useful to pinball cabinet users. It allowed them to more easily adjust the display to fit on their screens. It also provided a method of creating 3D on the cabinet playfield using a head tracker. Later, it provided a way of managing different versions of physics. Some of you may be aware that after you install the Future Pinball program that the executable for it can be replaced with alternate versions that have different features. There was a different executable for every version of physics and so every time you wanted to play a table you had to replace the executable with whatever version of physics the table needed. It was confusing and awkward. Ravarcade created XMLs for each version of physics that were saved with the table so you didn't need to replace the executable anymore when you want to play a table. It also allowed folks like myself to create custom physics for individual tables. There was also an enhancement so tables can be played on virtual reality head seats like the Oculus Rift and HTC Vive.

We used BAM like that for several years. Then I asked Ravarcade to see if he could fix a bug that changed the text on the table loading screen to black whenever you changed anything on the "Table Info" screen. He figured out a way to fix it and started adding many new enhancements. Some of those enhancements are defined on this forum topic, Dynamic Flippers, Bump Maps, Shadow Maps and FizX. You should read each of these topics to fully understand what BAM is. One of the problems that has plagued Future Pinball since the time it was created is a huge memory leak that forced all of us to uncheck the option "Load Image into Table Editor" so we would have enough memory to play the table. Ravarcade fixed the memory leak with BAM. There have been many enhancements to lighting like being able to change brightness and color of the lights. Magnets were added. Another major enhancement is the miniplayfield option. It allows the Williams version of Indiana Jones be played such that the "Path of Adventure" miniplayfield tilts like the original table. There are many other features that have been added and continue to be added in new versions.

BAM used to be optional for the end user to install if he chooses. That is not really the case anymore. All the new features require the correct version of BAM to be installed for the feature to work. Some of the table developers have developed script that turns off features that use BAM if the end user does not have the correct version of BAM installed. There are now tables being created that use BAM features that cannot be turned off because the table won't work without BAM. So the end user must have BAM installed or the table will not play at all. Magnets tend to be like this. If a magnet never turns on, the table won't function correctly. That is the reason that Ravarcade created the "2 in 1 installer" that installs Future Pinball and BAM at the same time. If you run it on an existing installation, it brings everything up to date as well. The "2 in 1 installer" changes several settings in the Future Pinball program to make it compatible with BAM so there is not as much set up required.
 
Last edited:
FizX

The most simple explanation of what FizX is that it is new physics for future pinball with its own version of dynamic flippers. The name FizX is a play on words. Physics = PhysX = FizX. In order to implement FizX, table developers replace rubber rings and posts on their tables, add an 8K polygon ball, change the frames per second from 296 to 592, add new bumpers and slingshots and add new drop targets. ...But the biggest development is the creation of the code that drives it all which was created by JLou5641. All of this does require more resources on PCs but there are things that can be done to improve performance on lower end PCs.

TerryRed recorded this video that I think best demonstrates the improvements by comparing his Sonic table with FizX to a non-FizX version of the table:


The forum has added new topics for FizX which will become more populated with time:

 
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: GotBrawndo is our newest member. Welcome!
      Back
      Top