Register    Login    Forum    FAQ    PinSimDB.org

Board index » Future Pinball » BAM corner




Post new topic Reply to topic  [ 226 posts ]  Go to page Previous  1 ... 14, 15, 16, 17, 18, 19, 20 ... 23  Next
Author Message
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Sun Dec 16, 2018 3:35 pm 
Offline

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 3051
Location: Ontario, Canada
GeorgeH wrote:
The idea is to compare your enhancement to a version that does not have it. To be honest, I couldn't tell much difference between the 2 versions. Maybe I didn't set something up correctly. ...But You can try the 2 versions I created to see what you think:

https://www.dropbox.com/sh/jhrlmdlsoo8f ... bPKDa?dl=0

Our standard dynamic flipper setup does improve the aiming considerably. I need to publish a new version of CFTBL.

George


I agree the aiming seems to be identical to my code. I love it. The bounce I believe is ok in both although not the same...
I definitely preferred my code in Indiiana jones but I am sure that is largely subjective.

And I think I would notice nuances because I've played that table a ton lately..
I was just so pleased when I copied that code into other tables how it performed but you are right the biggest gain is likely the dynamic flipper part

I still am leaning towards seeing the benefit of distinguishing between rapid moving balls and slow ones in terms of bounce control...as I believe they are totally different scenarios and we run the risk of choking the life out of ball...


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Sun Dec 16, 2018 5:05 pm 
Offline

Joined: Mon Mar 25, 2013 4:02 pm
Posts: 1033
blue wrote:
....
Is it possible for you to do a master list of all the BAM script commands? We are losing track of it all, and there are some stuff I never knew about that I just learned about now...

I hope this is complete list:
https://www.ravarcade.pl/files/BAM-Scri ... ns-Map.txt

