[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RR] RoboRally Board Notation
I am experimenting with an *automated* roborally PBeM engine while I'm on
vacation this week (hurray!)
One of the requirements, is, of course, a way to specify to the game
engine what the board has on it...
Attached is an attempt to specify (informally) the board
http://roborally.gamerz.net/images/koth-2d.jpg
(This is the Koth board that Mark originally sent me... not the
one currently in use on http://roborally.gamerz.net/koth1/)
I want the text file dirt simple...
width=XX
height=YY
then a series of lines (ignore blank, and lines that start with a #)
each line is the description of a cell.
start with the cell type
empty, pit, conv(eyor), rand(omizer), chop(shop), etc.
then any attributes associated with that cell...
start
Conveyor belts have a direction (where it pushes you)
and may have a rotate element a 4 byte string representing
north, east, south, west. e.g. "-L-R" That string means
rotate the robot left if it was conveyored from the east, or
rotate it right if it was converyored from the west. No
rotation otherwise.
Other attributes might be...
ramp=X (there is a ramp from here, head in direction X)
wall=X (there is a wall on the X edge)
barrier=X (barrier is a wall with a hole... blocks movement, but not
laser fire)
laser=X (there is a laser on the implied X wall... firing through
this cell)
pusher=X[12345] pusher on implied wall X active during phases [12345]
crusher=[12345] crusher active during phases [12345]
etc. etc.
If two adjoining cells have a element between them, only one cell
needs to mention the wall/ramp/whatever...
Comments only... Criticism will be dealt with harsely... 8^)
--
/ \__ |
\__/ \ | Richard Rognlie / Sr. Technical Consultant / Sendmail, Inc.
/ \__/ | http://www.gamerz.net/rrognlie/ <rrognlie@gamerz.net>
\__/ |
width=16
height=16
pit
empty
conv dir=s
empty start
empty
empty
empty
empty
empty
empty
empty
empty start
empty
conv dir=s
empty
pit
empty
empty
conv dir=e rotate="L---"
conv dir=e
conv dir=e
conv dir=e
conv dir=e
conv dir=s rotate="-L-R"
conv dir=w
conv dir=w
conv dir=w
conv dir=w
conv dir=w
conv dir=w rotate="R---"
empty
empty
conv dir=e
conv dir=s rotate="---R"
dblwr level=2
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2 ramp=n
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
dblwr level=2
conv dir=s rotate="-L--"
conv dir=w
empty
conv dir=s
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
chop level=2
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
conv dir=s
empty start
empty start
conv dir=s
empty level=2
empty level=2
empty level=3 ramp=w
empty level=3
empty level=3
empty level=3
empty level=3
empty level=3
empty level=3
empty level=3 ramp=n
empty level=2
empty level=2
conv dir=s
empty
empty
conv dir=s
empty level=2
empty level=2
empty level=3
rand level=3
empty level=3
empty level=3
empty level=3
empty level=3
rand level=3
empty level=3
empty level=2
empty level=2
conv dir=s
empty
empty
conv dir=s
empty level=2
empty level=2
empty level=3
empty level=3
empty level=4
empty level=4
empty level=4
empty level=4
empty level=3
empty level=3
empty level=2
empty level=2
conv dir=s
empty
empty
conv dir=s
empty level=2
chop level=2
empty level=3
empty level=3
conv dir=n level=4
empty level=5 ramp=n
empty level=5
conv dir=n level=4 ramp=e
empty level=3
empty level=3
empty level=2
empty level=2 ramp=e
conv dir=w rotate="R-L-"
empty
empty
conv dir=e rotate="L-R-"
empty level=2 ramp=w
empty level=2
empty level=3
empty level=3
conv dir=n level=4 ramp=w
rand level=5
empty level=5 ramp=s
empty level=4
empty level=3
empty level=3
chop level=2
empty level=2
conv dir=n
empty
empty
conv dir=n
empty level=2
empty level=2
empty level=3
empty level=3
empty level=4
empty level=4
empty level=4
empty level=4
empty level=3
empty level=3
empty level=2
empty level=2
conv dir=n
empty
empty
conv dir=n
empty level=2
empty level=2
empty level=3 ramp=s
rand level=3
empty level=3
empty level=3
empty level=3
empty level=3
rand level=3
empty level=3 ramp=e
empty level=2
empty level=2
conv dir=n
empty
empty
conv dir=n
empty level=2
empty level=2
empty level=3
empty level=3
empty level=3
empty level=3
empty level=3
empty level=3
empty level=3
empty level=3
empty level=2
empty level=2
conv dir=n
empty start
empty start
conv dir=n
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
chop level=2
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
conv dir=n
empty
conv dir=e
conv dir=n rotate="---L"
dblwr level=2
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2
empty level=2 ramp=s
empty level=2
empty level=2
empty level=2
empty level=2
dblwr level=2
conv dir=n rotate="-R--"
conv dir=w
empty
empty
conv dir=e rotate="--R-"
conv dir=e
conv dir=e
conv dir=e
conv dir=e
conv dir=n rotate="-R-L"
conv dir=w
conv dir=w
conv dir=w
conv dir=w
conv dir=w
conv dir=w rotate="--L-"
empty
empty
pit
empty
conv dir=n
empty start
empty
empty
empty
empty
empty
empty
empty
empty start
empty
conv dir=n
empty
pit