A bot is an autonomous computer program designed to solve a specific task, like one of our games below. We invite you to join our olympiad, and write your own bot to compete with others. Don't worry: we'll guide you on the way.

Competitions | How it works? | Signup

Ping Pong

A simple arcade game, where the players need to return a ball with their paddle on the sides. Some obstacles may appear randomly on the playing field, watch out for them!

Difficulty: easy
Benefits:
  • learn to code
  • watch for fun

Target audience

Earl is a young student in his first year in high school. His bot is able to follow the slower balls, and he plans to improve itself to estimate the impact position earlier.

Globe Conquest

A game of strategy and global domination. Each player gets an army based on the territories it controls, and needs to fight the other ones. Only one of them can truly dominate the globe.

Difficulty: medium
Benefits:
  • complex strategies
  • introduction to game theory

Target audience

Suzy is just before university. Her strategy is to divide her army into two large groups and expand on two fronts at the same time. Let's hope she can keep up with her contestants.

Stock Market

Can you predict what will be the next success on the stock market? How resilient is your strategy on downturns? Try your trading skills, and see how you can beat the market.

Difficulty: hard
Benefits:
  • learn investing
  • machine intelligence

Target audience

Dave is studying for a financial degree, and to learn more about investing, he has written a trader bot to compete in Stock Market. Right now he selects stock randomly, and waits until they got higher. He is sure there are better strategies, and wants to experiment with them.

How it works?

We will provide client and server code in various programming languages, documentation, example bots, and a community forum to discuss the intricate details.

A bot can be as simple as this one:

  class MyBot implements PingPongGame {
    Move play(GameState state) {
      // move up or down, based on the
      // relative position of the ball
      if (state.ballPositionY > state.myPaddleY) {
        return new Move.up(10);
      } else {
        return new Move.down(10);
      }
    }
  }

Once you are confident with your code and upload it, we will schedule games where it can play against other bots. Soon enough, the game results will be streaming, and you can take a look how it played against others.

Who can participate?

Everyone is welcome to join.
No age limits.
No gender limits.
It is free.

Signup

We are working hard to make all of this happen, but we are not ready yet. You can help our work by answering the questions below and signing up with your e-mail address. We will notify you once we open the bot olympiad.

Name:

E-mail address:
Programming experience:

Please share us what you think about the bot olympiad! What are you looking for?