Frequently Asked Questions

What programming languages can I use to write my bot? currently supports the following programming languages:

  • C
  • C#
  • C++
  • D
  • Go
  • Haskell
  • Java
  • JavaScript
  • Kotlin
  • Lua
  • OCaml
  • Pascal
  • Python 3
  • Perl
  • PHP
  • Ruby
  • Scala

However, note that not all languages might be available for any given competition.

Can add support for programming language X?

Certainly. can add support for any programming language if you open an issue on the issue tracker containing the following information:

  • A link to the source code for a working starter bot written in programming language X;
  • Instructions to compile the starter bot;
  • Instructions to run the starter bot.

Note that we currently do not support any compile step that requires an active network connection.

Can I output logging information from my bot?

Yes. Everything sent to the standard error stream (stderr) is ignored by the engine and is written to a log file. The log contents can be accessed through the Match Log page of a competition.

Can I test my bot before uploading?

Yes, usually open sources game engines after launching a competition. The source code, as well as the compiled releases can be downloaded from the Github page. You'll also find a link to the game engine source on the How to Play page of a competition.

A very useful tool for local testing can be found here.

How does my bot earn points?

In multiplayer games, your bot will automatically earn points when it's activated. You can activate your preferred bot revision on the overview page of a competition. After that it will appear on the leaderboard and ranked matches are scheduled for your bot against the other activated bots. Challenging other bots will not influence the bot's score.

In singleplayer games the bot will earn points by pressing ASSESS NOW on the overview page of the competition on your preferred bot revision. A game will be played against some secret assessment data. The bot revision with the highest score counts and that score will appear on the leaderboard.

How is score calculated?

TrueSkill is used by default. However, some competitions might use ELO or an incremental score as well.

What is a starter bot?

A starter bot is a bot which always makes random, valid moves. Starter bots are made available in several different programming languages to quickly get started.

How do I submit a starter bot?

We gladly publish starterbots created by the community. You can submit a starter bot for any game by creating an issue on the issue tracker.

The issue should contain the following information:

  1. A link to the source code for the starter bot;
  2. The game for which the starter bot is made;
  3. The programming language in which the starter bot is written.

The starter bot will be made available on the website after review for correctness. Don't forget to add a license if you want one, and a link to the Git repo in the README if you have one.

Can I run my own competition?

Definitely! You can contact us and tell us which game you would like to play, how many participants you expect and for how long you would like to run the competition.

We’ll set up your competition on after discussing the details with you.

Can anyone join my competition?

Competitions can be either private or public. Public competitions are featured on and can be joined by anyone, private competitions are invite only.

How do I administer my competition?

You can access the competition admin panel from the user account drop down in the top right corner of the website. From there you can invite people to your competition, manage teams, message participants and more.

Why would I want to run a programming competition?

Programming competitions can be used for many different purposes. Using it for hackathons, lab exercises, team building activities, marketing, recruitment, and assessments are just a few examples.

You can always contact us if you’re interested or in doubt whether or not a programming competition suits your needs.

Reporting bugs

The best way to report a bug is to create an issue on the Github page.

When posting an issue please include the following information:

  1. A description of the bug
  2. How the bug can be replicated
  3. Device and operating system you’re running on
  4. The browser and browser version you’re running on
  5. A screenshot, if applicable

Question not listed?

If you can’t find what you’re looking for in the FAQ, you can contact us at [email protected].