Godot 4.4 Pinball Table Build

Godot 4.4. Kick the Table Pottery Pinball 164 amendments Upgrade

  1. In the fire shader script introduced the following to the alpha float (temp loss of transparency bug fix)
    float alpha = smoothstep(0.0, 0.9, c.x);
    //float alpha = 0.5;
    if (c.x < .9){alpha=5.5;} // remove if not wanting transparency
    COLOR = vec4(c, alpha);//*effect_enabled;
  2. In the option_manager script replaced func _ready() with func _initialize(): (initial screen draw bug fix)
  3. Unchecked single thread options (bug fix)
  4. Introduced Pickup ball with mouse. Hover mouse over ball1(only) & press Key P to activate. Use mouse movement in conjunction with camera movement keys to raise & lower the ball in any direction. Press Key E to disconnect. Camera view 1/2/3 can also be used to assist with the ideal position.
    If wanting mouse ‘is_pivoting=true’ uncheck REM in Camera script under func _View1_Pressed(). Clamp tweaks may be needed for other views.
  5. Dmd Rotation key_Pad 8 changed to 5. (shared arrow key bug fix)
  6. In User_Guide_PageTwo’s Labal added
    Move Dmd Position
    keys
    ‘KeyPad 9’
    Use mouse over to drag
    LMB/RMD =
    move left/right
    arrow keys =
    move left/right/up & down
    Keypad + or - =
    Even Scale
    PgUp or Pgdn =
    Hieght scale
    Home oe End =
    width scale
    MMB or 'KeyPad 9 =
    = exit movent mode
  7. In Spinner script increased the star burst animation Spnr_scorei (Time on bug fix)
    Spnr_scorei+=1
    if Spnr_scorei==1:Star_Spray.play(“Star_Spray_Pnts_ani”)
    if Spnr_scorei>150:
    Spnr_scoreb=false;Spnr_scorei=0
    Star_Spray.stop();Spinner_1_Score.visible=false
  8. In Cab Glass & O_O_Bounds Area Marker3D added an Out of Bounds area for ball body which re-uses ball1.ball_restart.position
  9. Bumper_set_1 scale reduced to 5 (jam bug fix)
  10. Introduced zylann.debug_draw addon which runs with the mouse pickup ball feature.

upgrade jobs to be done
put mouse pickup keys in user guide page 2
Light Bonus/animations with food menu mission objectives
on the fly load shader into material slot script to be introduced
Ubershader & Pooling to be studied (for shader bug fixing)

Latest YouTube Video & Dropbox link below
Please enjoy & you are free to do what you want with the file if you wish to.

Does the game have online leaderboards? If so, how did you make them?

Regarding your comment ‘Does the game have online leaderboards? If so, how did you make them?’. The game engine is a standalone engine with no online functions.
Window co-pilot could point you in the right direction which is where I get most of my code snippets from. Although, it can be a challenging quest using windows co-pilot. However, saying that I have experienced many good moments with it.

1 Like

I see, the leaderboards are local then. I ended up finding a good backend for leaderboards called SilentWolf, I’ll likely implement it one of these days.
Thanks for the info!

1 Like

