Ideas for closing period of tournaments?

The mechanism right now at the end of a tournament is nice in a way - there’s kind of a big rush at the last couple hours/minutes, but it’s less than great in some ways.

It boils down to the fact that someone putting their code out there earlier puts them at a considerable disadvantage from others targeting or copying their strategies, especially so if they are ranked near the top. And I think we would probably all agree that the coping mechanism that the serious competitors adopt of waiting till the last 15 minutes to submit is not optimal.

The idea I had was that you could have maybe 24 or 48 hours right before the end of the tournament when the rankings, and access to other people’s newer code is paused. Perhaps this could be called the “blinded” period.

During this period, any code a player submits would be private to them, and wouldn’t have rankings run against it (well in an ideal world they would, but the fact that each player would need a separate set of simulations probably makes it unfeasible.). They would still be able to test their code by battling against the last-publicly-submitted code of other players.

Then, after the official end of the tournament, the blinded period is also over, and everyone’s final code will be publicly visible and the simulations can start running against them.

I think this would be nice in that it would eliminate the last-minute rush, make things better for players in currently inconvenient timezones, and possibly make for a more exciting reveal at the end of the tournament.

That’s just one possible idea. If you have any other ideas or thoughts about this one, please share them here, and let’s see if we can make the tournaments even better for everyone!

6 Likes

I agree, especially if you don’t want to stay up till 12:00. That’s what happened last time to most of the top guys, I think (at least me).

This should only be for the final tournament though, not the starting one(like desert duel/blazing battle), because the starting one’s supposed to be really easy and friendly for anyone to approach.

1 Like

I like the idea of improving the tournament close simulation strategic scenario. But what would be the incentive to submit your code during this blinded period? You wouldn’t necessarily know if it was doing better or worse than before, so it would be risky to change anything. And the top players wouldn’t have their best code submitted right before the blinded period, because otherwise everyone would test their updated code manually against that.

Maybe there’s some way to anonymize things towards the end?

Other things I was thinking of were around having short knockout rounds for the top players with small updates to the arenas and an opportunity to write new code to take advantage of those, or having some benefit to having stayed on top of the leaderboard longer during the tournament.

I picture the blinded period as being functionally almost the same as when people are submitting 5 minutes before the end right now. Just stretching out that period so that people in different timezones aren’t disadvantaged (e.g. tournament ends when they have to be at school), or have to stay up late to submit their code.

Like those other ideas you’re exploring too though, Nick. In comparison, the blinded period direction would be a pretty targeted incremental change focused purely on evening out timezone advantages/disadvantages.

Coming from someone who submitted within the last 30s, I also think this is a pretty big problem.

Maybe people can have an option to make their submission private, so you cannot view their strategy by battling them or spectating, but there will still be simulations and people will still see if they win/lose. Idk if this is a good idea or not, though.

Brainstorming here; what if we added a flag you could use in your code:

isTournament = hero.isTournament  # When we simulate the tournament, this will be True
#isTournament = True  # Test with this, don't submit

# ... your normal code ...

# Secret sauce you don't want people to develop counters for
if isTournament
    secretStrategy()
else:
    publicStrategy()

Then most players (who don’t care about the secrecy of their latest tactics) don’t have to do anything, and the top competitive players can use this code convention to decide to submit their latest awesome code whenever, not having to stay up until the tournament close to protect it. On our end, it’s a lot easier to implement than a full version control scheme or blinding period.

2 Likes

SGTM (Sounds Good To Me)!

That’s a great idea, Nick. Has all the benefits of the blinding period idea, and doesn’t even restrict it to the last 24/48 hours so people with even broader time constraints can just make use of this on their own time.

1 Like