I'm working on a King of the Hill challenge for some point in the next couple of months. (Sneak Peek)

The problem I have is that last time I ran one it was pretty ambitious, and it became a heavy time-sink while the challenge was active. I've got a job and a family, and pressures of maintaining the challenge eventually became too much and I had to give it up for my own well-being.

Well, the new one's equally ambitious, but I've resolved to be more prepared, front-load as much dev work as possible, particularly geared towards the actual running of the competition. This means that maintaining the challenge should be as near to automatic as possible.

Here are things I've done, or intend to do, before releasing the challenge:

  • A menu providing all matches in a compact format.
  • Seeded random to provide consistent, rewatchable, match conditions.
  • A command line script to run the contest in full (not relying on the browser to do everything).
  • A script to import code from a question, live-tested here.
  • A validator, as part of import script, which should hopefully filter out any game-breaking code from the question.
  • An up-front leader board, updated on tournament runs, making it clear this is a challenge.
  • A single-entry interface to show competetors their own matches and scores. (Including re-runs of matches)

Things I'd like to finish doing before the competition launches.

  • The same validator used to gate-keep entries will be accessible to run on a single file. Allowing competetors to ensure their entry will be accepted.
  • A scheduled script to check for changes in the answers, import any new ones, run the tournament and push code changes (including results).
  • A widget in the question which goes and gets the results from Github pages and shows a leader board in the question.

Finally, I intend to try a sandbox post to hopefully get a couple of golfers to end-to-end test the setup.

The desired end-result is that I can leave a machine on, set up a cron job to hit the script every now and then, and as much as possible leave the challenge to run itself.

However, my past attempts have never really been completely ready on launch, and I might not be able to hop to it if things need fixing, so I'd just like to open the discussion here:

  • What more can I do in the dev phase to set up this challenge?
  • Is there any part of the challenge maintenance which can not be automated?
  • Is there a way I can encourage people to try out my entry process prior to launch?
  • 1
    \$\begingroup\$ About seeding the competition, may I suggest you don't share the seed you will use for the final challenge beforehand? I've seen people in this community do crazy/extraordinary things and I wouldn't be surprised if someone tried to exploit the specific seed you chose! \$\endgroup\$
    – RGS
    Commented Apr 1, 2020 at 13:28
  • \$\begingroup\$ @RGS That's a good point, I'll change it for periodically to prevent any set-piece answers based on that RNG. I'll note that in the question when it goes online. \$\endgroup\$
    – AJFaraday
    Commented Apr 1, 2020 at 13:33
  • 3
    \$\begingroup\$ I myself am a big fan of automation. Making a KotH that runs itself is something I am also working on at the moment and have thought about plenty. I don't think I can add anything to what you've outlined here - we seem to have followed very similar trains of thought. Here's one idea that you haven't mentioned but probably thought of, though - make participants be able to run their own tournaments so that they're able to test changes/new entries before posting them and waiting for results. \$\endgroup\$
    – Alion
    Commented Apr 1, 2020 at 18:55
  • 1
    \$\begingroup\$ On a different note - that's one hell of a sneak peek! I'm excited! \$\endgroup\$
    – Alion
    Commented Apr 1, 2020 at 18:55
  • \$\begingroup\$ @Alion you’re quite right, I had thought of that. I’ll make it part of my participation instructions to grab the github repo and they can add and debug their entry there, as well as running the validator and tournament with it. - Glad you like the game! It’s been my side project for a few months now and I’ve high hopes for it on here. \$\endgroup\$
    – AJFaraday
    Commented Apr 1, 2020 at 20:22
  • \$\begingroup\$ Seeded random doesn't mean constant seed. It simply means that when you post results, you can also post the seed used so others can reproduce. \$\endgroup\$ Commented Apr 2, 2020 at 14:12


You must log in to answer this question.

Browse other questions tagged .