FP Well that got quickly out of hand... Color sequencer with ball tracking.

Future Pinball

SpacePirateScott

Pinball Wizard
Joined
Jan 11, 2024
Messages
54
Reaction score
38
Points
24
Favorite Pinball Machine
Scared Stiff
t started with just wanting to group Bulbs and ImageLights so I can easily control realistically lit plastics, and quickly turned into a full flow color sequencer with ball position based lighting effects! This was intended to be a little project to I could learn scripting if Future Pinball. I think I started to have too much fun
:)


Here is a quick snapshot ball proximity based lighting.
1713135135560.png

And a full demo video of all the features so far...


If anyone is actually interested, I will post the source code once I have played with it in the table I'm building.
 
If anyone is actually interested, I will post the source code once I have played with it in the table I'm building.

Very cool stuff. FP's last update in 2009 was at a time when leds and RGB lighting didn't really exist in pinball yet. So it's cool seeing new ways to make use of it's great Light Sequencer combined with RGB effects.

What ravarcade would do when showing how to use new features is, he would include it in a simple demo table (like your video) and post that so it was easy to both follow and see in action.
 
t started with just wanting to group Bulbs and ImageLights so I can easily control realistically lit plastics, and quickly turned into a full flow color sequencer with ball position based lighting effects! This was intended to be a little project to I could learn scripting if Future Pinball. I think I started to have too much fun
:)


Here is a quick snapshot ball proximity based lighting.
View attachment 42153

And a full demo video of all the features so far...


If anyone is actually interested, I will post the source code once I have played with it in the table I'm building.
Definitely interested in the code and demo table. Very nice!
 
I will publicly post this demo table and the code after I finish the Space Cadet table I'm updating. I expect some changes to the API as I use it real life. If anyone wants to look over the code or try out a beta version, just message me.
 
I will publicly post this demo table and the code after I finish the Space Cadet table I'm updating.
@SpacePirateScott
Meanwhile, let me introduce myself, I'm Paolo, better known as Wild, I don't know if you know me.....but I'm an author of FP tables, surely you have some of my tables...and you certainly downloaded them into Pinsim. right?
I congratulate you on how you are playing with the lights.....but just one question and I don't want to be rude, which Space Cadet are you talking about? I don't think you're talking about JPsalas' version of VPX, right?

Ok, I want to be clear and I'll explain, space cadel is a table made by my friend Gianfranco, who died.
The friends of "Gopinball", who then moved here to PN, including myself, know who Gianfranco was, but I don't want to go into too much detail, the point is: I've obtained with his consent to update (not modify) his tables for then publish them,and I don't think you have permission

Now I won't talk about Gianfranco's tables (they are perfect) and he has collaborated on many of my tables, no further changes are needed, perhaps except adding Fizx, but that's another story, what I want to clarify is about space cadet.

I have to say, it's amazing how the coincidences turn out, as I've been updating Space Cadet myself for over a year of work,I just posted my latest update today..... Space Cadet
I don't know which version you are updating, 1, 2, or 3 which is my version that I published some time ago here in PN, and which I then removed for reasons I won't explain to you.

The problem is always the same unfortunately,and I speak in plural, you decide to work on a table made by others, without having the care to to inform yourself first if you can or cannot do a "something", if the author has given consent "yes or not", or simply have to be correct and respectful and inform yourself first.

So, not knowing you, I kindly ask you what your intentions are?
 
Sorry Paolo, but SpacePirate don't say he will release his space cadet, and in second time, he can work on it, and then, just ask just before release, and if he don't have the permission, keep it private for him.

Then, i'm very disturbing about you considere you are the legacy owner of Gianfranco.
The rules of Vpin Community is for those who leaves the scene since long time or passed away, they are like "Right Free"..
If i passed away, all my work should be free for all, with no permission from nobody. The opposite of that is the worst thing that could happened to vpincommunity and for his progress.

So, if he work on a Gianfranco version, sorry but, you are not the author. BUT, if he work on one of your version, in this case, i'm agree with you.
 