Godot 4.4. Kick the Table Pottery Pinball 165 amendments Upgrade

  1. In Project manager under common increased max physic steps per frame to 64 (performance bug fix)
  2. Key binding label spelling corrections.
  3. Mug3 now runs Bank_2_DropTgts addscore (table ani addscore bug fix)
  4. Hud_Mesh_Txt_Ani.on_Shader() & firework shader now will re-start after pressing F12:- using the following to assist the process
    Q_Dmd_Txt.Hud1_Txt_message(“Press Enter”,100000000,“MeshText_Wave”,[0,0,0],“”,“”,[-0.077,0.722,0.016],“courbd.ttf”,16,[0,0,0.0],“Bloop_Snd”,0,“”) #Bloop_Snd is from root//Node3D/Camera & Audio/SondManager
    Q_Dmd_Txt.Flush_Dmd_Queue() added to EOB_Players_Manager script under statement ‘if Started_Gamei == 60:’ which will flush out the above ‘MeshText_Wave’ long time on period.
  5. Shader firework now runs during start-up/re-start periods until ball jitter bug is fixed. Carousel now runs the sprite fire works (ball jitter bug fix) +
    also removed the shader image mesh from the subviewport else it does not parent to the Hud.(mesh parent Bug fix)
  6. In Plunger lane trigger script introduced the following to the ‘ball saver text animation’ list:-
    if QTi==1:Q_Dmd_Txt.Hud1_Txt_message(“BALLSAVER”,50,“MeshText_Wave”,[-0.077,1.965,0.016],“”,“”,[0,0,0],“courbd.ttf”,16,[0,0,0.0],“Bloop_Snd”,0,“”)
  7. Added Pickup ball with mouse instructions to User Guide page two
  8. Introduced a glass apron33 above rollover peg lanes.
  9. In PlungerGate_Addforce.gd reduced the force to 360 and added Mouse_Pickup.grabbed_object==null and ball_active==true to the
    ‘if Plunger_Stick.Transform_z>1.80 and Ball1.ball_active==false:’ code line statement…(eat ball1 on ramp bug fix)
  10. In Spinner_Col_Area.gd put ‘if score!=0:’ in front of Spinner_Score()…(‘O’ score projection bug fix)
  11. Shifted table Spinner score text position so that it does not hug/smother the spinner.

upgrade jobs to be done
Light Bonus/animations with food menu mission objectives
on the fly load shader into material slot script to be introduced
Ubershader & Pooling to be studied (for shader bug fixing)

Updated video & drop box link below
Please enjoy & you are free to do what you want with the file if you wish to.

Godot 4.4. Kick the Table Pottery Pinball 166 amendments Upgrade

  1. Table top glass introduced which loses it visibility when you press enter.
    The glass ‘visibility will = true’ when the end of game runs & during the F12 reset table period.
  2. In the Camera.gd script added ‘KeyInputLabel.visible==false’ to the 'if Input.is_action_pressed(“V”) statement.
    This will prevent the camera view from being activated when the key setting screen is visible. ( keysetting screen bug fix)
  3. In Label3D Tgt_Score_B1/2/3/4 script.gd the addscore index now runs the + .score_M which adds 100 to the score when the imission ball trailer=true (score bug fix)
    • increased Sprite3D_Trailer ‘var starti to > than 200’ (more time to hit the objects for a better score)
  4. Ramp ball jam (bug fix).
  5. In Spinner_Col_Area1.gd removed the ‘if score!=0:’ in front of Spinner_Score() &
    In Spinner_1_Score.gd put :-
    ‘if SpinnerCol1.score!=0:Spinner_1_Score.text=“”+str(AddPnts_Point(AddPnts_idx))’
    which eventually prevented the score from reading zero. (bug fix)

upgrade jobs to be done
Light Bonus/animations with food menu mission objectives
on the fly load shader into material slot script to be introduced
Ubershader & Pooling to be studied (for shader bug fixing)

Dropbox link above
Updated Video below

