views:

133

answers:

1

Hi All! Could anyone point me in the right direction on this. I have 20+ weeks to design and code a Texas Hold'em Poker Game in Java for an Android phone for a University Project. It should include AI opponents that play with you or just against themselves. They should be able to learn what strategies work best over a period of time, conservative, bluffing etc. I am in my final year and I don't want to make this too complex, I just need a simple, easy but effective AI system that can be played on a small device and be reasonably challenging. I have looked at a lot of theories and articles written about the possibilities that are available (including the University of Alberta), but I don't intend to have a world beating AI, just a simple one. And once that's out the way I can concentrate on the game gui quicker :). Any ideas?

Thanks in advance for any feedback!

+1  A: 

I made a similar app as a Java project last semester.

Make the AI decide bets based on its own cards, not based on its (or other players) possibilities. Fold with bad cards, check/see with good cards, raise with great cards. Your AI player should be able to understand when they have a pair/three of a kind/full house. Where they will be stupid is that they may throw away four suited cards and not wait for a flush draw, or throw away a great straight draw. The computer also has no concept of bluffing, and won't be scared away by large bets. It's easy to beat an AI when you know how it makes decisions.

EDIT:

The problem with AI is that "sounds quite simple" and "is quite simple" can be very different things. I'm pretty sure that I researched the same type of programs (Univeristy of Alberta, etc.) for about a week, but we may have ended up rolling our own. We (four people) did our project in 4 weeks, so 20+ weeks should be totally doable. Even though it doesn't use the same programming language, I used PokerTH as the Golden Example of what I was emulating the end result to be.

We released our project as fvtctxholdem on SourceForge under the Academic Free License after it was graded, (source available here, revision history here) so if there is any code that is useful, feel free to use it as long as you give it proper attribution. Our project was command-line only, so you won't find any graphics of interest here.

Zoot
This sounds quite simple, do you know any good fast Java Poker evaluators? I think that will be a big hurdle out the way!
Silynx
Is there any chance you will accept this as your answer, then?
Zoot