Overview

The Block Game is a resource sharing game where two players try to maximize their earnings by complete valid sets of 3 blocks. Each game consists of 9 blocks, 3 squares, 3 triangles, and 3 circles. Each set of shapes comes in 3 colors, purple, red, and blue. Players play a series of n rounds and take turns picking blocks to create a valid set. A valid set consists of all the same shape, all the same color, or all different shapes and colors.

The current code for this project is in: game/control_panel, game/game_flow

But is being replaced by: game/server/server.py, game/server/games/block_game.py, game/agents, and game/ui/block_game

Block Game

Block Game

Sets

Example of Valid Set

Valid Set

Example of Invalid Set

Invalid Set

Game Modes

In our lab, the block game had 3 game modes each with different submodes. These submodes are what types of communication which will occur between the players. All game modes except AI-AI can be played either virtually or physical setting.

  • Human - Human

    Submodes:

    • Open Communication

    • No Communication

  • More information here

  • Human - AI

    Submodes:

    • Personal Touch

    • Strategy Communication

    • Strategy Communication and Personal Touch

    • No Communication

  • More information here

  • AI - AI

    Submodes:

    • Strategy Communication

    • No Communication

  • More information here

GUI and Server

To read more on the inplementation of the GUI and Server go here

Implementations So Far

  • Old GUI and Game Flow in control_panel and game_flow

In Progress

  • New GUI and Agents in game/ui/block_game, and game/agents

To run full game from sawyer_ws

  • roslaunch robot_demo game_server.launch
  • cd src/game/control_panel
  • flutter run -d Linux

To run GUI from sawyer_ws

  • cd src/game/control_panel
  • flutter run -d Linux

Further Reading