Godot 4.4. Kick the Table Pottery Pinball 167 amendments/Upgrade

  1. In Q_Dmd_Txt.gd script under func MeshWave_Qtext_(): added sprite_Ani() & also added the following memory hint comment :-
    if TxAction_==“Sprite”:sprite_Ani() # used if running sprite without the above TxActions in the code line. example below at no3.

  2. In the plunger lane trigger.gd script added sprite Ball_Saver to the following MeshText_Wave code line:-
    if QTi==1:Q_Dmd_Txt.Hud1_Txt_message(“BALLSAVER”,1,“MeshText_Wave”,[-0.077,1.965,0.016],“”,“Ball_Saver”,[-2.985,3.000,-0.093],“courbd.ttf”,16,[0,0,0.0],“Bloop_Snd”,0,“”) #Bloop_Snd is from root//Node3D/Camera & Audio/SoundManager

  3. Also added the following note/comment to the plunger lane trigger.gd script :-
    '# note the below format must have Sprite written in the _TxAction codeline slot when running :-
    .# a standalone queued sprite without a _TxAction.
    .# Q_Dmd_Txt.Hud1_Txt_message(“”,0,“Sprite”,[0,0,0],“”,“Ball_Saver”,[-2.985,3.0,-0.093],“”,0,[0,0,0.0],“Bloop_Snd”,0,“”) #Bloop_Snd is from root//Node3D/Camera & Audio/SondManager

  4. In Drain_GobblerSensor.gd script under func EOB_next_player(): added the following after EOB_Manager.EOB() statement:-
    a. if EOB_Manager.BallOnThePlayfield==0:
    .#EOB_Manager.EOB() # rem hash when multi ball feature introduced
    CameraViews.Main_Camera_View()
    also re-instated Q_Dmd_Txt.Flush_Dmd_Queue()

  5. Screen settings & Key setting F9 & F10 added to the user guide page.

  6. Introduced camera follow ball view feature on the plunger, rear table & main selected view.
    Use F11 to activate = true & F11 to set the false again. Key function below added to user guide page one.
    You can also press keypad No1 to false/true the plunger view, or No2 to false/true the lower rear table view, or 3 to false/true the rear higher table view only after pressing F11.
    To deactivate all views press F11 & the F11 again to true all camera follow views again.
    a.The follow ball plunger & Rear Table view can be redesigned by the user by selecting the keypad 1/2/3 keys.
    For the main camera view settings firstly select camera view 1 (F1 now) then press keyboard key V.
    Keypad key 1 press will allow you to control the main camera view.
    Save the change by pressing enter.
    Keypad key 2 press will allow you to control the camera plunger view.
    Save the change by pressing enter.
    Keypad key 3 press will allow you to control the camera rear table view.
    Save the change by pressing enter.
    Select camera view 2 (F2) & repeat the above & do the same for camera view 3 (F3).
    b.For the main Hud1 view settings firstly select camera view 1 (F1)
    then press keyboard key H.
    follow the above ‘a’ sequence to position the Hud in the main camera, plunger & rear table view.
    c.For the main Dmd1 view settings firstly select camera view 1 (F1)
    then press keyboard key D. (you can pickup the Dmd with the mouse)
    follow the above ‘a’ sequence to position the Dmd in the main camera, plunger & rear table view.

  7. In the Camera.gd script under func load Views() removed :-
    C2V3position = config.get_value(“Transform”, “C2V3position”, Vector3.ZERO)
    C2V3rotation = config.get_value(“Transform”, “C2V3rotation”, 0) from the else statement. (duplication bug fix)

  8. In EOB_Players_Manager.gd script under ‘func EOB()’ added the following ‘Plunger_Lane_Trigger.BallHit = false’. (BallOnThePlayfield bug fix).

  9. blank.

  10. In Mouse_pickup_ball1, Ball1 mouse/arrow & in Camera, Hud1, Dmd1 & F11 script added ‘if EOB_Manager.Game_Started==true:’ to the key controls. (bug fix)

  11. In Mouse_Pickup_Ball1.gd script the MMB & Keyboard Key R now drops ball1.

  12. Introduced a left/Right Flipper & Plunger key control hint text box.

  13. Flipper set 3 introduced which is activated when ball1/2/3.position.z is less than <-4.5 & enters the collision shape area .

  14. In Camera, Hud1 & Dmd1 changed var MMC to View_Key_MC. # View_Key movement controls. (Terminology bug fix)

  15. Removed F9 & F10 Keys. The screen/key settings view controller. The view can be activated from the backbox user guide page. use F4/5/6 to open the page view.

  16. In Q_Dmd_Txt.gd script under ‘func Check_Queue()’ added the following code lines :-
    if TimOn_== -1 : TimOn_=9999999999999
    else:pass
    '# minus -1 == a very long time on, which needs to run func Flush_Dmd_Queue() at some point in time. Example below:-
    Q_Dmd_Txt.Hud1_Txt_message(“Press Keypad 1 or 2 or 3 or MMB\nPress R to reset controls”,-1,“Jump_Into_Position”,[-0.077,2.257,0.016],“”,“”,[-7.044,2.089,-0.093],“courbd.ttf”,64,[1,1,0.22],“Mus6”,-20,“”)
    Flush_Dmd_Queue() must be called somewhere to reset the timer to zero.

  17. Introduced a User_guide_Hint labal3D which runs more key control hints during game play.

  18. In Ball1.gd script repositioned the following statement:-
    ‘if Input.is_action_just_pressed(“mouse_button_middle”)’ and added ball_active==true (mouse_button_middle click bug fix)

  19. In Q_Dmd_Txt.gd script under ‘func Flush_Dmd_Queue()’: added ‘fun Check_Queue()’ which saves running a blank text line (bug fix)

  20. Mouse move ball feature will now only drop the ball when the enter key has been pressed or after the middle mouse button click.
    keyboard key “B” activates the feature. (key reduction bug fix).

  21. Mouse over pickup ball1 will now only drop the ball when the enter key has been pressed or after the middle mouse button click.
    keyboard key “P” activates the feature only when the mouse hovers over the ball. (key reductions bug fix).

  22. In Camera, Hud1 & Dmd1 view scripts introduced an
    ‘if Input.is_action_pressed(“Keyboard_Enter”)’ statement which runs the save file for the selected view. Now only one save key. (key reduction bug fix). (save icons removed)

  23. View1/2/3 is now using F1, F2 & F3.

  24. Backbox user guide is now using F5, F6 & F7.

  25. Updated User guide page one & two (bug fixes)

  26. The 2D view ball icons have been removed & have been replaced with 3D mesh ball objects which does the exact same job as the depreciated ball icons.
    Just hover the mouse over the mesh balls that are parented to the front cabinet table to change views & to activate the backbox user guide visibility to true or false.

  27. ''Ball1.false_the_ball1_mov_controller() removed from all flipper scripts. (bug fix)

