Difference between new ball and extraball

114 views
Skip to first unread message

leeoneil

unread,
Oct 24, 2025, 5:54:02 AM (13 days ago) Oct 24
to MPF Users
Hello everyone,
I'm still trying to figure what is happening with my super long wait between 2 balls.
Sometimes the wait betweend 2 balls can go to 1 minute or 2 !
I've checked loooooots of thing, I can't understand what's going on.
It's specific to very very good scores, if we play badly, there is no wait between 2 balls.

When we have an extraball, there is no wait at all (even with super high scores !).
So, what can I check ?
What's the difference between a ball and an extraball ?

I'm still in 0.57.3, can't go in 0.8.

Thank's for your help !

Alex L

unread,
Oct 25, 2025, 4:33:00 AM (12 days ago) Oct 25
to MPF Users
Interesting! Are there any events logging during this wait? If there is a big gap with no logging, what are the events right before and after the wait? Is this only with single player games? What happens with multiplayer?

I'm not great with .57, but I wonder if you have a bonus mode that is silently going through multiple delayed awards, but not showing anything, so it seems like nothing is really happening. This would be something I would expect to have grow alongside higher scores. But maybe bonus happens on extra balls as well. Hmm.

Another idea - extra balls start within the same player context as the previous ball (which earned it). Therefore there is (guaranteed) no player rotation, whereas ball 1-to-2 progression or a ball ending in a multiplayer game both do some extra handling of ending the current turn and starting a new turn, even if it is just a single-player game.
If you have a lot of player variables (or maybe more importantly, <x>_player event hooks listening for changes in player variables), maybe the value management is causing a lot of event processing, which delays the start process of the next ball.

You might dig around the default Game mode implementation to find more clues: https://github.com/missionpinball/mpf/blob/00460954febea09ae82d7b18412edd99fedf9260/mpf/modes/game/code/game.py#L95 . Notice that extra ball handling calls `_run_ball`, but normal turn progression also calls `_start_player_turn` and `_rotate_players`, which extra omits.

Anthony van Winkle

unread,
Oct 26, 2025, 6:05:20 PM (11 days ago) Oct 26
to MPF Users
By any chance are you using a segment display? What is your hardware like and can you share a link to your repository?

leeoneil

unread,
Oct 28, 2025, 1:35:42 PM (9 days ago) Oct 28
to MPF Users
Thank's.
I'm trying to understand how to share my code on github (creating a repository)

Actually everything is here : https://drive.google.com/drive/folders/11r_yReAPgv784EVpiqdJ36kgg8GsXdBx?usp=drive_link
But I don't know if someone can acess it.

Nothing change between 1 or multiple players (same problem).
I'm not using segment display, I'm with a WIN11 computer, pretty fast ( AMD Ryzen 7 5825U, 32 Go RAM DDR4).

leeoneil

unread,
Oct 29, 2025, 4:15:20 AM (8 days ago) Oct 29
to MPF Users
Ok not very easy...
I think all my code is here :

https://github.com/Leeoneil-Vely/Cthulhu_pinball

I absolutley don't understand....
In the log there is nothing during the wait.

leeoneil

unread,
Oct 29, 2025, 9:12:37 AM (8 days ago) Oct 29
to MPF Users
Sorry i'm talking to myself...

I made a verbose log and... I don't understand.

