34
\$\begingroup\$

I'd like to introduce KoTHComm. I've been working on this for many months now, and I feel like its at a (somewhat) stable point.

KoTHComm is a modular framework built to help write King of the Hill challenges faster. It provides:

  • A communication system to communicate with other languages
  • A downloader to automatically download the latest submissions from the site
  • A tournament system, which allows you to organize players into games in a variety of ways
  • A scoring system, which allows you to combine game scores in smart ways
  • A map module, providing many types of extensible maps and map generation
  • GUI components to easily show the current state of the game

It works too: I used it on my past KoTH, Stock Exchange, and I will be using it on my upcoming KoTH. All features are optional, and I've tried to limit the dependencies between the different parts.

I would like to note that the framework is still under heavy development, and I cannot guarantee backwards compatibility of any kind. I'm sure it has bugs, but I try to fix them as fast as possible.

FAQ:

  • What language is it written in?
    • Java 8. Yes, you must write your controller in Java. If you hate Java, tough luck. Submissions don't have to be written in Java, but I'd highly recommend limiting them to Java for speed purposes
  • What do you plan on doing?
    • Store scores in a persistent database (which means that you can start your controller multiple times, and save all of your scores)
    • Hosting KoTHs on a website. This will not be an automatic process, and I will pick and choose which ones I will host. I'd also love to get a stack snippet to work with it as well
    • Add tests and comments for all of my code
    • Flesh out map generation
  • Do you want help?
    • Sure! Either send a pull request, or talk to me in chat
  • Do you plan on porting this to other languages?
    • No.

If you have any questions or feedback, post it below. If you have any bugs, post a bug report on Github.

\$\endgroup\$
  • 6
    \$\begingroup\$ Congrats on "releasing" this! Thanks for your excellent contribution to the community! \$\endgroup\$ – AdmBorkBork Nov 13 '16 at 19:22
  • 5
    \$\begingroup\$ But Java will make the controllers so much longer... \$\endgroup\$ – mbomb007 Nov 16 '16 at 17:19
  • \$\begingroup\$ I'm confused. By longer, do you mean the size of the jar? That's true for any library \$\endgroup\$ – Nathan Merrill Nov 16 '16 at 17:20
  • 2
    \$\begingroup\$ @NathanMerrill No, mbomb means code size because we all hate Java a lot. \$\endgroup\$ – cat Nov 18 '16 at 0:29
  • 1
    \$\begingroup\$ (also, you should copy this into the repo's readme because not having a readme in the repo is mildly baffling) \$\endgroup\$ – cat Nov 18 '16 at 0:30
  • 1
    \$\begingroup\$ I've been wanting to add a readme, but I want more "how to use" instructions \$\endgroup\$ – Nathan Merrill Nov 18 '16 at 0:49
  • 5
    \$\begingroup\$ @NathanMerrill I believe mbomb007's comment was a joke in reference to golf, not an actual criticism :) \$\endgroup\$ – trichoplax Nov 19 '16 at 21:42
  • \$\begingroup\$ Oh I figured that out :) \$\endgroup\$ – Nathan Merrill Nov 19 '16 at 21:57
  • \$\begingroup\$ How about linking to this from the KotH tag wiki? \$\endgroup\$ – Martin Ender Nov 25 '16 at 9:46

You must log in to answer this question.

Browse other questions tagged .