upgrade jobs to be done
1.Light Bonus/animations with food menu mission objectives.
2.Multiball introduction.
3.Focus on table design upgrade.
4.On the fly load shader into material slot script to be introduced
5.Ubershader & Pooling to be studied (for shader bug fixing)

Dropbox link &
Updated Video below

Godot 4.4. Kick the Table Pottery Pinball 168 amendments/Upgrade

  1. More termonoligy upgrades.(bug fix)

  2. Mouse pickup ball now running the Hud1 hint text in the same way as the mouse follow ball runs the hint text. (bug fix)

  3. Enter_Name.visible==false added to the F1/2/3/4/5 & 6 key controlers. (bug fix)

  4. In EnterName.gd script increased the delay inc to 300. More time to see the scoreboard updating. also Load_View1_Button_._on_mouse_entered() added to the ‘if statemenmt’. (EnterName time on delay bug fix)

  5. In EOB_Players_Manager under func EOB() added, 'if Enter_Name.visible==false: Load_View1_Button_._on_mouse_entered()
    & removed the Enter_Name.visible=false. (bug fix)

  6. Transfered the ‘Reset_Camera_control();User_guide_Hint.User_Keys_Hint()’ in the camera, Hud1 & Dmd1 script to func load_view1/2/3. (bug fix)

  7. F12 reset will only function when wire ramp ball ani inc = 0.(Bug fix)

  8. In Camera, Hud1 & Dmd1 repositioned increment ‘View_Key_MC+=1’. (Bug fix)

  9. Removed User_guide_Hint.User_Keys_Hint() func driver from Hud1 & Dmd1. Camera script runs it. (Duplicated code bug fix)

  10. Replaced @onready var with self.texts in all script Label3D objects.

  11. In Hudbuttons.gd put U_I_UserGuide.inc=0; U_I_ScoreBoard.inc=0; U_I_Backbox.inc=0. (Bug fix)

  12. In Mouse_pickup_ball.gd removed the #if Camera3D_.Key_ini==false and Hud_1_.Key_ini==false and D_Matrix_D_Shader_.Key_ini==false: (bug fix)

  13. In Ball1.gd put the false_the_ball1_mov_controller() below the 'if Input.is_action_just_pressed(“Key_1”) and Plunger_Lane_Trigger.Ball1_onplayfield == true: line statement. (Bug fix)

  14. In Camera, Hud1 & Dmd removed false_the_ball1_mov_controller(). (Bug fix)

  15. In turntable area.gd, Bank_5 now resets (bug fix)

  16. In EOB PlayerManager.gd put # in front of camera_follow_ball_mode_button.False_All() which stops it from falsing all (bug fix)

  17. Plunger lane Ball_Jam ani added to the Ani_Player_Tilt Animationplayer (ball jam bug fix)

  18. In Program Settings under General/Physics/3D changed the default gravity vectot y to -2 .(Ball heigh bounce bug fix)

  19. In Pickup Ball with mouse, added ‘if not grabbed_object:Drop_Ball();User_guide_Hint.User_Keys_Hint()’. (bug fix)

  20. Ball Saver timer increased. (bug fix)

  21. In Plunger_Lanne_trigger.gd introduced Drain_Gobbler.Ball_saved==false so that the ‘EOB_Manager.BallOnThePlayfield+=1’
    is not incremented during ball saver modes ( ball saver count bug fix)

  22. In Ball1/2/3 & Mouse_Pickup_Ball1.gd removed func D_Matrix_D_Shader_.load_View1/2/3(). (bug fix)

  23. In Dot_Matrix_hud_ani1.gd replaced the await get_tree().create_timer(TimOn).timeout with a property timer. (Hud countdown timer conflict bug fix)

  24. In Dot_Matrix_hud_ani1.gd introduced a _Last_Frame_Pause, _FrameRate, _Scalex, _Scaley, _Posx,_Posy & dotscale to the Dmd func text line + upgraded to
    preload frames so that it does not load during game play (ball physics interference bug fix)

  25. func Dmd1(_TimeOn,_Last_Frame_Pause,_FrameRate,_Scalex,_Scaley,dotscale, _TxAction,_MusFile,*MusVol,Var):
    Example below
    DMD.Dmd1(2,“”,12,“Menu_Bonus”,0.400,0.400,0,0,0.60,“Bloop_Snd”,0,“”).
    Also introduced the following:
    a. In the _TimeOn text line slot -2 will run the func _on_timer_timeout() when the current+1==frame.size(), which is the image list quantity.
    DMD.Dmd1(-2,“”,12,“Menu_Bonus”,0.400,0.400,0,0,0.60,“Bloop_Snd”,0,“”).
    b. In the _TimeOn text line slot -1 will run TimOn=9999999999999 on for a very long time: must run func Flush_Dmd_Queue(): to reset timer again. DMD.Dmd1(-1,“”,12,“Menu_Bonus”,0.400,0.400,0,0,0.60,“Bloop_Snd”,0,“”).
    c. The _Var text line slot can be used for on the fly code needs similar to the Hud text line _Var slot. DMD.Dmd1(-1,“”,12,“Menu_Bonus”,0.400,0.400,0,0,0.60,“Bloop_Snd”,0,“false”).
    d. Placing 0.0 in _Posx,_Posy will run the camera view position set up. Using postion slots will overide the camera view position.
    e. Last_Frame_Pause introduced, use “p” in text line if wanting to extend the time on period for the last frame/image else leave it “” blank DMD.Dmd1(1.5,“p”,12,“Menu_Bonus”,0.400,0.400,0,0,0.60,“Bloop_Snd”,0,“”).
    _TimeOn without “p” (“”) will just repeat the frames until time runs out.
    f. MusFile reads the sound list in the var SoundManager = get_node(“/root/Node3D/Cameras & Audio/SoundManager/”+MusFile*)

