rusty_marvin/docs/ROADMAP.md

2.8 KiB
Raw Blame History

Poker AI Testbed & Live Server Roadmap

Step-by-Step Implementation Plan

Phase 1: Foundation

Basic poker engine

  • Game state management
  • Game Info and Player Info traits
  • Event reporting and action scheme
  • Basic game rules (NL/FL/PL)

Configuration system

  • TOML configuration structures
  • Bot parameter configuration
  • Game type configurations (Cash/SNG/MTT, buyins, blinds, hands per level, etc.)
  • Simulation parameters (hands/tournaments count, buyin thresholds for bots, etc.)

Phase 2: Simulation Testbed

Goal: Mass simulation capability

Testbed core

  • Tournament/cash game runners
  • Parallel simulation engine
  • Result collection and analysis
  • Bot interface with early folding capability
  • Bot performance metrics & visualization
  • Simulation and game factories
  • Configuration-driven experiment runner

Phase 3: Bot Framework

Goal: All bot types with playability enhancement

Bot core implementations

  • Generic helper functions for strategies
  • Modular Strategy per stage and game situation
  • Rule-based bot with configurable thresholds – port from Java
  • Nash equilibrium calculator for SNG endgame – port from Java
  • Statistical tracking bot – port from Java
  • Logging of decision-making process

Advanced bots

  • GPU acceleration for mass rollouts
  • Hand-reading opponent modeling (possibly with GPU integration)
  • Flop playability precomputation & score integration
  • Basic reinforcement learning skeleton
  • Hybrid bot combining multiple approaches
  • Factory for bot and sub-strategy composition
  • Genetic algorithm for bot evolution (via configuration files)

Phase 4: "Unit Test" Framework

Goal: Bot behavior can be tested against predefined hands

Hand Replayer

  • Poker Tracker style hands
  • Action comparison to expected outcome
  • Selection of hands from different sources (books)
  • Action likelihoods (multiple replays)

Phase 5: Live Server Infrastructure

Goal: Real-time bot deployment

Server core

  • Network protocol design (TBD: WebSocket, JSON, MQ, etc.)
  • Actions (incl. early fold and table selection), events (incl. table switches and available tables)
  • Client registration and management
  • Game state synchronization
  • Action dispatch system
  • Event logging for analysis of problems

Client adapter system

  • Client factory for different poker environments
  • Screen / protocol scraping adapters
  • Table selection logic
  • Configuration-driven game selection

Phase 6: Integration & Polish

Goal: Production-ready system

Advanced features

  • Real-time strategy adaptation
  • Multi-table coordination
  • Bankroll management
  • Risk adjustment based on results

Optimization and deployment

  • Performance profiling and optimization
  • Error handling and recovery
  • Documentation and examples
  • Deployment scripts and configuration