1
\$\begingroup\$

This question is sort of a follow-up to this other one I found, which I found quite useful but not fully elaborating on what I wanted to know.

So, my question is this: I am working on a KoTH puzzle for people to make bots to play. However, as I found myself writing the question, I found that my question consisted of many sub-sections, including parsing unique syntax to interpret it in your own way, and simply a lot of working-out that had to be done before bots could actually get onto making a choice of move.

Could this be an issue? Is there such a thing as having too many elements to a question?

\$\endgroup\$
  • 6
    \$\begingroup\$ It might make it more likely to be closed as unclear, but questions generally aren't going to be closed just for being too complex. I'd definitely recommend trying to simplify it down as much as possible if you can though. \$\endgroup\$ – DJMcMayhem Jun 11 at 17:13
  • \$\begingroup\$ @DJMcMayhem I'm trying to make it as specific as possible to avoid being unclear, so I think I was probably wondering whether there is an issue with having a 1000 word long question, other than people possibly not being bothered to read it. \$\endgroup\$ – Geza Kerecsenyi Jun 11 at 17:16
  • 3
    \$\begingroup\$ Oh god, don't make KOTH bots parse input. Just give it to the bot as objects. Parsing input is only good in code golf when its about the input parsing, e.g. millitext. Koth is about the AI, not the input and output formats. \$\endgroup\$ – Draco18s Jun 11 at 19:35
  • \$\begingroup\$ @Draco18s sorry, perhaps I worded my comment wrong. I am passing it as an object, but what I meant was that the structure of the object is non-standard (i.e I cam up with my own structure/properties/values to represent the in-game items), and actually pretty long-winded to manipulate because of the sheer amount of possible values (over 100), meaning you'd need a switch for each one of them. \$\endgroup\$ – Geza Kerecsenyi Jun 11 at 20:29
  • 5
    \$\begingroup\$ @GezaKerecsenyi I guarantee there's a better way than that. KotH challenges are pretty much always more complex than other challenges, but typically if your challenge requires a 100-line switch, then the challenge should be simplified or your API should be. In this challenge I have a massive API, but bots only need to write code for what they care about. \$\endgroup\$ – Nathan Merrill Jun 11 at 21:09
1
\$\begingroup\$

No, but...

There's no rule that would result in your challenge being closed for being too complex (although a complex spec is more likely to be unclear, which is a reason to close). However, for any challenge type it helps to make the spec as simple as possible without being ambiguous. Condensing the required information into a form that can be absorbed as easily as possible is an art and an interesting challenge in itself.

This is true for any challenge type, but it applies particularly for King of the Hill contests. In a golf challenge you can continue to improve your score, competing against your past self, even if there are no other people answering. In a KotH a single answer has nothing to compete against, so the challenge can only be meaningful with multiple answers. Ideally the competition should be easy to enter, so a population of players can build up.

My own view of KotHs is that they should be trivially simple to enter, but allow open ended opportunity for further improvement, to allow a variety of approaches followed by an arms race driving innovation. This isn't a rule though. It's not impossible to make a tricky-to-enter KotH work well.

If the input format is likely to be an obstacle to entry, it's worth thinking about how much of it is essential to the core of your challenge, and how much could be simplified. Can your KotH controller do more work so the players don't have to? Some KotHs provide utility functions available for all players to use. You could also provide input to the players in 2 or more alternative formats.

Whether these approaches are useful will depend on the nature of your particular challenge. For working on a specific challenge I find the challenge sandbox very helpful, in general but particularly for KotHs. The questions people ask about the spec and the input format will give you an idea of what needs to be better explained, be simplified, or have examples. It will also help detect edge cases that might break your challenge, allowing you to fine tune the rules before posting to avoid disruption once the challenge is live.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .