Lugo Bots

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:
    
#on_disputing is called when no one has the ball possession def on_disputing(self, order_set: lugo.OrderSet, snapshot: lugo.GameSnapshot) -> lugo.OrderSet: pass #on_defending is called when an opponent player has the ball possession def on_defending(self, order_set: lugo.OrderSet, snapshot: lugo.GameSnapshot) -> lugo.OrderSet: pass #on_holding is called when this bot has the ball possession def on_holding(self, order_set: lugo.OrderSet, snapshot: lugo.GameSnapshot) -> lugo.OrderSet: pass #on_supporting is called when a teammate player has the ball possession def on_supporting(self, order_set: lugo.OrderSet, snapshot: lugo.GameSnapshot) -> lugo.OrderSet: pass #This method is called on every turn, and the player state is passed at the last parameter. def as_goalkeeper(self, order_set: lugo.OrderSet, snapshot: lugo.GameSnapshot, state: PLAYER_STATE) -> lugo.OrderSet: pass
export interface Bot {
{

    /**
    * OnDisputing is called when no one has the ball possession
    */
    onDisputing: (orderSet: OrderSet, snapshot: GameSnapshot) => OrderSet | null

    /**
    * OnDefending is called when an opponent player has the ball possession
    */
    onDefending: (orderSet: OrderSet, snapshot: GameSnapshot) => OrderSet | null

    /**
    * OnHolding is called when this bot has the ball possession
    */
    onHolding: (orderSet: OrderSet, snapshot: GameSnapshot) => OrderSet | null


    /**
    * OnSupporting is called when a teammate player has the ball possession
    */
    onSupporting: (orderSet: OrderSet, snapshot: GameSnapshot) => OrderSet | null

    /**
    * 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: (orderSet: OrderSet, snapshot: GameSnapshot, state: PLAYER_STATE) => OrderSet | null


}
type Bot interface {
    
    // OnDisputing is called when no one has the ball possession
    OnDisputing(ctx context.Context, sender TurnOrdersSender, snapshot *proto.GameSnap

shot) error

    // OnDefending is called when an opponent player has the ball possession
    OnDefending(ctx context.Context, sender TurnOrdersSender, snapshot *proto.GameSnap

shot) error

    // OnHolding is called when this bot has the ball possession
    OnHolding(ctx context.Context, sender TurnOrdersSender, snapshot *proto.GameSnap
        
shot) error

    // OnSupporting is called when a teammate player has the ball possession
    OnSupporting(ctx context.Context, sender TurnOrdersSender, snapshot *proto.GameSnap

shot) 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, sender TurnOrdersSender, snapshot *proto.GameSnap
        
shot, state PlayerState) error

}

Step 2

Push a Docker image

Step 3

Wait for bot to be approved

Last 10 matches

Done

2024-05-19T19:07:22+00:00

Done

2024-05-19T17:06:50+00:00

Done

2024-05-19T15:06:51+00:00

Done

2024-05-19T13:07:12+00:00

Done

2024-05-19T11:07:33+00:00

Done

2024-05-19T09:06:43+00:00

Done

2024-05-19T07:06:48+00:00

Done

2024-05-19T05:06:46+00:00

Done

2024-05-19T03:12:59+00:00

Done

2024-05-19T01:08:33+00:00

Top 10 bots

1 (202.5 Points)

91 W

5 L

5 D

2 (168.0 Points)

84 W

16 L

1 D

3 (143.5 Points)

58 W

25 L

13 D

4 (140.5 Points)

151 W

63 L

9 D

5 (92.0 Points)

66 W

43 L

17 D

6 (70.0 Points)

58 W

31 L

15 D

7 (60.0 Points)

81 W

56 L

3 D

8 (58.5 Points)

46 W

43 L

14 D

9 (53.5 Points)

74 W

88 L

14 D

10 (47.0 Points)

42 W

46 L

10 D

11 (46.5 Points)

50 W

35 L

9 D

12 (42.5 Points)

50 W

36 L

14 D

13 (29.0 Points)

83 W

103 L

42 D

14 (26.0 Points)

8 W

6 L

5 D

15 (19.0 Points)

10 W

66 L

8 D