An exciting multi-agent AI game
From basic code to multi-agent RL models, your strategy is the key to victory!
- Easy to code, easy to debug, easy to submit.
- No installs, Docker is the only requirement to run the game.
- Exciting to watch, cheering like a sport.
class Bot: def on_disputing(self, inspector: GameSnapshotInspector) -> List[Order]: """ This is called when no one has the ball possession """ pass def on_defending(self, inspector: GameSnapshotInspector) -> List[Order]: """ This is called when an opponent player has the ball possession """ pass def on_holding(self, inspector: GameSnapshotInspector) -> List[Order]: """ This is called when this bot has the ball possession """ pass def on_supporting(self, inspector: GameSnapshotInspector) -> List[Order]: """ This is called when a teammate player has the ball possession """ pass def as_goalkeeper(self, inspector: GameSnapshotInspector, state: PLAYER_STATE) -> List[Order]: """ This is only called when this bot is the goalkeeper (number 1). This method is called on every turn, and the player state is passed at the last parameter. """ pass
export interface Bot { { /** * OnDisputing is called when no one has the ball possession */ onDisputing: (inspector: GameSnapshotInspector) => Order[] /** * OnDefending is called when an opponent player has the ball possession */ onDefending: (inspector: GameSnapshotInspector) => Order[] /** * OnHolding is called when this bot has the ball possession */ onHolding: (inspector: GameSnapshotInspector) => Order[] /** * OnSupporting is called when a teammate player has the ball possession */ onSupporting: (inspector: GameSnapshotInspector) => Order[] /** * AsGoalkeeper is only called when this bot is the goalkeeper (number 1). This method is called on every turn, and the player state is passed at the last parameter. */ asGoalkeeper: (inspector: GameSnapshotInspector, state: PLAYER_STATE) => Order[] }
type Bot interface { // OnDisputing is called when no one has the ball possession OnDisputing(ctx context.Context, inspector SnapshotInspector) ([]proto.PlayerOrder, string, error) // OnDefending is called when an opponent player has the ball possession OnDefending(ctx context.Context, inspector SnapshotInspector) ([]proto.PlayerOrder, string, error) // OnHolding is called when this bot has the ball possession OnHolding(ctx context.Context, inspector SnapshotInspector) ([]proto.PlayerOrder, string, error) // OnSupporting is called when a teammate player has the ball possession OnSupporting(ctx context.Context, inspector SnapshotInspector) ([]proto.PlayerOrder, string, error) // AsGoalkeeper is only called when this bot is the goalkeeper (number 1). This method is called on every turn, and the player state is passed at the last parameter. AsGoalkeeper(ctx context.Context, inspector SnapshotInspector, state PlayerState) ([]proto.PlayerOrder, string, error) }
Top 5 bots
4 (189.5 Points)
159 W
76 L
12 D