_________________
http://www.ravarcade.pl
Better Arcade Mode
current BAM version: v1.5-289, released: May 10, 2020


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Sun Dec 16, 2018 5:35 pm 
Offline

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 3051
Location: Ontario, Canada
Thanks Rav !!
That is awesome !
Here are 3 that I will definitely play with:
.SetTransliteTexture textureName
.SetCabinetTexture textureName
.SetPosterTexture textureName

    -----------------------------------------------------------------------------------------------------------------------------------------------------
    ----------------------------------------------------------------------------------------------- Old script comment style tricks --------------------
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    '[BAM] !texture = textureName
    '[BAM] !normalMap = textureName
    '[BAM] !specularMap = textureName
    '[BAM] !shininess = value
    '[BAM] !specularLevel = value
    '[BAM] !heightMap_bias = value
    '[BAM] !heightMap_scale = value
    '[BAM] !specularBalance = value
    '[BAM] !specularColorRed = value
    '[BAM] !specularColorGreen = value
    '[BAM] !specularColorBlue = value
    '[BAM] !normalMapScale = value
    '[BAM] !latlong = 1
    '[BAM] !latlongRotation = value
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------- procedures in script called by BAM --------------------
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    Sub BAM_Init
    Sub NewtonPhysicsTick
    Sub FLIPPERNAME_prehit // note, FLIPPERNAME is FP Object Flipper Name... and xBAM.Flipper "FP Object Flipper Name" must be called in BAM_Init
    Sub EnumBallsCallback ball // ball is BallInfo object
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------- functions, objects, constats accesible with xBAM --------------------
    -----------------------------------------------------------------------------------------------------------------------------------------------------
    xBAM
    .Ball (ret: BallInfo ***)
    .BallID (get int)
    .BallRadius (set only)
    .BallMass (set only)
    .BallOpacity (set only)
    .BallCloseTo x, y, z (ret: BallInfo ***)
    .BallSpeedLimit (set only)

    .EnumBalls max, order, callback_FunctionNameInScript

    .MiniPlayfield minX, maxX, minY, maxY, minZ, maxZ, toX, toY, toZ, scale
    .CreateMiniPlayfield maxX, minY, maxY, minZ, maxZ, cenX, cenY, cenZ (ret: MiniPlayfield ***)

    .CreateMagneticField x, y, z, range, strength (ret: MagneticField ***)

    .CreateModel ModelTemplateName, x, y, z, height, rotX, rotY, rotZ, relfectionsFlag, z2yFlag (ret: Model ***)
    .LoadModels
    .ModelAnimationSplit ModelTemplateName, startFrame, endFrame, dstAnim, srcAnim

    .SetTexture FPObjectName, textureName
    .SetEnamelTexture FPObjectName, textureName
    .SetTransliteTexture textureName
    .SetCabinetTexture textureName
    .SetPosterTexture textureName

    .Flipper FPFlipperObjectName (ret: FlipperExt ***)

    .FixScore
    .EnterPinballHighScore CurrentPlayer
    .GetKeyCode keyId

    .FrameCounter
    .NewtonCounter

    .FindObject x, y, type (get ObjectInfo)

    .ShadowMap LightSourceFPObjectName, Amount, Passes, Radius, Brighness, SpotlightRange, WhiteLight, Reflection
    .RemoveFlippersFromShadowmaps (bool value: true/false, can be SET and READ)

    .PhysicsXML "xml"

    .Camera (ret: Camera ***)
    .Physics.SetMaterial PObjectName, elasticCoef, softnessCoef, staticFriction, kineticFriction
    .BallManager
    .DefineCustomBall red, green, blue, dirtTextrureName, reflectionTextureName, reflectionInPlayfieldTextureName (ret: BAM_BALL_TYPE_NAME)
    .CreatCustomBall BAM_BALL_TYPE_NAME (ret: BallCreationInfo)
    .CreateTransformation (ret: Transformation)
    .UpdateBall BallID, BAM_BALL_TYPE_NAME
    .GetBallName BallID (ret: BAM_BALL_TYPE_NAME)
    .SetBallOpacity BallID, opacity
    .SetBallOpacityWithEasing BallId, opcity, time, easingFunction

    constansts:
    xBAM.easeLinear
    xBAM.easeInSine
    xBAM.easeOutSine
    xBAM.easeInOutSine
    xBAM.easeInQuad
    xBAM.easeOutQuad
    xBAM.easeInOutQuad
    xBAM.easeInCubic
    xBAM.easeOutCubic
    xBAM.easeInOutCubic
    xBAM.easeInQuart
    xBAM.easeOutQuart
    xBAM.easeInOutQuart
    xBAM.easeInQuint
    xBAM.easeOutQuint
    xBAM.easeInOutQuint
    xBAM.easeInExpo
    xBAM.easeOutExpo
    xBAM.easeInOutExpo
    xBAM.easeInCirc
    xBAM.easeOutCirc
    xBAM.easeInOutCirc
    xBAM.easeInBack
    xBAM.easeOutBack
    xBAM.easeInOutBack
    xBAM.easeInElastic
    xBAM.easeOutElastic
    xBAM.easeInOutElastic
    xBAM.easeInBounce
    xBAM.easeOutBounce
    xBAM.easeInOutBounce

    xBAM.orderXYZ
    xBAM.orderXZY
    xBAM.orderYXZ
    xBAM.orderYZX
    xBAM.orderZXY
    xBAM.orderZYX

    xBAM.RESET
    xBAM.ASAP
    xBAM.APPEND

    --------------------------------------------
    BallInfo (from xBAM.Ball or xBAM.BallCloseTo)
    .Position
    .x
    .y
    .z
    .PositionGlobal
    .x
    .y
    .z
    .Velocity
    .x
    .y
    .z
    .Speed
    .HitSpeed
    .Exist
    .ExtInt1 (can be SET or READ)
    .ExtInt2 (can be SET or READ)
    .ExtInt3 (can be SET or READ)
    .ExtFloat1 (can be SET or READ)
    .ExtFloat2 (can be SET or READ)
    .ExtFloat3 (can be SET or READ)

    ---------------------------------------------
    BallCreationInfo (from xBAM.BallManager.CreateCustomBall)
    .Red (read only)
    .Green (read only)
    .Blue (read only)
    .BallNumer (read only)
    .Opacity (can be SET and READ)
    ---------------------------------------------
    Transformation (from xBAM.BallManager.CreateTransformation)
    .AddRule sourceBall, DestinationBall
    .Update ballID
    ---------------------------------------------
    MiniPlayfield (from xBAM.CreateMiniPlayfield)
    .Position
    .x
    .y
    .z
    .Rotation
    .x
    .y
    .z
    .Scale
    .Time
    .MoveTo x, y, z, rotX, rotY, rotZ, scale, time
    .Easing (set only)
    .EasingPosition (set only)
    .EasingRotation (set only)
    .EasingScale (set only)
    .TargetPosition
    .x
    .y
    .z
    .TargetRotation
    .x
    .y
    .z
    .TargetScale
    .CurrentPosition
    .x
    .y
    .z
    .CurrentRotation
    .x
    .y
    .z
    .CurrentScale
    .RotationOrder
    .TracketBall (can be SET and READ, BallInfo)
    .TracketBallExist
    .TrackedBallStop
    .Inertia
    .TraceBallRotation
    .GravityAngle
    .GravityRotation
    .GravityScale
    .SetGravity angle, rotation, scale
    -------------------------------------------
    MagneticField (from xBAM.CreateMagneticField)
    .X
    .Y
    .Z
    .Strength
    .Range
    .SingleBall
    .Horizontal
    .MaxForce
    .MinZ
    --------------------------------------------
    ObjectInfo (from xBAM.FindObject) (everything read only)
    .Position
    .x
    .y
    .z
    .Rotation
    .x
    .y
    .z
    .Velocity
    .x
    .y
    .z
    .RotationSpeed
    .x
    .y
    .z
    .Exist
    .Material
    --------------------------------------------
    Model (from xBAM.CreateModel)
    .Position
    .x
    .y
    .z
    .Rotation
    .x
    .y
    .z
    .Scale
    .x
    .y
    .z
    .Z2Y
    .Reflections
    .Mode
    .Anim StringAsAnimationDescription
    .Loop StringAsAnimationDescription
    .Frame start, end, loop
    .CurrentFrame
    .Speed
    .Kd
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Ks
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Ke
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Spe
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Rim
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Part partIndex (ret: ModelPart)
    .Visible
    .Height
    --------------------------------------------
    ModelPart (from Model.Part partIndex)
    .Kd
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Ks
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Ke
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Spe
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    .Rim
    .r (is same thing as .x)
    .g (.y)
    .b (.z)
    .a (.w)
    --------------------------------------------
    FlipperExt (from xBAM.Flipper)
    .Mass
    .Omega
    .ReleaseOmega
    .SetMaterial elasticCoef, softnessCoef, staticFriction, kineticFriction
    .Angle
    .ContactPoint
    .BallHSpeed
    .BallVSpeed
    .Hit
    .AngleDiff
    --------------------------------------------
    Camera (from xBAM.Camera)
    .Mode
    .AspectRatio
    .ScriptControl
    .RequestForControl
    .DesktopSet eyeX, eyeY, eyeZ, atX, atY, atZ, fov, delay
    .DesktopRelease delay
    .DesktopSetLookAt eyeX, eyeY, eyeZ, atX, atY, atZ, fov, delay
    .DesktopSequenceBegin seqId
    .DesktopSequenceEnd
    .DesktopSequenceAddEntry eyeX, eyeY, eyeZ, atX, atY, atZ, fov, delay
    .DesktopSequencePlay seqId, loopFlag
    .CabinetSet tX, tY, tZ, sX, sY, sZ, rX, rY, rZ, delay
    .CabinetRelease delay
    .CabinetSequenceBegin seqId
    .CabinetSequenceEnd
    .CabinetSequenceAddEntry tX, tY, tZ, sX, sY, sZ, rX, rY, rZ, delay
    .CabinetSequencePlay seqId, loopFlag


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Sun Dec 16, 2018 7:46 pm 
Offline

