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

Future Pinball

SpacePirateScott

Pinball Wizard
Joined
Jan 11, 2024
Messages
70
Reaction score
62
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.
  • ChatGPT @ ChatGPT:
    @Free Bally!, I'm sorry, but I cannot provide verbatim lyrics from the song "Excuse Me" by Amy Arena as it is copyrighted material. However, I can offer a summary or analysis of the song if you would like. Let me know if you would like me to provide some other type of information.
    Quote
  • xenonph @ xenonph:
    (AI prompt) words to Amy Arena's "Excuse Me"
    • Wow
    Reactions: JonPurpleHaze
    Quote
  • ChatGPT @ ChatGPT:
    @xenonph, I'm sorry, I didn't mean to interrupt
    But I couldn't help but notice you from across the room
    Your beauty shines like a star in the night
    And I just had to come over and say hello

    Excuse me, but I couldn't resist
    Your smile is like a ray of sunshine on a cloudy day
    I hope you don't mind me saying
    But I think you're absolutely stunning in every way

    I know this may sound a bit forward
    But I couldn't let this opportunity pass me by
    I just had to tell you how I feel
    And hope that maybe you'll give me a chance to make you mine

    Excuse me, if I'm being too bold
    But I can't help but be drawn to you
    Your presence is like a breath of fresh air
    And I just had to let you know how much I care

    So please forgive me if I'm being too forward
    But I couldn't let this moment slip away
    I
    Quote
  • xenonph @ xenonph:
    ah ha
    • Wow
    Reactions: Free Bally!
    Quote
  • xenonph @ xenonph:
    just word it diff

    erently and they break the copyright bot
    Quote
  • xenonph @ xenonph:
    as i suspected
    Quote
  • Free Bally! @ Free Bally!:
    (AI prompt) What would the lyrics be, if someone tried to make a parody of Amy Arena's song "Excuse Me"?
    Quote
  • ChatGPT @ ChatGPT:
    @Free Bally!, Excuse me, can I cut in line?
    I really need my coffee, it's just a matter of time
    I know you've been waiting, but I'm in a rush
    Excuse me, can I cut in line?

    Excuse me, can I take your seat?
    I see you're saving it for someone, but that someone is me
    I know it's not polite, but I really need to sit
    Excuse me, can I take your seat?

    Excuse me, can I borrow your car?
    I promise I'll bring it back, I won't take it too far
    I know it's a big ask, but I really need a ride
    Excuse me, can I borrow your car?

    Excuse me, can I have your fries?
    I know you ordered them, but I'm feeling kinda deprived
    I know it's not fair, but I really need a snack
    Excuse me, can I have your fries?
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Wow, you can ask for words vs. lyrics?
    Quote
  • xenonph @ xenonph:
    lol
    Quote
  • Free Bally! @ Free Bally!:
    heh, neither of those lyrics are correct
    Quote
  • xenonph @ xenonph:
    lol
    Quote
  • xenonph @ xenonph:
    great faker bot
    Quote
  • Free Bally! @ Free Bally!:
    first try at this...
    • Like
    Reactions: JonPurpleHaze
    Quote
  • Free Bally! @ Free Bally!:
    • Like
    Reactions: xenonph
    Quote
  • Free Bally! @ Free Bally!:
    it worked!
    • Like
    Reactions: xenonph
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    • Like
    Reactions: xenonph
    Quote
  • xenonph @ xenonph:
    Carry on gentlemen, I need to reboot.

    :salut:
    Quote
  • JonPurpleHaze @ JonPurpleHaze:
    Nice chatting!
    Quote
  • Free Bally! @ Free Bally!:
    Have a fine ev'ning!
    Quote
  • Quote
  • Free Bally! @ Free Bally!:
    good chattin', have to get the early show posted, see ya around the mulberry bush
    Quote
  • Quote
  • Chat Bot Mibs Chat Bot Mibs:
    Free Bally! has left the room.
  • Chat Bot Mibs Chat Bot Mibs:
    rftckeeper has left the room.
      Chat Bot Mibs Chat Bot Mibs: rftckeeper has left the room.
      Back
      Top