How matusgib/fullhouse-engine works
Fullhouse Engine is a local No-Limit Texas Hold’em bot competition kit: authors provide a bot that turns a game-state request into an action, and the match runtime advances hands and reports results. The README also describes a live demo and tournament simulation; training scripts and the CFR bot’s bundled blueprint support strategy development and play. The match loop and bot protocol are supported by sampled source; some demo, tournament, and training links are based on README descriptions and the file tree.
Main entry points: match.py Match orchestrator · runner.py Bot runner · bot.py Submitted bot · demo.py Live demo UI
Components 16
Match runtime
- Match orchestrator
sandbox/match.py - Poker engine
engine/game.py - Bot runner
sandbox/runner.py - Submission validator
sandbox/validator.py
Bot strategies
- Submitted bot
bots/template/bot.py - Reference bots
bots - CFR blueprint bot
bots/fullhouse_cfr/bot.py - CFR data
bots/fullhouse_cfr/data
Demo and tournament
- Live demo UI
demo.py - Tournament rules
engine/tournament.py
Strategy training
- Kuhn CFR training
training/cfr_kuhn.py - Leduc CFR training
training/cfr_leduc.py - Hold’em training
training/holdem_train.py - Hold’em abstraction
training/holdem_abstraction.py
Other components
- Bot author
- Match participant
Connections 16
- Bot author → Submitted bot: implements
- Bot author → Submission validator: validates locally
- Match orchestrator → Bot runner: starts process
- Bot runner → Submitted bot: loads and queries
- Match orchestrator → Poker engine: creates and advances
- Poker engine → Match orchestrator: returns state
- Match orchestrator → Bot runner: sends state
- Bot runner → Match orchestrator: returns action
- Match participant → Match orchestrator: runs match
- Submission validator → Submitted bot: checks submission
- Live demo UI → Match orchestrator: runs matches
- Live demo UI → Tournament rules: runs tournament
- Tournament rules → Match orchestrator: coordinates rounds
- Kuhn CFR training → Leduc CFR training: reuses CFR approach
- Hold’em training → Hold’em abstraction: uses abstraction
- CFR blueprint bot → CFR data: loads strategy data