Robot Tag 8v8

Multi-Agent/robot_tag_8.yaml

Description

Robots start randomly as “tagged” or not, robots can “tag” other robots. Any robot that is “tagged” 3 times dies.

Levels

Code Example

The most basic way to create a Griddly Gym Environment. Defaults to level 0 and SPRITE_2D rendering.

import gym
import griddly

if __name__ == '__main__':

    env = gym.make('GDY-Robot-Tag-8v8-v0')
    env.reset()

    # Replace with your own control algorithm!
    for s in range(1000):
        obs, reward, done, info = env.step(env.action_space.sample())
        for p in range(env.player_count):
            env.render(observer=p) # Renders the environment from the perspective of a single player

        env.render(observer='global') # Renders the entire environment

        if done:
            env.reset()

Objects

Tiles

Name ->

tagger

moveable_wall

fixed_wall

Map Char ->

f

m

W

Block2D

../../_images/Robot_Tag_8v8-tile-tagger-Block2D.png ../../_images/Robot_Tag_8v8-tile-moveable_wall-Block2D.png ../../_images/Robot_Tag_8v8-tile-fixed_wall-Block2D.png

Sprite2D

../../_images/Robot_Tag_8v8-tile-tagger-Sprite2D.png ../../_images/Robot_Tag_8v8-tile-moveable_wall-Sprite2D.png ../../_images/Robot_Tag_8v8-tile-fixed_wall-Sprite2D.png

Vector

../../_images/Robot_Tag_8v8-tile-tagger-Vector.png ../../_images/Robot_Tag_8v8-tile-moveable_wall-Vector.png ../../_images/Robot_Tag_8v8-tile-fixed_wall-Vector.png

Actions

move

Action Id

Mapping

1

Left

2

Up

3

Right

4

Down

initialize_is_tagged

Internal

This action can only be called from other actions, not by the player.

Action Id

Mapping

1

Initialize Tagged

2

Initialize Not Tagged

tag

Action Id

Mapping

1

Left

2

Up

3

Right

4

Down

YAML

Version: "0.1"
Environment:
  Name: Robot Tag 8v8
  Description: Robots start randomly as "tagged" or not, robots can "tag" other robots. Any robot that is "tagged" 3 times dies.
  Observers:
    Block2D:
      TileSize: 24
    Sprite2D:
      TileSize: 24
      BackgroundTile: oryx/oryx_fantasy/floor1-1.png
    Vector:
      IncludePlayerId: true
      IncludeVariables: true
  Variables:
    - Name: player_done
      InitialValue: 0
      PerPlayer: true
    - Name: tagged_count
      InitialValue: 0
  Player:
    Count: 8
    Observer:
      RotateWithAvatar: true
      TrackAvatar: true
      Height: 9
      Width: 9
      OffsetX: 0
      OffsetY: 0
    AvatarObject: tagger
  Termination:
    End:
      - eq: [ tagged_count, 0 ]

  Levels:
    - |
      W   W   W   W   W   W   W   W   W
      W   .   .   f2  .   f3  .   .   W
      W   .   .   .   .   .   .   .   W
      W   f1  .   .   .   .   .   f4  W
      W   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   W
      W   f8  .   .   .   .   .   f5  W
      W   .   .   .   .   .   .   .   W
      W   .   .   f7  .   f6  .   .   W
      W   W   W   W   W   W   W   W   W
    - |
      W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   f2  .   .   .   .   .   .   .   .   .   .   .   .   .   .   f3  .   .   W
      W   .   f1  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   f4  .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   W   W   W   W   W   W   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   W   W   W   W   W   W   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   f8  .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   f5  .   W
      W   .   .   f7  .   .   .   .   .   .   .   .   .   .   .   .   .   .   f6  .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W
    - |
      W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W
      W   .   .   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   f2  .   m   .   .   .   .   .   .   .   .   .   .   m   .   f3  .   .   W
      W   .   f1  .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   f4  .   W
      W   .   .   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   .   .   W
      W   m   m   m   m   m   .   .   W   W   W   W   W   W   .   .   m   m   m   m   m   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   W   .   .   .   .   .   .   W   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   W
      W   m   m   m   m   m   .   .   W   W   W   W   W   W   .   .   m   m   m   m   m   W
      W   .   .   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   .   .   W
      W   .   f8  .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   f5  .   W
      W   .   .   f7  .   m   .   .   .   .   .   .   .   .   .   .   m   .   f6  .   .   W
      W   .   .   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   .   .   W
      W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W
    - |
      W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   f2  .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   f3  m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   m   m   m   m   m   .   .   .   .   .   m   .   .   m   .   .   W   W   W   W   W   W   .   .   m   .   .   m   .   .   .   .   .   m   m   m   m   m   W
      W   .   f1  .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   f4  .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   W   .   .   .   .   .   .   W   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   W   .   .   .   .   .   .   W   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   W   .   .   .   .   .   .   W   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   W   .   .   .   .   .   .   W   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   W
      W   .   f8  .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   f5  .   W
      W   m   m   m   m   m   .   .   .   .   .   m   .   .   m   .   .   W   W   W   W   W   W   .   .   m   .   .   m   .   .   .   .   .   m   m   m   m   m   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   .   .   .   .   m   f7  .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   f6  m   .   .   .   .   W
      W   .   .   .   .   m   .   .   .   .   .   m   .   .   m   .   .   .   .   .   .   .   .   .   .   m   .   .   m   .   .   .   .   .   m   .   .   .   .   W
      W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W   W