Joined: Tue May 01, 2012 11:13 pm
Posts: 477
Location: Abbotsford
Gimli wrote:
blue wrote:

- Multi BAM XML support. Very simple way actually, I know you can do that in BAM, but there is no way to know what it is and takes too long to find the proper one anyway. The next idea is to rewrite it so people can input numbers for things like base_elasticCoef, as a lot of that bounce code is exactly the same anyway.

Looks good Blue, the example you gave just had prehit for one flipper


blue wrote:
- I put in all of Gimli's code, folded in some of mine, and restructured it. This is a work table for physics/bounce control and other things, so down the road, have it available and adjustable while playing, and hopefully can have it generate a text file in script code.

- The script is structure so the section you need can be copied and pasted. All the main physics stuff will be variables, the script is partially set to write those variables in textdebug, so you would need to copy and paste them with the control script. Maybe I can write the code so that it generates the entire script needed for the physics into a text file, but FP is so flaky about those things. The sub routines have been recoded so the main physics variables can be in one place. If you like a tables settings that use this format, you can add the flipper/bounce physics quite easily.

Looks nice and tidy , I like it !!
I just tried copying my recent template into the stock "new Table" at definitly bounces too fast it that scenario...so I think the underlying xml mix is also very important.


blue wrote:
- Figured out a way for the script to recognize a flipper hit, and when the ball leaves the flipper. It writes the info into DebugText, just a bug in releasing the code after it writes to the file. I was too tired to fix it yesterday (was up till 3) but first thing next time. It's not a elegant solution, but it works so far. bounce physics variables though do not show their values no matter what, but maybe I will come up with a work around. I have both flippers, and ball info based on the partial list gimli posted, but without a explanation or a actual list of scriptable commands, it makes it a bit tough to improve.