I am using "Space Cadet (Maxis) (FranzLeo)(3.00)" that was in a torrent bundle that I downloaded. I'm not sure if that's the same one.

Well, my intent was use this as a practice table to learn how to update the physics, SFF etc., and to learn the art tool pipeline. If it turned out well, I was going to post it publicly, but that wasn't the primary intention.

There is always the question in the art world about derived works and how much change is required before it's considered a new work of art. As artists we all stand on the backs of giants so to speak, so it's always tricky to define the line between "inspiration" and "copyright violation." I hope can we all agree that if layers need to get involved then everyone loses. :)

Personally I have always tried to be respectful and to only used art that I have rights to. For example, a few years back I was stuck in a hotel room and was kind of bored. I did a pencil drawing based on a photograph of an Italian renaissance looking woman. The drawing turned out really well, so I did an old master style oil painting of it, once again just for practice, which also turned out very nice. As I normally do, I contacted the photographer and asked permission to post a images of the painting on my website. He declined to give me permission, which was surprising, since I wasn't going to sell prints or anything and would give him proper credit. But I respected his decision and didn't post any pictures up. So, my personal rule is to always error on the side getting permission where appropriate.

So after that long winded preamble, I won't post my changes to this table. :) I am open to collaborations if you are interested.

I do have a question about what you consider "consent to update (not modify)"? I couldn't tell by your youtube video if you had upscaled the playfield art. I did create a couple vector based 4k versions of the playfield and plastics art:

1713199100627.png
I found that that mottled underlying texture didn't respond well to the shadowmaps so I made a starfield background version as well.

I went back to the original Maxis table, and it was so low res, I don't think it would be violating the spirit of the original artist's vision.

1713200513153.png

I'm not sure if that's falling too far into the "modify" category. In any case, If these are helpful, I will send you the source files and you can make any changes you want to them.

What are you thoughts about updating the lighting? Would that be too far into "modding"?
 

Attachments

  • 1713198182182.png
    1713198182182.png
    1.3 MB · Views: 3
All off topic posts will be removed from this thread to the soapbox.

Site policy on that off topic discussion is stated here...

 
Last edited:
I'm very impressed with this code, and it brings me new hope to see FP tables that look more similar to the new-gen stuff we have been seeing these last years. All those LED effects on pinballs like Ryan McQuaid's Sonic Spinball, or Spooky Pinball's tables like Total Nuclear Annihilation or Rick and Morty may be doable with this.

I talked about it some time ago when I was working on a code about custom light sequencers (SLSeq), but I never went that far with BAM's multicolor light functionality. That being said, if you want to compare notes, feel free to check it and take whatever you want from there ;)

Keep up the good work.
 
Thanks for nice feedback. I will be posting the code and taking feedback and suggestions. I'm still new to FP scripting so I'm probably doing stupid things, so looking at other code would be very helpful. I guess this why software development does code reviews :)

I'm curious to see how your sequencer works. I decided to just modify the Lit Color of the light and not touch the state other than providing some helper functions to set the on and off states for the entire group. That unintentionally turned out to be good idea because it made it compatible with the built in light sequencer. It isn't often you get a freebie like that, so I will take it when I get one.
 
If anyone is actually interested
Hi.....just to understand better, when the ball passes over the lights, do the lights in question reflect the "spotlight" of the ball? or do you make the lights come on when the ball passes over them?

One more thing if not do you mind....I haven't replied to you until now so I apologize,about SC, what do you mean "I am open to collaborations if you are interested" ? I mean, how and in what n you're open to collaborating? I might be interested, but I need to understand in what.

I also want to tell you this, I'm not angry with you, I consider the fact that you couldn't have known that I had been working on SC for a long time, and I understand it, but you have to understand me too, that when I read that you were trying to update SC, I'm a little irritated, because I think it's not constructive to have the same table in WIP,
especially if; 1) if you are working in the same version 3.0 as me that I posted some time ago here in Pn, and 2) that I am still working on it,3) and it's also why I always say the same phrase, the one that starts marked in black, above.

