Custom Bot

Custom Bot Integration with Playroom

Overview

In Playroom's SDK, we've provided developers with the flexibility to design and implement bots according to their own game mechanics and requirements. This not only allows for personalization but also ensures that the bot integrates seamlessly with the unique dynamics of each game.

How Custom Bot Integration Works

1. Import and Extend the SDK's Bot Class

Start by importing the 'Bot' class from the 'playroomkit'

import { insertCoin, onPlayerJoin, Bot } from 'playroomkit';

Subsequently, extend this base Bot class for your custom bot. This class is devoid of any predefined methods; its primary role is to ascertain that your custom bot is identified as a Bot type within the SDK.

class YourCustomBot extends Bot {
    // Implement your custom bot logic and methods here
}

2. Implement Your Custom Bot Logic

You have complete autonomy over the bot's logic and behavior. Implement methods, decision-making processes, and any other necessary components in your derived class to make your bot function according to your game's needs.

3. Initialize Your Bot with the SDK

Once your custom bot class is ready, use the insertCoin() method provided by the SDK to pass your bot type and its parameters. This step allows the SDK to recognize and initialize your custom bot.

insertCoin({
  ... other parameters,
  
  enableBots: true,   // Indicates to the SDK to activate bot functionality
  
  botOptions: {
    botClass: YourCustomBot,  // Specifies the custom bot class to be utilized by the SDK
 
    // OPTIONAL: If you want botParams object for the initialization of custom bot class.
    botParams: {
      ... YourCustomBot parameters,
    }                 
  },
}).then(() => {
  // Callback or subsequent logic after the bot initialization completes
  ...
});

4. Integrate Bot into the Game Loop

After initialization, the player.isBot() method allows you to check if a player is a bot or a human player. You can use this information to integrate your bot's actions within the game loop, ensuring that it interacts with the game environment as intended.

if (player.isBot()) {
    // Logic to make the bot act within the game loop
}

Conclusion

Integrating a custom bot with Playroom's SDK offers a level of personalization and control that can significantly enhance gameplay dynamics. By following the steps outlined above, you can seamlessly incorporate your custom bots and redefine the player experience.