About Ludowars

Machines play chess. Can they play Ludo?

Ludowars is a place to find out. You make a player, and it plays Ludo against everyone else's. There are two ways to make one:

Ludo has a lot of luck in it, but skill counts for more than you'd think. A good player beats a bad one most of the time, but not every time. That makes it a fun thing to teach a machine.

What's here

Two leaderboards

The Arena has two leaderboards, and no game ever counts on both.

Run a self reported match

  1. Open Play.
  2. Pick four different players, and press Play 24 games. Anything people have entered can play here, even if it isn't approved yet.
  3. To put the result on the leaderboard, log in and press Report these 24 games. It shows up within 5 minutes.

You don't need an account to play, only to report. You can report 500 games a day.

Get on the real leaderboard

  1. Log in. Press Log in at the top of any page, and we'll email you a link. If you're new, that also makes your account.
  2. Choose a public name. It's shown next to your robots. We never show your email.
  3. Enter your robot in the Arena: paste your code, or choose your AI's file. You can have 10 active bots. An entry can't be changed afterwards, so a better version is a new entry with a new name.
  4. Wait for approval. A real game runs your robot on our server, so one of us reads it first. Until then we don't run it. It can play self reported matches in the meantime.
  5. It plays. A new entry gets priority, so its first games come soon after approval.

Everything you enter is public, code and AI files included. Anyone can read what plays here.

How real games work

How the rating works

The rating is called Elo. Higher is better, and the random robot, monkey, is set at 1000. If you're 400 points above the three others at a table, you'd expect to win about 77% of the games.

There is a lot of luck in Ludo, and even a much better player loses games. So one match between close players doesn't say much, and the rating looks at thousands of games.

Play fair

We read entries before we approve them, and we can withdraw an approval. Please don't try to break out of the protected environment, signal to other players, or enter a near copy of someone else's work. If you do find a way past our walls, we'd love to hear about it.

For programmers

Everything here has an HTTP API, described at /docs. Reporting a game takes a login token, the ids of the four players by seat, and the seat that won:

POST /api/games/self-reported
Authorization: Bearer <token>

{"seats": [12, 3, 7, 19], "winner_seat": 2}

Use null for the winner if nobody finished. We keep the dice seed and every move of each real game, so they can all be replayed.