Cool !

blue wrote:
- Everything is displayed in real time in a group of DMD displays. It's very clunky, but again, that is a FP thing because of the lack of support for some things. Simple MsgBoxes give FP fits for example. No excuse for that
Anyway, a lot of my VP code, even though it was written in VBScript 15 years ago, won't work.


Do you really have to add > 21 Dmd's for this or am I misunderstanding the code
HudDMD1 , HudDMD10, HudDmd21 ?


Yeap. I've tried stock VBScript code, but FP had a fit and crashed. The reason for the DMD is purely for reference, it runs every 1 ms (changeable) and works in real time. I found it quite a bit handier to use, as it details things like ball speed on the fly. Alas, never used the DMD object before, so it's 1 for each variable, as I haven't been able to figure out the larger 3 line dmd and have the text scroll like the Debug menu. Speaking of which...

Didn't like what I had put in, not usefull enough, and bugs can happen pretty easily. Looks like I have some time tonight, so take another stab at it. I also may have the table generate a second text file with the computer script code for people to copy and paste (FP willing, now I know why popette used a SS display and hologram for his tables)

The code is just a "set-up" type thing. I want people to try it out at it's most basic and make their suggestions, because it's a lot easier to change things when the script is so basic

_________________
_____________________________________

Latest projects and rants at My Facebook Page
_____________________________________

Latest Project: fpxEngine


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Sun Dec 16, 2018 7:50 pm 
Offline

Joined: Tue May 01, 2012 11:13 pm
Posts: 477
Location: Abbotsford
Thank you Rav. This is exactly what I was hoping for. Interesting all the commands. Maybe I should think about a better menu system now. Anyone know a great freeware menu UI builder and code generate out there?

_________________
_____________________________________

Latest projects and rants at My Facebook Page
_____________________________________

Latest Project: fpxEngine


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Sun Dec 16, 2018 8:50 pm 
Offline
User avatar

Joined: Sun Sep 13, 2015 1:16 pm
Posts: 658
Location: Ottawa, Ontario, Canada
So exciting to see more activity here with this! This really is a game changer guys!

You know.... we really don't even have a proper name for this new type of physics to identify itself on a table for others to recognize!

Before we had the good old 2.5,2.6,2.7 which most know is just changing the basic physics settings that was made accessible way back.

Then there was Zed physics which was different. When I see a Zed table, I know what to expect.

Then guys like George did their own "Custom" physics. That is kind of a generic label though.


Now with this new breakthrough for FP's physics that truly is a game changer and is VERY different than what we had before thanks to Ravarcade's amazing updates with BAM and the work from Gimil, George and others....


So we really need to come up with a name / label that will make it CLEAR that a table is now using this new physics. This is important for a few reasons:

- when someone downloads a table, they need to know they MUST be using BAM to play it! There is no vanilla FP anymore! BAM is now required for FP from this point on! This really needs to be shouted to everyone as it should have been the case for years now.

- the player will know that a newer version of the table is "different" or BETTER somehow. SLAMT1LT would always add something to his tables to make it clear they are different as an example (Ultimate, and now Ultimate Pro). In his DMD animations he would always refer to the physics version being used.

- we need something on pinsimdb for a new physics name that is a "standard" to use for filtering and searching for tables. (individual physics setting by the user isn't as important here). This would allow people to fin FP table with the NEW BETTER physics easier!


I say we call this new physics something cool sounding! :) Something that clearly identifies the table as being either improved in a HUGE way (older tables) or a new tables now using the new standard.

Individual user's settings for physics aren't as important for the "label", as we want it easy to identify the main difference with the table....and it's easier to find and organize tables that way. We can however refer to the user's physics settings in a sub label in the filename, table script, Table Info, and Description on pinsimdb.

