pmariglia/foul-play

A Pokemon Showdown Battle AI

What it solves

Foul Play is a bot designed to automate Pokémon battles on the Pokemon Showdown platform. It allows users to run a bot that can compete in single battles across all generations of the game, though it currently does not support Dynamax or Z-moves.

How it works

The bot integrates with the Pokemon Showdown websocket URI to communicate with the game server. It utilizes a specialized search engine called poke-engine (built in Rust) to analyze battle states and search through possible moves to determine the optimal play.

Who it’s for

Players of Pokemon Showdown who want to automate their battles or developers interested in game AI and search-based decision making in turn-based strategy games.

Highlights

  • Multi-generational support: Capable of playing single battles across all Pokémon generations.
  • Search-based AI: Uses a dedicated engine to calculate moves rather than simple scripts.
  • Docker support: Provides a Docker image for easier deployment and environment setup.
  • Flexible configuration: Configurable via command-line arguments for usernames, passwords, and battle formats (e.g., gen9randombattle).

Related

  • Project
  • Project
  • Project
  • Project
  • Project