The zombie brain is not famous for its complexity - this makes zombies easy to simulate.
Simulating zombies helps you learn how they are best controlled.
We've prepared a simulation for you. You need to prove your ability by controlling your zombies so that more zombies will reach your goal. The current state of the map and zombies are periodically sent out in UDP broadcast packets. Controlling your zombies is possible using a TCP connection. |
http://todamax.kicks-ass.net/2010/zombie-lemminge/ |
A simulation game is run every hour with the following schedule: the server is listening to connections and broadcasting the map from 9:40, 10:40, 11:40,.. etc and the first spawn at 9:45, 10:45, 11:45,.. etc.
The hourly maximum contest score is 3500 divided by 24, multiplied by 0.5 for the first hour, 1.5 for the last hour, and linearly scaled in between. The team with the highest amount of points gets this amount, and the other teams get their score linearly based on their points.
state | value |
---|---|
walking | 0 |
falling | 1 |
stopping | 2 |
digging | 3 |
shoveling | 4 |
spiral stairs | 5 |
bridging | 6 |
S = Current position of zombie, facing right + = Next position for zombie . = Empty space # = Wall ! = Target for buiding or destruction 0..9 = Target after N turns
Walking | Nothing | |
---|---|---|
Digging | If state time is 0, the zombie tries to dig down. In this state, state time wraps around at 8, so this means every 8th turn, including the first turn in this state. If all of the target spots are space or wall, they get destroyed, if any of them are indestructible, none of them change. The target positions are the ones below the zombie, and the next four x coordinates in each direction. |
........S........ ####!!!!!!!!!#### ################# |
Shoveling | If state time is 0, the zombie tries to dig horizontally. In this state, state time wraps around at 8, so this means every 8th turn, including the first turn in this state. If all of the target spots are space or wall, they get destroyed, if any of them are indestructible, none of them change. The target positions are the ones in front of the zombie (the next column in the direction it is facing), from his level to 10 above. |
.........######## .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### ........S!####### ################# ################# |
Stopping | Stopping zombies only have a lifetime of 8 turns. During this time, they crystallize into a wall. When their state time is 0, 2, 4, 6 and 8, they build subsequent layers of a wall out, starting with the column they are in at time 0. In the current column they build into the rows from 3 below them to 10 above them. In the figure to the right, you can see which positions get built on in which round, compared to the position of the zombie (the S in the middle). |
....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....8642S2468.... ####864202468#### ####864202468#### ####864202468#### ################# ################# |
Spiral stairs | When building spiral stairs, state time wraps around at 16, but the behaviour is different when state time < 13, and after. When state time < 13, and state time is even (so when it's 0, 2, 4, 6, 8, 10 or 12), the zombie builds into the spaces in front of it by 1 and to in its direction. (These are marked 1-7 in the figure, as it moves up as well.) Then, in round 14 it builds into the space above himself, into the space in front of that one, and builds up a wall of 15 spaces starting from the space 2 from the one above him in his direction. |
................. ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... .........888..... ..........77..... .........66...... ........55....... .......44........ ......33......... .....22.......... ...S11........... ################# ################# |
Bridging | If state time is 0, the zombie builds one more piece of his bridge. In this state, state time wraps around at 8, so this means every 8th turn, including the first round in this state. It builds into the spaces in the column in front of it, from the one below, to a depth of 4. |
........S........ #########!....... #########!....... #########!....... #########!....... #########........ |
Falling | Nothing |
Walking |
First, the zombie looks at the seven spots in
front of him, from his level up to 6 above, and steps into the first
empty one. If none of them is empty, it changes direction without moving. If it successfully
stepped into the first spot (the one directly in front of him), it may
descend at most 3 coordinates below, as long as the space under him is
empty, without changing to falling.
If it successfully stepped, the state time is set to zero. If it didn't (it changed direction), it keeps counting. If the state time is 4, they die (so they can't survive long when being stuck in a wall). |
................. .........7....... .........6....... .........5....... .........4....... .........3....... .........2....... ........S1....... ################# ################# |
---|---|---|
Digging |
|
........S........ ####!!!!+!!!!#### ################# |
Shoveling |
|
.........######## .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### .........!####### ........S+####### ################# ################# |
Stopping | Stopping zombies never move, don't fall, and can't be changed to walking by a command either. If their state time is 8, they die. |
....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....864202468.... ....8642S2468.... ####864202468#### ####864202468#### ####864202468#### ################# ################# |
Spiral stairs | If state time is 1, 3, 5, 7, 9, 11 or 15 (note: not on 13!), the zombie tries to move. If state time < 13, it's target is one up and one forward from him, if state time is 15, it is 2 up and one forward from him. If that space is not empty, it changes to walking, changes direction, and will start walking in the next turn. If it is empty, it moves there. If state time is 15 and the movement was successful, it changes direction as well. |
................. ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ...........8..... ..........+8..... .........888..... .........+77..... ........+66...... .......+55....... ......+44........ .....+33......... ....+22.......... ...S11........... ################# ################# |
Bridging | If state time is 4, it tries to move one ahead. If that space is not empty, it changes to walking, changes direction, and will start walking in the next turn. |
........S+....... #########!....... #########!....... #########!....... #########!....... #########........ |
Falling happens like this:
Whenever a command is successfully given, state time resets to 0.
FROM\TO | walking | falling | stopping | digging | shoveling | spiral stairs | bridging |
walking | - | auto | cmd | cmd | cmd | cmd | cmd |
falling | auto | - | cmd | - | - | - | - |
stopping | - | - | - | - | - | - | - |
digging | auto (indestructible) / cmd | auto | cmd | cmd | cmd | cmd | cmd |
shoveling | auto (indestructible or empty) / cmd | auto | cmd | cmd | cmd | cmd | cmd |
spiral stairs | auto / cmd | auto | cmd | cmd | cmd | cmd | cmd |
bridging | auto / cmd | auto | cmd | cmd | cmd | cmd | cmd |