26.In sprite_ani removed the animation looping (bug fix)

27.In Q_Dmd_Txt put Sprite_Ani.stop() in func Flush_Dmd_Queue()

28.In EOB_Players_Manager removed Sprite_Ani.stop() from func Start_Game()

29.In EOB_Players_Manager.gd replaced F12 & Keyboard_Enter is_action_pressed with is_action_just_pressed (bug fix - is_action_pressed runs script only once)

30.in d_matrix_d_shader.gd in func Reset_Dmd1_Shader_control() removed :#$DMD_Shader.reset_Shader(). (magor Bug fix)

31.In the Hud & Dmd.gd’s put #if Input.is_action_just_pressed(“Test_Key_T”): with some user guide notes

32.All Dmd script run by Program Setting Global autoload.

33.Attached a zip file Appdata/Roaming/Godot/App_userdata which hold all saved files which will save some setup time
AppData is usually situated in C:/?/user/AppData/Roaming/Godot/App_userdata

Notes
Wire ramp built in VisualPinball (Table has a waterfront export tool)
Wire ramps can also be built in futurePinball (Must use Blender 2.79. The import script, msd is preloaded, you must add the io_scene_fpx script to blenders addon folder which loads the fpm/fpl & fpt scripts)
Fpm Editor & MS3d will be needed to convert the fpm files to msd.
link:- https://www.vpforums.org/ for the VisualPinballX
link:- Future Pinball and BAM Essentials - All in One - Future Pinball Help Center - VPForums.org or File folder on MEGA for the FuturePinbal & Fpm Editor + BAM utils
link:- chUmbaLum sOft
link:- Index of /release/Blender2.79/ select previous versions then any blender version to locate the 2.79 version
link:- blender-addons-contrib/io_scene_fpx/fpx_import.py at master · scorpion81/blender-addons-contrib · GitHub