Actions:

  # Taggers have a random chance of starting in a tagged state
  - Name: initialize_is_tagged
    InputMapping:
      Internal: true
      Inputs:
        1:
          Description: Initialize Tagged
        2:
          Description: Initialize Not Tagged
          VectorToDest: [ -1, 0 ]

    Behaviours:
      - Src:
          Object: tagger
          Preconditions:
            - eq: [ src._playerId, dst._playerId ]
          Commands:
            - set_tile: 1
            - set: [ is_tagged, 1 ]
            - incr: tagged_count
        Dst:
          Object: tagger

  - Name: tag
    Behaviours:
      - Src:
          Object: tagger
          Preconditions:
            - eq: [ src.is_tagged, 1 ]
            - eq: [ dst.is_tagged, 0 ]
          Commands:
            - reward: 2
            - set_tile: 0
            - set: [ is_tagged, 0 ]
        Dst:
          Object: tagger
          Commands:
            - set_tile: 1
            - set: [ is_tagged, 1 ]
            - reward: -2
            - incr: times_tagged
            - eq:
                Arguments: [ times_tagged, 3 ]
                Commands:
                  - set: [ player_done, 1 ]
                  - decr: tagged_count
                  - reward: -5
                  - remove: true

  - Name: move
    Behaviours:
      - Src:
          Object: [tagger, moveable_wall]
          Commands:
            - mov: _dest # mov will move the object, _dest is the destination location of the action
        Dst:
          Object: _empty

      - Src:
          Object: tagger
          Commands:
            - mov: _dest
        Dst:
          Object: moveable_wall
          Commands:
            - cascade: _dest

Objects:
  - Name: tagger
    MapCharacter: f
    InitialActions:
      - Action: initialize_is_tagged
        Randomize: true
    Variables:
      - Name: is_tagged
        InitialValue: 0
      - Name: times_tagged
        InitialValue: 0
    Observers:
      Sprite2D:
        - Image: oryx/oryx_fantasy/avatars/robot1.png
        - Image: oryx/oryx_fantasy/avatars/fireguy1.png
      Block2D:
        - Shape: triangle
          Color: [ 0.2, 0.2, 0.9 ]
          Scale: 0.5
        - Shape: triangle
          Color: [ 0.9, 0.2, 0.2 ]
          Scale: 1.0

  - Name: moveable_wall
    MapCharacter: m
    Observers:
      Sprite2D:
        - Image: oryx/oryx_fantasy/wall4-0.png
      Block2D:
        - Color: [ 0.8, 0.8, 0.8 ]
          Shape: square

  - Name: fixed_wall
    MapCharacter: W
    Observers:
      Sprite2D:
        - TilingMode: WALL_16
          Image:
            - oryx/oryx_fantasy/wall2-0.png
            - oryx/oryx_fantasy/wall2-1.png
            - oryx/oryx_fantasy/wall2-2.png
            - oryx/oryx_fantasy/wall2-3.png
            - oryx/oryx_fantasy/wall2-4.png
            - oryx/oryx_fantasy/wall2-5.png
            - oryx/oryx_fantasy/wall2-6.png
            - oryx/oryx_fantasy/wall2-7.png
            - oryx/oryx_fantasy/wall2-8.png
            - oryx/oryx_fantasy/wall2-9.png
            - oryx/oryx_fantasy/wall2-10.png
            - oryx/oryx_fantasy/wall2-11.png
            - oryx/oryx_fantasy/wall2-12.png
            - oryx/oryx_fantasy/wall2-13.png
            - oryx/oryx_fantasy/wall2-14.png
            - oryx/oryx_fantasy/wall2-15.png
      Block2D:
        - Color: [ 0.5, 0.5, 0.5 ]
          Shape: square