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
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

}

Create your Lugo bot

Step 2

Push a Docker image

Step 3

Wait for bot to be approved

Last 10 matches

Done

2023 / May / 29

22:39

Watch

Done

2023 / May / 29

19:55

Watch

Done

2023 / May / 29

14:59

Watch

Done

2023 / May / 27

23:25

Watch

Done

2023 / May / 27

03:39

Watch

Done

2023 / May / 26

16:31

Watch

Done

2023 / May / 26

16:11

Watch

Done

2023 / May / 20

03:30

Watch

Done

2023 / May / 19

20:06

Watch

Done

2023 / May / 18

20:31

Watch

Bots that has played most

156 Games

99 W

50 L

7 D

147 Games

61 W

59 L

27 D

83 Games

47 W

30 L

6 D

63 Games

40 W

22 L

1 D

80 Games

20 W

43 L

17 D

41 Games

16 W

21 L

4 D

61 Games

15 W

22 L

24 D

63 Games

15 W

22 L

26 D

47 Games

12 W

16 L

19 D

50 Games

9 W

29 L

12 D