Wire ramp can be done with Array & curve modifiers in blender. (Although I have not mastered that procedure yet will upload Blender file setup one day when experimentation period completed)
YouTube Pinball Table Wire-Ramp build Demo link:- blender 4.5 pinball wireramp buider addons tools - Search Videos

upgrade jobs to be done
Put at null in the dmd tex after selecting key “D” followed by F1/2/3 which will remome the blank image from the shader property.
Put time limit on the raised table before it resets the targets similatr to the banana area target reset routine.
In light attract gd script preserve the in game light visible=true events for the func Check_which_light_was_True().
Run a Randomizer for the LightAttract_Mod that is run by func Ready() & EndofGame().
Multiball,Loop circuit & magnaball to be introduced.
Introduce salt, pepper, viniger, red & brown sauce for the meat menu super bonus score for the unused playfield light/image holes.
Underground Table to be formulated/designed.
liquefy the fruit images when hit with animation or shaders.
On the fly load shader into material slot script to be introduced.

other jobs to be done

Finnish Bungalow renovation & prepare for renovation of Bungalow on the Outer Hebrodies

Transfer classical guitar Hall of fame mustic to PDF

Continue with maths, chemistry & electric engineering studies.

Please enjoy & use what you want from it.

Dropbox link &
Updated Video below

3 Likes

corrected 25 e statement line in the last reply + post reply format corrections.

func Dmd1(_TimeOn,_Last_Frame_Pause,_FrameRate,_Scalex,_Scaley,dotscale, _TxAction,_MusFile,MusVol,Var):

e. Last_Frame_Pause introduced, use “p” in text line if wanting to extend the time on period for the last frame/image else leave it “” blank DMD.Dmd1(1.5,“p”,12,“Menu_Bonus”,0.400,0.400,0,0,0.60,“Bloop_Snd”,0,“”)

1.when using pause there shoud be a positive value in the _TimeOn text line slot. without the pause “p” it will loop until the time expires.
2.corrected the example text line which should have 10 slots.

1 Like

Your game looks amazing still, and it is really coming along. May I make a tiny suggestion. It’s about the art and sound. The ball has a shadow which is lovely, but I think it might need a shimmering glass layer that the ball is actually rolling on. Then perhaps an extra shadow/reflection on that too. There are times when it feels like the ball is floating along. Then perhaps to aid the rolling on a surface feel, a constant, fairly quiet, rolling sound. Perhaps pitching up with the velocity a bit when moving fast and pitching down when moving slowly.

You see here:

Its rolling but silent and floating.

