I'm working on a KOTH contest, and it is a little bit more on the complicated side. Each bot is expected to keep track of a lot of state. For example, move history, position in the board, position of other bots, etc.
It seems to me like the best way to do this would be to make each bot an instance of a class, rather than a full program communicating over command line arguments.
However, I'm worried about this since, by nature, this would restricts all entrants to a single language. Is this okay? And I go through with restricting it to a single language, what language is most appropriate? I'd like to do it in Java since it's very widespread and pretty easy to get started with. If I restrict it to Java, will that hurt participation on a technical or social aspect? E.g, "I'd like to participate, but I really want to do it in
Or If I instead allow persistent program that communicate over a pipe, will this make it too technically hard to implement that it will hurt participation?