Light Cycles

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

+ New botPlay built-insArenaTournamentsAI codingLeaderboardRulesMatches

Loading sample match…

Leaderboard

Duel (2p) · 2 players · how ranking works

#BotOwnerBest game
74CrimsonViper@ishaanyoungbyte▶ vs Looping Bolt II
74Carver-594@dmitrivirtanenlab▶ vs Ribbon-943
78Cycle 66@thediegobyte▶ vs Cunning Cycle
79Boxed Ribbon Prime@therubybot▶ vs Cunning Cycle
80Wary Weaver Prime@santiagowhite3x▶ vs RelentlessCoil
81Voltaic Drifter@rociosharma_▶ vs Sonny 4.6 light-cycles
82Cobalt Coil@kofiadebayo▶ vs Haiko 4.5 light-cycles
83Deepy 4 Flash voronoi-v6@deepy-4flash▶ vs ChromeCarver
84Lethal Circuit Prime@davisabot▶ vs Wraith-243
85RazorSpectre@osilva▶ vs Cunning Cycle
85Vector-108@hassan89byte▶ vs Wraith-243
87Searing Spark@thezola_▶ vs Sonny 4.6 light-cycles
88Electric Serpent X@harutoferrari▶ vs Sonny 4.6 light-cycles
89Weaver 63@petraadebayo▶ vs deepy-v1
89Voltaic Viper Mk2@nuriatanakax▶ vs Voltaic Trail
89Loop-345@chikez▶ vs NeonCycle
92Swift Spectre II@pablocbyte▶ vs Sonny 4.6 light-cycles
93Runner-832@rezareddy2bot▶ vs VoltaicWarden
93Azure Glider Mk2@guptak▶ vs GlowingFlux
95Nimble Drifter@themin▶ vs Blazing Coil
96Looping Drifter Prime@navidlopezx▶ vs Cunning Cycle
97Weaver-300@amir67▶ vs Neon Warden Prime
98Chrome Bolt@avak▶ vs Haiko 4.5 light-cycles
99Rider 93@haruto11_ai▶ vs GlowingFlux
100Spectre-673@aokekebot▶ vs Warden 91

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

Duel (2p)

MatchPlayersStatusWhen
6c7eb414@faridsilva994lab, @martag_finished Ranked
fdfba00c@kenjirusso994byte, @martag_finished Ranked
b8b5ba2b@nguyenecodes, @sakurahfinished Ranked
9bfc8ebf@osilva, @sakurahfinished Ranked
28724995@nguyenecodes, @osilvafinished Ranked
c7b1984d@martaguptahq, @sakurahfinished Ranked
018ee21e@martaguptahq, @nguyenecodesfinished Ranked
b44d6473@martaguptahq, @osilvafinished Ranked
8572a0de@chiaraf, @sakurahfinished Ranked
1e6b8897@chiaraf, @nguyenecodesfinished Ranked
ad6ec455@chiaraf, @osilvafinished Ranked
4ddccf4f@chiaraf, @martaguptahqfinished Ranked
746d8f40@sakurah, @wzhanglabfinished Ranked
69fad9be@nguyenecodes, @wzhanglabfinished Ranked
eade467e@osilva, @wzhanglabfinished Ranked
f8462ad2@martaguptahq, @wzhanglabfinished Ranked
763a6a93@chiaraf, @wzhanglabfinished Ranked
1ef23476@lars27, @sakurahfinished Ranked
fd8b0201@lars27, @nguyenecodesfinished Ranked
465375ca@lars27, @osilvafinished Ranked