Skip to content

Pommerman Game Rules

Raluca D. Gaina edited this page Sep 24, 2019 · 2 revisions

This page contains details of game rules.

Game Set-up

  • Randomly generated 11x11 symmetric board. Accessible paths to all other agents. Board generation in playground/pommerman/utility.py (randomly placed power-ups underneath wooden walls, only 1 item per tile; rigid and wood walls randomly placed 2 at a time for symmetry x,y <-> y,x; walls not placed next to agent starting positions; some wood blocks have hardcoded positions to provide guaranteed passage to other agents; regenerate board if some parts of the board are inaccessible).
  • Collapsing boards: starting at game tick 500, the walls close in from the outside of the board every certain number of ticks. That is, the bordering tiles (first row, last row, first column and last column) turn into rigid walls first, followed by those increasingly closer to the center. All agents caught in bordering tiles when they turn into rigid walls die, and all bombs are removed without detonating.
  • 4 agents, 1 in each corner
  • If teams, teammate is in the kitty corner (opposite quadrant diagonally)
  • 9 types of tiles:
    • passage (players can walk through these) [type 0]
    • rigid (impassable and indestructible) [type 1]
    • wood (can be destroyed by bombs; half of these walls spawn power-ups) [type 2]
    • bomb [type 3]
    • flames (from bomb explosion) [type 4]
    • fog (player does not know what's there, could be any of the other tiles) [type 5]
    • power-ups [types 6-8]
    • dummyAgent (used to signal no other opponent or teammate) [type 9]
    • agents [types 10-13]
  • 36 rigid, 36 wood, 20 items, 4 agent view size,

Agent starter stats:

  • 1 bomb slots
  • 2 bomb blast (3 in rules, 2 in code)
  • 10 ticks bomb life

Rules

  • Bombs destroy wooden walls, agents, power-ups and other bombs (chain explosions in next tick) when they explode
  • After a bomb explodes, it goes back into the agent's supply to be used again
  • Power-ups:
    • Extra bomb [type 6]: bomb slots + 1
    • Increased range [type 7]: bomb blast + 1
    • Can kick [type 8]: modifies agent-bomb interaction, so that when an agent runs into a bomb it pushes it in the agent's direction of travel until another bomb, agent or wall is hit (travel speed is 1 tile per tick). Bombs can explode while travelling.
  • Game ends:
    • Only players from 1 team remain in the game = win for remaining team [id 0], loss for the others [id 1]
    • Max. steps = tie [id 2]
    • Last 2 teams destroyed in the same tick = tie
    • In competition, ties are rerun until someone wins, up to a maximum of 3 times (if no one wins, it's considered a loss).
    • Game not yet finished [id 3]
  • Collisions:
    • No 2 agents or 2 bombs on the same tile (keeping lists of occupancy for stack checks): if they try to move to the same tile or swap positions, bounce back. Gather all desired new positions and resolve any conflicts.
    • Bombs can't swap, revert both
    • Agent & bomb can't swap, revert bomb (Agent & bomb can be in the same square only if agent just dropped bomb and hasn't yet moved)

Actions (from www.pommerman.com)

In any given turn, an agent can choose from one of six actions:

  • Stop [idx 0]: This action is a pass.
  • Up [idx 1]: Move up on the board.
  • Down [idx 2]: Move down on the board.
  • Left [idx 3]: Move left on the board.
  • Right [idx 4]: Move right on the board.
  • Bomb [idx 5]: Lay a bomb.

Observations (from www.pommerman.com)

The dictionary of observations each agent receives will include:

  • Board: 121 Ints. The flattened board. All squares outside of the agent's purview will be covered with the fog value (5).
  • Position: 2 Ints, each in [0, boardSize). The agent's (x, y) position in the grid.
  • Ammo: 1 Int. The agent's current ammo.
  • Blast Strength: 1 Int. The agent's current blast strength.
  • Can Kick: 1 Int, 0 or 1. Whether the agent can kick or not.
  • Teammate: 1 Int in [9, 13], ID of this agent's teammate. For FFA, this will be 9.
  • Enemies: 3 Ints, each in [9, 13]. IDs of players which are this agent's enemies. If this is a team competition, the last ID will be 9 to reflect that there are only two enemies.
  • Bombs: List of Ints. The bombs in the agent's purview, specified by (X int, Y int, BlastStrength int).