Specifications Tron

How Tron Fights Works

Game's rules (excluding technical specs)

Each bot starts from a point randomly selected by the arena.

At each turn, bots are asked to grow one square. they can choose the direction.

If a bot strikes a cell already taken by its trail or that of another, it loses.

It is not turn-based, bots are playinig simultaneously, so they can lose by choosing the same destination cell as another snake.

Example:

9
8
7
6
5
4oOoO
3
2
1
0123456789

If in the same turn the green snake and the red snake decide to go respectively to the left and to the right, they will telescope and both will lose.

9
8
7
6
5
4): :(
3
2
1
0123456789

When a snake dies, (when a bot loses) its tail is erased and cells taken by it become free for snakes still alive.

The game ends when there are less than two snakes left

Grid

Communications between the arena and the bots

The arena does send http (s) requests to the bots.

Initialization of the game

The arena (this site) sends the following exemple message to your bot:

{"game-id":"1679","action":"init","game":"tron","board":"","players":4,"player-index":2}

Your bot must respond with an array in json format, like this:

{"name":"botName"}

The arena does not currently verify this response, the init step has been inserted to ensure compatibility with Bolosseum. If your bot answers a blank page at this stage (action = init), it will work as part of botsarena.

Game's laps

Exemple of arena's message send on the first lap:

Exemple of arena's message send after some laps:

{"game-id":"1680","action":"play-turn","game":"tron","board":[[[687,110],[687,111],[686,111],[686,110],[686,109],[686,108],[686,107],[685,107],[685,108],[685,109],[684,109],[684,110],[684,111],[684,112],[684,113],[683,113],[682,113],[681,113],[681,114],[681,115],[681,116],[680,116],[680,117],[679,117],[679,116],[679,115],[679,114],[679,113],[679,112],[679,111],[679,110],[679,109],[678,109],[678,108],[677,108],[676,108],[676,107],[676,106],[676,105],[676,104],[676,103],[675,103],[674,103],[674,102],[673,102],[672,102],[672,101],[671,101],[670,101],[669,101],[669,102],[669,103],[669,104],[669,105],[669,106],[669,107],[668,107],[668,108],[668,109],[668,110],[668,111],[668,112],[667,112],[667,111],[667,110],[666,110],[666,109],[666,108],[665,108],[664,108],[664,107],[664,106],[663,106],[663,107],[663,108],[662,108],[661,108],[660,108],[660,107],[659,107],[659,106],[658,106],[657,106],[657,105],[657,104],[656,104],[656,103],[655,103],[655,102],[655,101],[654,101],[654,102],[654,103],[654,104],[653,104],[653,103],[653,102],[653,101],[653,100],[652,100],[651,100],[651,101],[651,102],[651,103],[651,104],[650,104],[650,105],[650,106],[649,106],[649,105],[648,105]],[[100,225],[100,226],[100,227],[100,228],[100,229],[100,230],[100,231],[99,231],[98,231],[98,232],[97,232],[96,232],[96,231],[96,230],[96,229],[96,228],[96,227],[96,226],[96,225],[96,224],[96,223],[95,223],[95,222],[94,222],[94,221],[94,220],[93,220],[92,220],[92,219],[92,218],[92,217],[92,216],[92,215],[91,215],[91,214],[90,214],[89,214],[89,213],[89,212],[88,212],[88,213],[88,214],[87,214],[87,213],[86,213],[86,214],[86,215],[85,215],[85,214],[84,214],[84,215],[83,215],[83,216],[83,217],[82,217],[82,216],[81,216],[81,215],[80,215],[80,216],[79,216],[79,215],[79,214],[78,214],[77,214],[77,213],[77,212],[76,212],[75,212],[75,211],[75,210],[75,209],[74,209],[74,210],[74,211],[73,211],[73,210],[72,210],[72,209],[71,209],[71,210],[70,210],[70,209],[69,209],[68,209],[68,210],[68,211],[67,211],[67,210],[67,209],[67,208],[66,208],[66,207],[66,206],[66,205],[66,204],[66,203],[65,203],[65,204],[64,204],[64,203],[63,203],[63,204],[63,205],[63,206],[62,206],[61,206],[61,207],[60,207],[60,208],[59,208]]],"player-index":0,"players":2}

Following fields are as in the previous paragraph:

Not same fields are:

The map / the board

It is contained on "board" field. All the cells taken by each player are writted in.

It is composed of several subarrays / subobjects (depending on your programming language). the sub-tables haved the following form: