Thoughts on Group Knockout/Strikes format w/ 3 strikes per group?



I was getting DLL errors too, but this one’s working. Thanks so much for this tool!


Hmmm, something’s not right. I’ve run a simulation 60 player, 7 keefer-strike tournament on Match Play that went for 16 rounds:

The fairstrikesim gives these results for 60 players, 7 strikes:


round 1: 60.000000
round 2: 60.000000
round 3: 60.000000
round 4: 60.000000
round 5: 57.891514
round 6: 50.024925
round 7: 37.383465
round 8: 24.413816
round 9: 14.194348
round 10: 7.641338
round 11: 3.745633
round 12: 1.406503
round 13: 0.068032
round 14: 0.000290


round 1: 0
round 2: 0
round 3: 0
round 4: 0
round 5: 0
round 6: 0
round 7: 0
round 8: 0
round 9: 0
round 10: 0
round 11: 339903
round 12: 626083
round 13: 33869
round 14: 145


Perhaps it’s a difference in how matches are seeded. I basically bunch people up in order of strikes (I guess that’s Swiss). What does matchplay do (specifically, if known)?


MP gives the option of how to create groups. I think Swiss is the only way that makes sense for this format because it minimizes the odds of a few of the top players getting too deep with near-zero strikes.


The other thing that worked very well in the progressive strike tournament I ran is the 3p groups are the highest strike groups. Since there are less available strikes in progressive in the 3p group, this helps to keep people around.


I can easily flip this around if needed, though I feel like statistically it shouldn’t matter. I do load the lower groups with more strikes right now.

Edit: If you can parse this, here’s the full debug data from one of the runs I did. I couldn’t see anything wrong with it.

Players will face each other in the order they’re listed in the “check for strikes” section.


Just wanted to share that the updated version worked for me! This is really cool and will help me with tournament planning in the future.


Any chance this source could be easily recompiled for other platforms?


Or maybe just shared? I imagine it’s small enough that writing a JavaScript implementation wouldn’t be too much work


Ah, that’s it. I’d used “balanced” groupings in my trial run on Match Play.


What does “balanced” do? @haugstrup?

I said I would share it, just wanted to clean it up a little. It was stream-of-conciousness c just to get it done. :wink: I’d imagine tonight I’ll put it up.


You’ll face random opponents you haven’t faced before. I don’t think you’ll want to spend time implementing that algorithm. Tournaments run longer than swiss tournaments – especially large tournaments.

My apologies! I was definitely skimming this thread rather than reading it. :grimacing:


These are interesting stats! I wanted to see how player skill distribution would affect things so I ran some simulations for the “Trent’s Barn” scenario as well.

I generated the player pool using a normal distribution to assign each player a ‘skill’ level that controls their chances of beating another player. With a basic normal distribution and swiss seeding, my results are pretty similar to @keefer’s for progressive strikes (ie, the event typically takes about 24-25 rounds to finish). However, things get interesting if I mix in an additional variable: “Number of ‘Pro’ players” (a “pro” player is basically an outlier that has about a 75% chance of winning any given match versus non-pro players). The results really highlight how two high skill players battling it out for one strike at a time can really draw out the end of the tournament:

Strikes: 24 ~ Players: 60 ~ ‘Pro’ players: 0 ~ Swiss groups: true
Average rounds: 24.9981 ~ Median rounds: 25
Probability that the event will take at least X rounds:
22 rounds: 95.0%
23 rounds: 75.0%
24 rounds: 50.0%
25 rounds: 31.0%
26 rounds: 19.0%
27 rounds: 11.0%
28 rounds: 7.0%

Strikes: 24 ~ Players: 60 ~ ‘Pro’ players: 2 ~ Swiss groups: true
Average rounds: 29.1298 ~ Median rounds: 29
Probability that the event will take at least X rounds:
23 rounds: 90.0%
24 rounds: 81.0%
25 rounds: 73.0%
26 rounds: 65.0%
27 rounds: 58.0%
28 rounds: 50.0%
29 rounds: 43.0%
30 rounds: 36.0%
31 rounds: 29.0%
32 rounds: 24.0%
33 rounds: 18.0%
34 rounds: 14.0%
35 rounds: 10.0%
36 rounds: 7.0%

Strikes: 24 ~ Players: 60 ~ ‘Pro’ players: 4 ~ Swiss groups: true
Average rounds: 26.2505 ~ Median rounds: 26
Probability that the event will take at least X rounds:
23 rounds: 89.0%
24 rounds: 70.0%
25 rounds: 51.0%
26 rounds: 37.0%
27 rounds: 26.0%
28 rounds: 18.0%
29 rounds: 12.0%
30 rounds: 8.0%


You are correct about that!

So, code.


Really really late edit: This should work without issue as-is on both win64 and linux (tested same file on both). For win64 make sure you start a console project.

Head2Head Pinball Podcast - Episode 60 – Dennis Kriesel is a cheap bastard

Worth reading for the comments alone :heavy_heart_exclamation:


Ran the tournament the other day, a real one!

33 people. 5 strikes.

Went for 10 rounds… Had a couple of players that had really good runs, running the sims shows that it should be 8/9 almost all the time.
Lasted about 4 hours 15 minutes…
think it would be done in 3.5 hours if I took some long players out (Spiderman/Hobbit games went forever)

Lots of great feedback from players about the format.

I added player David Johnston NZ after the first round, as he was late, and gave him 2 strikes. Apparently there is a bug in Matchplay as he lasted longer in the comp than some others but matchplay ranked him as 26th.

Thanks again to Keith and Andreas.


Based on tonight’s warm up tournament at Trent’s barn, the rounds lasted about 40 minutes each. Figure that into the forecasts for tomorrow’s 24 strike main event and it’s going to be a very long day.


Confirmed. Tilts are now in Simpson’s, both walking deads, and monster bash.

I hope that helps. Haha. Nice playing with you John!


Trent’s 24 strike dealio lasted 23 rounds and took 14 hours.


At least 4 hours of that consisted of Rosa delays.