brmlife/README

44 lines
1.2 KiB
Text

Artificial Life Platform
========================
Client-server protocol: The time is quantized in ticks.
In each tick, the server sends sensor input to the agent.
Until the next tick, the client may supply actions to take
to the server.
Both server input and client output follow the same format:
cmd1 <par1> <par2>...
cmd2 <par1> <par2>...
...
<empty line>
I.e. a sequence of lines terminated by an empty line.
Each line starts with a single word (command name), plus
some command-specific parameters. Note that newlines are
CRLF ("\r\n"), not just LF ("\n")!
The following inputs (in no particular order) are supported:
tick <ticknum>
BUMP
if received, the agent's move failed
DEAD
if received, the agent is dead!
energy <points>
number of agent's energy points; disregard
in case of dead agents
around <desc> <desc>...
<desc> describe tiles, clockwise from top,
in the immediate vicinity of the agent
<desc> format is two-character, <type><agent>
<type>: . for ground
<agent>: - no agent
a dead agent
A alive agent
The following outputs are supported:
move_dir <x> <y>
<x> and <y> are integer offsets relative
to the current position; may be just {-1,0,1}