I also think it's very important to try to have no external XML file needed for the physics now if possible. You want the user to simply load the table up and play without having to search for XML files.... or get things mucked up with them renaming files wrong,etc.


So what do you guys think?

Maybe something like:

Physics-X
Physics-XL
Physics-Dynamic
Dynamic-Physics
X-Physics
XL-Physics
D-Physics
D-Physix


We could even create a Logo Image to use!


We gotta give SLAM something to put on his DMD's :)


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Sun Dec 16, 2018 9:05 pm 
Offline
User avatar

Joined: Sun Sep 13, 2015 1:16 pm
Posts: 658
Location: Ottawa, Ontario, Canada
SLAMT1LT wrote:
hey guys!

First, amazing work on the dynamic flipper code. You've totally transformed how Future Pinball plays now. The flipper inaccuracy was the last hurdle that FP needed to jump to make it as a viable pinball simulation, instead of the joke it's been since launch.

It's been tough love over the past 10 years, but I knew FP always had enormous potential so I stuck with it. I'm glad that others had the same feeling I had.

Only now, with the physics and flippers working as good as any other simulation out there, do I feel it's time to come back and share my work.

I have the dynamic flipper code in all my games now - the latest update with the improved flipper bounce. It's not perfect, but no other simulation is perfect either. It's impossible to recreate real world physics perfectly, but for a video game, it's pretty damn good so far.

I have to make some changes to my games before I release them, I developed them for the old flippers so lane and ramp entrances were widened to accommodated the 'hit and hope' accuracy. Now, those same shots are makable and too easy. Not a problem though and an easy fix.



So glad to see you coming back to the forum!

I tried Gimli's template on a few tables with no changes by me...and that alone was a HUGE difference! I tried it on some of your Ultimate tables and loved it!

That said the template won't be perfect for every table as is right now.... like you said, other parts of the table need to be refined / edited to make the best use of these new features!

With you going through adjusting your Ultimate PRO tables now, this would make the tables play even better compared to me just pasting in the script (and the Ultimate versions don't have your other changes).

Christmas can't come soon enough!


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Mon Dec 17, 2018 12:08 am 
Offline

Joined: Mon Jan 27, 2014 12:36 pm
Posts: 3051
Location: Ontario, Canada
How about " FP - Dynamo"
It retains the concept of being dynamic yet implies a new system that generates energy. And for some reason the word Dynamo reminds me of story of " The little train that couldn't "


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Mon Dec 17, 2018 12:15 am 
Offline

Joined: Tue May 01, 2012 11:13 pm
Posts: 477
Location: Abbotsford
Super dupper deluxe physics? :)

FPX means "Future Pinball eXtended", so I own the copyright. :)

As to the table things, it's pretty apparent that down the road people would have to use a pre set table template to conform to a xml. Most companies had stock parts that they reused, even some aspects of the design were "stock" that they used for several machines. The big reason my xml doesn't play great on a new table is because the setup is different, even the width of the table is different so it throws things off.

Getting to be pretty exciting around here again. Nice to see.

_________________
_____________________________________

Latest projects and rants at My Facebook Page
_____________________________________

Latest Project: fpxEngine


Top 
 Profile  
 
 Post subject: Re: BAM Dynamic Flipper Breakthrough !!
 Post Posted: Mon Dec 17, 2018 12:50 am 
Offline

Joined: Thu Aug 16, 2012 11:12 pm
Posts: 2778
Location: Arkansas, USA
ravarcade wrote:
blue wrote:
....
Is it possible for you to do a master list of all the BAM script commands? We are losing track of it all, and there are some stuff I never knew about that I just learned about now...

I hope this is complete list:
https://www.ravarcade.pl/files/BAM-Scri ... ns-Map.txt


Holy cow! That is a lot of commands.

I ended up barraging Gimli with a million questions about Gimli's code for the flipper omega. When I thought my mind was going to explode, I thought of a way to make the code better. I'm not sure how much I can help you guys but will do what I can.

George


Top 
 Profile  
 
Display posts from previous:  Sort by  
 
Post new topic Reply to topic  [ 226 posts ]  Go to page Previous  1 ... 14, 15, 16, 17, 18, 19, 20 ... 23  Next

Board index » Future Pinball » BAM corner


Who is online

Users browsing this forum: No registered users and 35 guests

 
 

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
cron