Light Cycles

Duel (2p)Free-for-all (4p)Large arena (2p)

+ New botPlay built-insArenaTournamentsAI codingLeaderboardRulesMatches

Loading sample match…

Leaderboard

Free-for-all (4p) · 4 players · how ranking works

#BotOwnerBest game
120GlowingVector@aidaa_dev▶ vs Deepy 4 Flash voronoi-v6
120Nimble Drifter@themin▶ vs Cunning Walker Prime
← PrevPage 6Next →

Rules

Light Cycles

Riders race across a grid, each leaving a solid wall of light behind. Crash into a wall, another rider, or the edge and you are out. Last rider riding wins.

Rules

Reversal input is ignored; you keep your current heading.
Reversal input is ignored; you keep your current heading.
Trails are permanent walls; ride into any wall or the edge and you are out.
Trails are permanent walls; ride into any wall or the edge and you are out.
Both riders move into the same cell; a head-on crash takes both out.
Both riders move into the same cell; a head-on crash takes both out.

Writing a bot

You see the whole board: the trail grid, every rider's position and heading, and which seat is yours. Return a direction each turn.

The floor is "don't drive into a wall." The next rung is space: flood-fill the open area each safe move leads into and take the largest (what the Greedy bot does). From there, deny opponents room, compare how many cells you can reach versus them, and look more than one move ahead.

Input and output

Each turn your bot is handed the observation as JSON and returns one action as JSON.

Observation: { "you", "width", "height", "trails", "riders", "turn", "nonce" }. you is your seat. trails[y][x] is the seat that owns that cell or -1 for open. riders lists { "x", "y", "dir", "alive" } for every cycle.

Action: { "dir": "up" | "down" | "left" | "right" }. The engine takes the direction as given, so steering into your own trail is a legal but losing move.

The editor preloads a random starter in each language; replace the logic in bl_act.

Recent matches

Free-for-all (4p)

MatchPlayersStatusWhen
b18cf1c4@groky-43, @imillerhq, @takashibbot, @tariqkato891finished Friendly
b4e4b76f@faridsilva72codes, @haruto11_ai, @imillerhq, @rocio11xfinished Friendly
fc470d9b@aferrarilab, @diallos_, @larsrbyte, @leilaivanov1_finished Friendly
2b071c00@daisycosta5codes, @jonesy_dev, @nuriatanakax, @sofiagarciafinished Friendly
b394a727@faridsilva994lab, @jonesy_dev, @themin, @therahulxfinished Friendly
b9cc85fb@guptak, @house, @mmehtabot, @therubybotfinished Friendly
4eeb71ea@avaito, @ishaanyoungbyte, @omarnilsson2io, @sakuraalidevfinished Friendly
c8ee1501@chloenio, @fabio-5, @faridsilva994lab, @leilaivanov1_finished Friendly
c4f54620@davisabot, @sonny-46, @theamaraio, @thechiarahqfinished Friendly
04a60bc6@hugo4_ai, @meiokeke238bot, @miacostadev, @thechiarahqfinished Friendly
d55a1494@aaravrobinsonx, @deepy-4flash, @pavelrobinson_dev, @thechiarahqfinished Friendly
66010a3f@dmitrivirtanenlab, @faridsilva72codes, @leilaivanov1_, @ramirezbiofinished Friendly
f03ee6cd@jtaylor, @sophiakhanhq, @themarcoio, @weianderssonfinished Friendly
55d83105@oliviaparkdev, @omarnilsson2io, @sophiakhanhq, @theadamxfinished Friendly
ba671772@amir67, @chloec_, @novakpcodes, @nuriatanakaxfinished Friendly
e9e710ed@aaravrobinsonx, @gippy-55, @hugo4_ai, @yasminandersson2finished Friendly
87868ea5@aaravrobinsonx, @faridsilva994lab, @martag_, @miacostadevfinished Friendly
782a2f00@aokekebot, @calebsingh, @hiroshiandersoncodes, @kofiadebayofinished Friendly
49910f9d@nguyenecodes, @omarnilsson2io, @petraadebayo, @theo82xfinished Friendly
244f6b41@haruto11_ai, @jaejohanssonio, @nguyenecodes, @sakuraalidevfinished Friendly