I am convinced that we can all learn from everyone else, so if your intent was to learn, I can be of help to you, as you could be to me, if you are working on some "recreation" project I could help you in some way.

So ,for the other questions you asked me, if you want we can talk about them privately,including regarding the playfield.

kindly
 
Last edited:
Hi.....just to understand better, when the ball passes over the lights, do the lights in question reflect the "spotlight" of the ball? or do you make the lights come on when the ball passes over them?
The simple explanation is that the lights color is changed based on the distance to the ball. The more complex is a follows:

First a color range is an array of RBG values
Dim COLORRANGE_FIRE(4,2) ' <--- Number of rows - 1, and always 2
SPS_RGB COLORRANGE_FIRE ,0 ,255 ,255 ,255
SPS_RGB COLORRANGE_FIRE ,1 ,255 ,255 ,30
SPS_RGB COLORRANGE_FIRE ,2 ,255 ,110 ,30
SPS_RGB COLORRANGE_FIRE ,3 ,255 ,30 ,30
SPS_RGB COLORRANGE_FIRE ,4 ,30 ,30 ,30
The proxity range is set like this

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' SetProximityRange
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Param: proxMin in mm. During a ball or reference point proximity mode, any prox closer than this will choose the first colorrange value
' Param: proxMax in mm. During a ball or reference point proximity mode, any prox farther than this will choose the last colorrange value
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub SetProximityRange(proxMin,proxMax)
It's used like this
GridLights.SetProximityRange 10.0,100.0
So any ball this is farther than 100 mm will get color index 4 ie. 30,30,30
Anything less then 10 mm will get index 0 ie. 255,255,255
values in between will be interpolated along the range
 
what do you mean "I am open to collaborations if you are interested" ?
Only that I'm happy to share any art resources or code that I have written. This is a small community of content creators using a very tricky set of tools, so open collaborations are only going to help the overall community in the long run. The "Rising tide raises all boats" and such.
 
For example here is a bug in the game logic I found. You may have already fixed this but if you haven't, here's the fix.

Sub TargetBooster_Hit()
.
.
.

if contBO = 3 then
AddScore 5000,true
Playsound"Target_Booster_3"
contBOC = contBOC+1
if contBOC >3 then contBOC = 3 ' <--- off by one error, the 3's should be 4's
.
.
.
' the highest bonus code never gets run without the change above
if contBOC = 4 then
AddSCore 0,false 'Hold Bonus
DisplayNotice.Text = "[f8][x4][y3]Hold Bonus"
TimerNotice.Enabled = True
HoldBonus=true
end if
 
The simple explanation is that the lights color is changed based on the distance to the ball
Using bam?
Only that I'm happy to share any art resources or code that I have written.
Are you referring in general, or to SC, I wanted to understand better, can you be more clear?

This is a small community of content creators using a very tricky set of tools, so open collaborations are only going to help the overall community in the long run. The "Rising tide raises all boats" and such.
I'm not sure I understood correctly, the word "small" hasn't made me happy lately, probably in Canada it has many meanings, but the way I see it, it only has one meaning, the question is what is really meant for "small"?with the rest I agree with you.

For example here is a bug in the game logic I found. You may have already fixed this but if you haven't, here's the fix.
Certainly, those 3 drop targets have 4 lights with certain missions, you should have my writing in green like this,right?
Cattura00.JPG
 
'm not sure I understood correctly, the word "small" hasn't made me happy lately, probably in Canada it has many meanings, but the way I see it, it only has one meaning, the question is what is really meant for "small"?with the rest I agree with you.
I meant the number of people creating content for Future Pinball is significantly fewer than many other modding communities.
 
Last edited:
Certainly, those 3 drop targets have 4 lights with certain missions, you should have my writing in green like this,right?
View attachment 42219
The version that I have doesn't have that in it. As I said the version I was working from is "Space Cadet (Maxis) (FranzLeo)(3.00)[Cabinet]" This is why sharing code fixes and art helps everyone. :)
 
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