Monday, May 2, 2011

The Open-Sourcing of Poker and Poker Bots

Whether you're using a third-party poker bot or implementing one from scratch: be prepared to invest a lot of time. Depending on your needs, creating a mature poker bot can take anywhere from several months (in the simplest possible scenario) to a year or more. You've got to:

  • Get the Input/Output mechanisms working smoothly.
  • Produce an effective Poker A.I.
  • Choose a stealthing mechanism.
  • Set up the poker botting hardware and environment.
  • Leverage rakeback and promotions.
  • Handle various other meta-botting aspects.
That's a mountain of work, and unless you're dedicated and have a lot of time, you'll probably fail (however, you'll still have all that hard-won programming and poker knowledge, which is valuable in its own right). I've written three or four bots and only one was successful, and it was built with the advantage of a) a backer and b) ample time and c) obsession.

And I have to wonder: what if we made poker botting a lot easier and more accessible?

I'm not talking about some hackneyed, get-rich-quick pipe dream. Online poker isn't a simple gambling game like slots or roulette, where all you have to do is calculate the odds; winning poker "systems" are a myth. We just want to clear out some of that ever-so-tedious boilerplate which is the primary barrier to entry for any newcomer to the field and a continual thorn in the side of any old-timer.

One solution?

Open-source every aspect of poker botting and automation, from the input/output components for various sites, to the stealth mechanisms, to the user interface, to the A.I. framework. As per the famous line from Jaws:
The head, the tail, the whole damn thing.
Imagine a 100% free open-source poker botting codebase featuring:
  • Pluggable rulesets for each poker variant and betting type: Hold'em, Omaha, 7-Card Stud, etc.
  • Pluggable input and ouput components for various online poker sites, utilizing your choice of screen-scraping, function detouring, binary code analysis, and/or OCR.
  • Extensible poker A.I. framework flexible enough to be used at any poker site, in conjunction with any poker variant for which you have a ruleset (see pluggable rulesets, above).
  • Pluggable poker A.I. and strategy modules covering everything from multiway equity calculation to tourney ICM to rules-based starting hand analysis to neural nets and genetic algorithms.
  • Scriptable AI allowing any aspect of the poker AI (the framework or the pluggable modules) to be scripted against.
  • Pluggable stealth modules which can be snapped in at the user's discretion to provide different levels/modes of stealth.
  • Pluggable integration with third-party tools such as PokerTracker, Hold'em Manager, and Sharkscope.
The idea being that whoever you are and whatever you're trying to build, most of the tedious low-level grunt work and boilerplate has already been done for you. Now you can focus on the juicy parts. Now you can embroider, streamline, and customize.
  • Not a programmer or don't have the time? No problem. Download a full-fledged, ready-to-go bot with a starter AI.
  • Expert poker programmer? Build your own modules and plugins and leverage existing ones in whatever combination you choose.
  • Wanting to build a real-time strategy tool rather than a bot? The codebase has everything you need for that, too.
  • Want to build a commercial bot or tool? Use the codebase as your starting point; develop proprietary value-added additions around it.
  • Interested in a pure poker game, without the botting? Leverage the AI framework and components as your starting point.
  • Is data mining your thing? Pluggable input and output components, w00t!
This isn't just idle wishing/navel gazing. We can actually make this happen. Heck, I have in my possession right now a generic extensible poker framework handling multiple sites, multiple games, multiple tables, multiple AI modules. It's pluggable to the Nth degree.

And I'm just one guy. There's also the OpenHoldem project. There's Pokersource. Our friends over at have scads of code. Not to mention the 2+2 software forums. Many others not mentioned here. And perhaps most importantly: you.

All of the poker-programming hobbyists operating under the radar, whose work has yet to be publicized. (And trust me: there are more of these guys than you think, as my inbox will attest.)

But more to the point: it doesn't take a thousand programmers; it takes ten, or twenty, or thirty. Every decent open-source project features a small core group of developers supported by a larger satellite group of occasional contributors. I'm not sure how much poker-related code has been written to date (tons, approximately), and I don't know that every poker programmer out there will welcome an en masse shift to open source...

But I do know that the following ingredients...
...can be explosive in their combination. So how about it?

source-- The Open-Sourcing of Poker and Poker Bots
wanna see how deep the rabbit hole is?

No comments:

Post a Comment