Anyway, perhaps you are busy with the guts of the game rather than the polish but I hope you don’t mind me making that tiny suggestion. Good luck with the renovations. Its amazing you managed all this whilst studying and moving and renovating out in the sticks too!

2 Likes

Thankyou for the comments. You hit the nail on the head. At some point in time I will experiment with the ball physics, plus the roll pitch sound effect and see if I can improve on them. Lots of works to do with it and the upgrade job list is getting larger.

1 Like
  • Godot 4.6. Kick the Table Pottery Pinball 169 amendments/Upgrade
  1. Now using Godot 4.6 :slight_smile:
  2. Updated the GPUparticle3D values with some visual modifications.
    func stop_ball_trailers() will also run when ball speed==0’
    Independant Ball_Trailer scripts manufactured for the multiball feature introduction.
  3. Pinball Room saved with extention .scn (Load/Save Bug fix) Thankyou Godot development team for the script tool tip hint regarding the better performance options.
  4. Upgraded the Mug & Bowl animation so that it will not break during the next Godot upgrade (bug fix).
  5. In Ball_1/2/3.gd put more pitch sound speed conditions into the code lines. (bug fix, more experimentation to be done with the sound file)
  6. Removed Tgt_Score_B1/2/3/4/5.Tgt_Scoreb=false and Tgt_Score_B1/2/3/4/5.Tgt_scorei=0 from EOB() routines.(EOB Label3D visibility = false bug fix)
  7. Ball jam bug fixes.
  8. In program settings increased the General/Physics/3D/Default Gravity vector z to .4 (A heavier ball roll)
  9. Flippers, throw ball & mouse ball controller addforce increased for line 5 above Gravity changes.(Bug fix)
  10. Reduced the scale of the cabbage_001.
  11. Deleted the unused spinner Raycast3D objects.
  12. Ball roll sound runs when on ramp now.
  13. Brought ball1 mass into line with ball2 & 3
  14. Removed Table_Cab_Floor/1_Playfield_Floor staticbody3D collision shape & reimported with a Below_Playfield_Floor mesh & gave it a staticbody3D collision.
    Will rebuild the Playfield_Floor if it needs a staticbody3D collision shape attached to it. (next to spinner/left flipper Ball Gobble bug fix)
  15. Meat Bonus score re-inventions & bug fixes.
  16. In camera_follow ball_mode_button.gd script func _ready() → void: now runs Camera_Follow_Ball_mode = true. Press F11 or the backbox button to false the Camera_Follow_Ball_mode.
  17. In Ball1.gd put Cam_Follow_Ball.RearTable_BallPos=false (reposition ball into plunger lane bug fix)
  18. Can now press No1 to repostion ball to plunger lane & deactivate pickup Ball. Enter & Middle Mouse Buttom press will also do the same.
  19. Running func camera_follow_ball_mode_button.False_All()/.True_All() in Ball1.gd & Mouse pickup ball1.gd scripts.(Major Bug fix)
  20. In dot_matrix_hud_ani_1.gd script under func Reset_Dmd1_Shader_control():put DMD_Shader.texture=null.(Bug fix)
  21. Drop Mug Tgts now running Bank1 mesh fruit Tgts.(Bug fix)
  22. In dot_matrix_hud_ani_1.gd script under Input.is_action_pressed(“KeyPad_No2”)/(“KeyPad_No3”) added func load_View(). (Dmd setup Bug fix)
  • upgrade jobs to be done
  1. when in view1 put a hint text to show that No1 key is the main table view, No2 key is the rear table view & No3 key is the plunger view. (preps for the under playfield view intruduction)
  2. Put time limit on the raised table before it resets the targets similar to the banana area target reset routine.
  3. In light attract.gd script preserve the in game light visible=true events for the func Check_which_light_was_True().
  4. Run a randomizer for the LightAttract_Mod that is run by func Ready() & EndofGame().
  5. Multiball, Loop circuit & magnaball to be introduced.
  6. Introduce salt, pepper, vinager, red & brown sauce for the meat menu super bonus score for the unused playfield light/image holes.
  7. Underground Table to be formulated/designed.
  8. liquefy the fruit images when hit with animation or shaders.
  9. On the fly load shader into material slot script to be introduced.
  10. check for bugs

