Poker for the GNOME Desktop?

I was browsing gnome-love bugs recently and saw something that caught my eye, a ticket asking for Texas Hold'em to be added to Aisleriot, a collection of solitaire games included with GNOME. It's been about 7 months since I cashed out my entire bankroll and left the world of on-line poker behind, but I can't say I don't still miss playing cards now and then and occasionally contemplate re-buying for another minimum amount and starting all over at those penny tables. Then I see something that reminds me of the frustration (Nova Scotia's government sponsored ads of the guy freaking out at his laptop tend to do the trick) before actually going through with it and thus far, I'm still poker free. Despite that I still do enjoy the occasional game with friends and having a no-stakes poker game available to me on the desktop sounds like fun, developing it sounds like even more fun.

I started looking into Aisleriot, but as mentioned earlier it's a collection of solitaire games, which poker is not. Aisleriot has a rules syntax allowing you to define new solitaire games, but poker is fundamentally different, you need multiple opponents making at least somewhat logical decisions. I think the Aisleriot suggestion is misguided, but a poker game available for GNOME is still a great idea. Something you could pop open and play against AI opponents, or even better, fire up a quick server and invite some friends to connect.

I've started tinkering with some code to see where it takes me. First resurrecting some old poker code I had laying around from a long since abandoned poker bot some friends and I were working on, and now reading up on Twisted as a potential solution for the networking side. I don't have much experience with network programming and designing a maintainable application in that area, so it's something that I kind of want to play with on my own despite the existence of some other poker projects. (most notably pokersurce) Still will be poking through that code base though, if I get impressed I might just scrap the project and go work on pokersource.

My basic plan now is something like the following:

  • Nail down the core poker game logic, objects and normal gameflow for a single table. Nothing but unit tests to drive it at this point.
  • Build a quick and dirty IRC bot to conduct a game over IRC.
  • Build out proper client/server networking code.
  • Develop a strong GNOME client.
  • Expand on the server, multiple concurrent tables, different poker variants, persistent stats, etc.

The real question is whether or not anyone will bother to play if there's no money involved. You don't have to look further than the play money tables at any online poker site to see what mayhem ensues when nobody cares. Against friends I think the game will still hold some popularity, in a larger server environment perhaps the drive to climb to higher limits where only a certain amount of progress buys you in may be incentive enough, but I'm not sure. For that reason, the larger server dream resembling an actual online poker site may never happen, but the simplistic open a table and invite some friends scenario still sounds like it might have merit.

So I figure I'll play around with it and see how things go, if nothing else there are some concepts and technology involved in building the application that I want to get experience with, and the project itself genuinely sounds fun to me.

Any feedback as to whether or not you think the idea might take off, or have any interest in getting involved in development, is of course welcome.

Code so far can be found via Dangerously Incompetent's gitweb at this location.

Comments

Without a doubt, the

Without a doubt, the University of Alberta Poker Group is tops in the world for poker AI. You should have a look at their stuff, including their free client (http://games.cs.ualberta.ca/webgames/poker/) and maybe some of their publications. They have commercialized their software, but since you want to make your own from scratch they might be very cooperative.

In terms of incentive to play, non-monetary incentives are powerful motivators. People can get 'addicted' to the world's simplest games just for the promise of 'leveling up', or keeping good statistics, or unlocking bonuses. You might not match the thrill that you get when you pull down a big pot, but you can certainly tickle the same pleasure centers in the brain.

-Mike

Thanks for the feedback. I

Thanks for the feedback. I remember reading about UoA's poker bot back when we were working on ours, will do some poking around to see what information and code they might have available today.

we at pokertalksplus.com

we at pokertalksplus.com think its a great idea,we currently do not have our own poker,we cannot afford it.All we need is a few simple holdem tables and sitngos.We would love to find a decent coder to work for us though,but its kinda scary just paying some1 for something you dont really know if will keep working ya know.Anyways,i think freeplay poker would greatly appeal to many people,we are currently trying to find something so we can run with our idea of Site Play Poker,where freeplay sites can play eachother in a league.If you know any1 who can help us plz contact me.Cheers

I love the idea of some kind

I love the idea of some kind of free league. Get people competitive and learning more about the game; can only improve the chances that they'll one day become cash players.

we at pokertalksplus.com

we at pokertalksplus.com think its a great idea,we currently do not have our own poker,we cannot afford it.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
4 + 2 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.