Frequently Asked Questions

What programming languages can I use to write my bot?

Riddles.io 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 Riddles.io add support for programming language X?

Certainly. Riddles.io 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. Riddles.io usually open sources a game's engine within 2 months after launching a competition. The source code, as well as the compiled releases can be downloaded from the Riddles.io Github page.

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 yoursubdomain.riddles.io after discussing the details with you.

Can anyone join my competition?

Competitions can be either private or public. Public competitions are featured on Riddles.io 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 Riddles.io 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