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.

Built With

Share this project:

Updates

Submission history