Skip to main content

Generally Genius (GG) Bot Framework

Generals.io (GIO) is a fast-paced real-time strategy game with imperfect information within a 2D grid world. Players expand their land and battle with enemies in attempt to capture each others' generals. Capturing an opponent's general gives a player full control of their territory.

GIO presents an excellent testbed for AI agents through its simple set of action (up, down, left, right) in a complex state space. A gameplay supports up to 12 players, which makes it particularly challenging to select an appropriate strategy.

We present an agent development and data collection framework for GIO:

  • highly modular framework using microservices architecture
  • language agnostic - use anything with a Redis client
  • supports rapid development and testing of AI agents
  • uses Redis message broker for all communication
  • enables real-time data collection and analysis of agent performance
  • includes example notebooks (here and DeepNote) for interactive data analysis

Architecture

Components

Required

  • Redis provides messaging backbone to allow all other components to communicate.
  • SergeantSocket - IO module that relays data between game server and bot framework
  • CommanderCortex - User Interface to control and monitor the bot

Bot Logic

The following components are language-agnostic reference implementations of the inner workings of the bot.

Python

  • PyBot - simple examples for working with this framework

TypeScript

Development Tools

  • ReplayRanger - replay GIO game events on Redis for bot development
  • Flobot - highly capable bot that serves as a baseline adversary for testing

Interactive Data Analysis

Framework Design

Framework Architecture

User Interface

Commander Cortex

Support