Inspiration
PokerKing explores decision-making with incomplete information. We wanted a poker agent that could learn from public betting behavior while working within strict compute limits.
What it does
PokerKing plays heads-up, 36-card, five-card Pot-Limit Omaha. It estimates equity, models opponent ranges, and compares the expected chip values of folding, calling, and raising. A conservative caller read helps it extract more value from opponents who repeatedly call bets.
How we built it
We built on the official TAMU Datathon starter bundle and preserved its game rules and HTTP protocol. Python, FastAPI, and Uvicorn provide the agent service. NumPy and Numba handle numerical calculations, while a portable C engine accelerates card scoring and simulation. Precomputed starting-hand equities load at startup, and Docker packages the CPU-only bot.
Gameplay uses local computation, public actions, and legitimately revealed showdown cards. Learned state resets every half.
Challenges
The main challenges were matching the short-deck rankings and exact two-hole/three-board rule, handling forced calls without learning false preferences, and keeping calculations within tournament time limits. We used common-deal, seat-swapped comparisons to separate strategic changes from card luck.
Accomplishments
Development validation included 317 passing tests. Earlier full-history checks covered 408,608 terminal betting histories across eight fixed deals and both button positions. The validated caller-read policy improved our tested 24-opponent local pool by 0.187 big blinds per duplicate deal across four fresh seeds.
What we learned
More aggressive play does not automatically improve results. We tested additional bluffing policies, but their fresh results did not establish a reliable gain, so they remain opt-in experiments.
What's next
We want to test more independent opponents and improve context-sensitive opponent reads and future-betting estimates.
AI assistance and attribution
OpenAI Codex/ChatGPT assisted development, debugging, and test automation. No generative AI API is called during gameplay. The official TAMU Datathon starter bundle is credited in the repository.