Do your balls go click in the night?

Steely

Pinball Nudger
Joined
Jun 27, 2009
Messages
23
Reaction score
1
Points
2
PinballKen and myself have been playing with some sound effects lately.
I've created a vbs file for an author to easily adapt Ball to Ball Collision sounds to a table.
It's in the beta stage, but extensive testing has already been done to tweak it's performance.
So far so good.
icon_smile.gif

PK has also added various other ball sound fx for your enjoyment.

Attached is a demo table which will run in vp8 or 9. Make sure to place the table and vbs file in the same folder. The B2Bcollision.vbs file was designed to work with vp8, vp9, vpm amd non-vpm tables. B2B collision sounds are also provided for your own table adaptation.

Next I may look into rolling effects as well as other ball collisions with various objects, plastic, metals, etc...
These effects would utilize stereo sounds controlled by ball velocities and collision forces to produce varying sounds.

This is my first thread here, I'm a Nirvana Virgin, so please be gentle....ya, right. :)
 

Attachments

  • BallSoundEffects_Demo_1.0.beta.zip
    344.8 KB · Views: 437
Pinballs with collision sounds that vary with shot hardness

Not a first for VP, there's a billiards table that has ball sounds, but Steely's approach is a little different.

I'm amazed at how little interest it's generated!

I mean, here we have the chance to put complete sound in pinball tables in the way we hear it in real pinballs. I've now updated two tables in my UltraPin - AFM and MM - and the results are fantastic.

The list of sounds in addition to the usual ball release, plunger is ball roll, metal hits for orbits, gates and wire gates, gobble, popper, drain and ball drops. Revised slingshots and jets complete the picture. Targets and drop targets are included, where appropriate.

So download the demo table and start using it in your VP/VPM tables to good effect.

Enjoy!

PK :joy:
 
:wave:I´d liked to say WOW!!! but...
no sound coming out of my mouth!:headscratch:

Do you have a fix for that too?;)
 
suggestions / comments:

- needs work on the volume levels. right now, touching something lightly produces a sound like it got hit / run over full bore. instead, check ball velocities and call up the appropriate sound (or no sound at all).
- demo is kind of a madhouse right now. give the user more control- let them determine the # of balls from the table via a keystroke and instead of putting the balls in play, feed them so the user can cradle on a flipper and immediately aim for the target / effect they want to try. (remember, the people you're aiming this at have short attention spans. if they really wanted collision sounds they could have lifted them from tables up to seven years old.)
- part II, some of the sounds are synced seemingly to phantom objects, like the middle-left outer PFwall. put a marker there, or something.
- in general, cool stuff for newbie authors; just make it easier for them to reach the strength of the product.

embrace / discard comments as you will. :p
 
Thanks, for the comments guys. We appreciate them.

Nic, Yes there are several things happening on this table which I was thinking of separating, by allowing the user/author to turn the different effects on/off, so they could hear single or multiple effects appealing to their interest. Adding a key to add or subtract balls is a good idea. :) As is markers!
Since adding options like these would effect the normal copy/paste demo script by adding unnecessary functions. I thought I would include the option to pop-up the pertinent script in notepad or in an html formatted webpage so one could then copy the code they want.

Just for you, 1234fd
 

Attachments

  • wow.mp3
    32.5 KB · Views: 495
:p\'n\'l:I was just kidding,of course.;)
Thanks anyway!:D
 
I didnt download the table but are the effects Stereo?

Im asking because i played TheWeb the other day and couldnt help but noticing (once again) how great it sounds when the noise for each flipper comes from the corresponding side,...
 
Sorry, no stereo effects as of yet.
I'd like to add stereo sounds in the future.

For anyone interested, here's are the main points and features for just the 'Ball to Ball Collision'
Code:
'        ================================================
'        ======== Ball to Ball Collision Effects ========
'        ================================================
'            A brief description of operation
'    
' * This code senses ball-to-ball proximity to determine a collision and then calculates
' the collision force (cForce) to select a varying sound level or volume.
'
' * Any number of sound levels/files can be used and set by the table author.
'
' * Any number of balls can be set by the author, however the quantity is limited by what
' the individual computer can handle. The majority of tables use only a few balls at 
' one time, so hopefully this shouldn't be an issue for most people. 
' To combat this, the XYdata_Timer interval is self regulating to help retain performance.
' There is also an auto-shutoff, "coff" collision off variable, which is triggered by
' the timer interval if it should go too high.
'
' * The sound level range auto-adjusts during play, by reading the highest ball velocity.
' This allows all volume levels to be utilized no matter what table the code is applied to
' or the play style of the gamer playing.
'        
' The main elements or commands used for this B2B collision sound effects are...
' 1) PlaySound("collide" & cForce) 
'    This line selects and plays the proper wav file, combining "collide" with the 
'     collision force for a variable sound level or volume. So the files are named...
'       "collide0", "collide1"... thru "collide9".
'
' 2) cForce = Cint((abs(TotalVel(cb1,id3)*Cos(cAngle-bAngle1))+abs(TotalVel(cb2,id3)*Cos(cAngle-bAngle2))))
'    There are more lines for the cForce calculations, but this main equation works by
'    taking the total velocity of each ball and multiplying it by the difference between
'    the collision angle and the angle of the traveling ball. In other words, a head on
'    collision and/or higher velocity produces a louder sound than a glancing blow.
'
' 3) XYdata_Timer... 
'    This timer collects the balls' coordinates and velocities. It then determines
'    if two balls are close enough for a collision to occur.
'
' 4) Identifying the balls for reading the ball coordinates and velocities...
'    Unfortunately VP does not have hit events for balls, so they must be identified
'    and set as an object whenever they are created. Balls then need to be marked as
'    inactive when one is destroyed. This is taken care of by the "NewBallID" and
'    "ClearBallid" subs.
 
I'm amazed at how little interest it's generated!

There's always interested people PK! I'm very interested and am downloading it as I type. :)

Too bad Randy will never add any of this stuff to the actual program.
 
I tried it out and it looks pretty straight forward, so I think I could make it work in a table. I'd probably copy the vbs file and then include it with my table script as I'm not a big fan of external scripts in VP, since file size is always minimal on this stuff.

I also didn't think the sounds sounded that great, but it is a start. I use to have a Newton's cradle and if someone had one of them now, they might be able to record some nice ball collisions as I think it's more than just a percentage of sound volume involved in the sound that 2 balls make when colliding, but I'm no science guy. :pint:

Great work! Steely could probably advance this VP software to the moon if it was open source.

:cheers:

239574.jpg
 
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: Flipper Hermann has left the room.
      Back
      Top