2025-10-29 14:00:25,913 : INFO : EventManager : Event: ======'player_turn_ended'====== Args={'player': <Player 1>, 'number': 1}
2025-10-29 14:00:52,857 : INFO : EventManager : Event: ======'game_will_end'====== Args={}
and
2025-10-29 14:00:25,814 : EventManager : Event: ======'slide_main_init_active'====== Args={}
2025-10-29 14:00:52,901 : EventManager : Event: ======'slides_play'====== Args={'settings': {'game_over_slide_3': {'target': None, 'background_color': [0.0, 0.0, 0.0, 1.0], 'priority': None, 'show': True, 'force': False, 'expire': None, 'slide': None, 'tokens': {}, 'action': 'play'}}, 'context': 'game_over', 'calling_context': "mode_game_over_started{current_player.game_over_number=='3'}", 'priority': 500, 'queue': '<QueuedEvent>'}
2025-10-29 14:00:52,901 : EventManager : Event: ======'sounds_play'====== Args={'settings': {'game_over_sfx_pool': {'action': 'play', 'priority': None, 'block': False, 'delay': None, 'track': None, 'volume': None, 'ducking': {}, 'pan': None, 'loops': None, 'start_at': None, 'fade_in': None, 'fade_out': None, 'about_to_finish_time': -1.0, 'max_queue_time': -1.0, 'events_when_played': ['use_sound_setting'], 'events_when_stopped': ['use_sound_setting'], 'events_when_looping': ['use_sound_setting'], 'events_when_about_to_finish': ['use_sound_setting'], 'mode_end_action': 'use_sound_setting', 'key': 'use_sound_setting'}}, 'context': 'game_over', 'calling_context': 'mode_game_over_started', 'priority': 500, 'queue': '<QueuedEvent>'}

This is an example of a long wait...
It was here on ball 3 before the end of the game, just after the bonus points.

And At some point during the game, the computer start to struggle with the shows.
Looks like a very new videogame on and old computer, the "framerate" for the show is very bad....

leeoneil

unread,
Oct 30, 2025, 6:29:26 AM (7 days ago) Oct 30
to MPF Users
I get rid of all the highscores... And the problem still here.
Can be between 2 balls or after the third ball (so just before a game over).
So I guess the modes are not concerned...

cobra18t

unread,
Oct 30, 2025, 7:54:45 PM (7 days ago) Oct 30
to MPF Users
Have you tried this memory leak search method?
https://missionpinball.org/latest/troubleshooting/debugging_memory_leaks/

That helped me find the source of my delay between game over and attract mode restarting. Basically I had thousands of event handlers that were not cleared until the end of the game because of how I was using segment displays. Maybe you have something that stacks up that is not cleared until a new ball (not extra ball).

leeoneil

unread,
Oct 31, 2025, 3:59:50 AM (6 days ago) Oct 31
to MPF Users
Hello !
I tried it but I'm too dumb to understand I think (the result...)

So I press "d" at the beginning of my game, and "d" at the end (after a long wait).
I have some informations on my log but don't know exactly what to check.

There is a line with 1500 handlers but....
None of them seems particular.

The MC is here : https://drive.google.com/file/d/1lf8T95fMk4qD7JYTChy7W9iWa7NcHMXA/view?usp=sharing
And the other log is here : https://drive.google.com/file/d/1ac83twxIgmT5gfWqYpGCdyfJIR2EzNfJ/view?usp=sharing

Is it easy to find some clues on these files ?



Thank's for your help !

Philip Dixon

unread,
Oct 31, 2025, 10:52:55 AM (6 days ago) Oct 31
to MPF Users
try changing max queue time from -1 (which is infinite)? In fact, try commenting out a line at a time and see if the delay goes away and if so, that line is your problem.
Message has been deleted

leeoneil

unread,
Oct 31, 2025, 1:34:02 PM (6 days ago) Oct 31
to MPF Users
Maybe   
He spotted that my base game mode had this :
#config_version=6
mode:
  start_events: ball_started, base_start
  priority: 100
  stop_events: base_stop

So probably, the base mode was not shutting down between 2 balls.
He told me to put this :

mode:
  start_events: ball_started, base_start
  priority: 200
  stop_events: game_ended, ball_ended, game_ending, ball_ending

And it's nigh and days !
The wait sometimes could go to 5 or 10 seconds, on big scores.
Need to do more testing, but looks like he found something big !

Thank's again to  !!!!!!

leeoneil

unread,
Nov 1, 2025, 7:57:14 AM (5 days ago) Nov 1
to MPF Users
Back to the beginning, the problem is still here.
It's crazy !
Yesterday, 15th plays, no problem.
This morning, one play, one good ball, lots of points.... Problem is back !
Aaaaaarrrghhhhhh !!!!!!
Reply all
Reply to author
Forward
0 new messages