Please enjoy & use what you want from it.

Dropbox link &
Updated Video below

1 Like
  • Godot v4.6. Kick the Table Pottery Pinball 170 amendments/Upgrade
  1. In camera_follow_Ball.gd DrpTgtB1.EOB() & DrpTgtB2.EOB() re-instated. (fruit/Mug Tgt synchronisation reset bug fix)
  2. Carousel/Bank5 Tgts & fruits now resets if the ball does not return to the raised playfield within 200 mls.
  3. Middle rollover trigger lane will now not reset the fruit collection if active. (bug fix)
  4. DropBox Upload AppData.zip file renamed to 1_Godot_v4.6 pinball- Build - AppData.
  • upgrade jobs to be done
  1. When in view1 put a hint text to show that No1 key is the main table view, No2 key is the rear table view & No3 key is the plunger view. (preps for the under playfield view intruduction)
  2. In light attract.gd script preserve the in game light visible=true events for the func Check_which_light_was_True().
  3. Run a randomizer for the LightAttract_Mod that is run by func Ready() & EndofGame().
  4. Multiball, Loop circuit & magnaball to be introduced.
  5. Introduce salt, pepper, vinager, red & brown sauce for the meat menu super bonus score for the unused playfield light/image holes.
  6. Underground Table to be formulated/designed.
  7. liquefy the fruit images when hit with animation or shaders.
  8. On the fly load shader into material slot script to be introduced.
  9. Check for bugs.
  10. Impliment some of the tween guide examples.
  11. Continue to improve on the score Theme enabling objectives.

Please enjoy & use what you can from it.

Dropbox & Video link above

1 Like
  • Godot v4.6. Kick the Table Pottery Pinball 172 amendments/Upgrade
  1. Dot_Matrix_v1 shader upgraded to colour.
    2 .In Mug1.gd removed the “if Input.is_action_just_pressed(“Test_Key_T”)” statement. (Bug Fix)
  2. Resolved Stack overflow in Meat_Fruit_Veg.gd with the following statement:-
    “if Mtinc1b/Mtinc2b/Mtinc3b/Mtinc4b/Mtinc5b==true:falseMeat_()”.(Bug fix)
  3. Allmeat_activei+=100000 introduced for when all meat == true.
  4. Changed DMD.Dmd1 scale to ,0.447,0.410. & removed the save & Load scale methods. (Dmd1 scale Bug fix. The Dmd1 text line works the scale property)
  • upgrade jobs to be done
  1. when in view1 put a hint text to show that No1 key is the main table view, No2 key is the rear table view & No3 key is the plunger view. (preps for the under playfield view intruduction)
  2. In light attract.gd script preserve the in game light visible=true events for the func Check_which_light_was_True().
  3. Run a randomizer for the LightAttract_Mod that is run by func Ready() & EndofGame().
  4. Multiball, Loop circuit & magnaball to be introduced.
  5. Introduce salt, pepper, vinager, red & brown sauce for the meat menu super bonus score for the unused playfield light/image holes.
  6. Underground Table to be formulated/designed.
  7. liquefy the fruit images when hit with animation or shaders.
  8. On the fly load shader into material slot script to be introduced using the Dot_Matrix_v2 & Dot_Matrix_monochrome_v1
  9. Check for bugs.
  10. Impliment some of the tween guide examples.
  11. Continue to improve on the score Theme enabling objectives.
  12. Introduce Ball 1 & 2 quantity highscore board using short array sort code method.
  13. Introduce Bumper/drop Targets & fruit collection highscore board.

Please enjoy & use what you can from it.

Dropbox link &
Updated Video above

1 Like

Very interesting

1 Like

Just so you don’t get into trouble rename your PacMan to munch man or hack man , so you don’t get into trouble with namco. but great job it reminded me of playing the original baby pacman back in the arcade it was a pinball mixed with video game.

1 Like