AI Poker Contest
Hey Guys, I have been doing some brainstorming about writing a program to play poker, and was wondering how many people would be willing to participate in a little tournament. Participants would create code which would play poker with other bots. I could write a simple wrapper class which would act as a dealer and would keep score. I could provide a simple interface for you to use. I would most likely write everything in C++. However, we can tlak about it, I am up for ideas. Since I am just a normal person, I can not give out a prize to the winner, but we might be able to figure something out later if everything gets going. So I guess I would like to know who would participate, and if a C++ interface would be ecceptable. I havn't decided on a format yet, but if enough people sound interested I'll whip something up and we can go from there. Dwiel [Edited by - Dwiel on January 7, 2005 9:08:08 PM]
How bout this.
We each hand up sources, which compile up to an executable.
Your program executes each in turn, with arguments which correspond to the input file and the output file.
Each program takes the game state from the input file, and puts its decision into the output file. It then promptly exits.
This would allow you to use other programming languages, making it a bit farer, don't you think?
From,
Nice coder
We each hand up sources, which compile up to an executable.
Your program executes each in turn, with arguments which correspond to the input file and the output file.
Each program takes the game state from the input file, and puts its decision into the output file. It then promptly exits.
This would allow you to use other programming languages, making it a bit farer, don't you think?
From,
Nice coder
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
sounds good. I can do that.
I guess the other thing that needs to be decided is which poker game to play.
I would say probably something simple to start, such as 5 card draw, 5 card stud, texas holdem, etc.
any suggestions?
Dwiel
I guess the other thing that needs to be decided is which poker game to play.
I would say probably something simple to start, such as 5 card draw, 5 card stud, texas holdem, etc.
any suggestions?
Dwiel
How about a variety of game types? Some types are more about betting than actual prediction though, so why not make betting part of the game too? This makes types such as texas holdem worth it.
"This I Command" - Serpentor, Ruler of C.O.B.R.A
I think this is a cool idea...
Hold em' is deffinatly more about betting than prediction.
I think the best way to do it is just have a provided front end, and fill in the interface. Then on the ui you could just set a bot to use a set function. (i.e. through a function pointer)
The interface may look something like this: (note very basic, not thought out to well)
struct Action
{
BetType typeOfAction; //check, call, bet, raise
unsigned int iBetAmount; //amount of chips
};
struct Player
{
int bankroll; //total bank roll in front of them
char seatNumber; //what seat are they sitting at
void * otherPlyrsTraits; //history of hands played... used to hold
//strong/weak player etc.
}
struct Table
{
int pot; //total amount of pot
Card flop[3]; //three cards
Card turn; //fourth card
Card river; //fifth card
Player * playerList; //people involved in the hand could hold history of
//hands etc...
Action curPositionAction; //current action on table
};
Decision HoldEmBotAI(const Table & table, Player * pMyself);
Maybe something like that?
Hold em' is deffinatly more about betting than prediction.
I think the best way to do it is just have a provided front end, and fill in the interface. Then on the ui you could just set a bot to use a set function. (i.e. through a function pointer)
The interface may look something like this: (note very basic, not thought out to well)
struct Action
{
BetType typeOfAction; //check, call, bet, raise
unsigned int iBetAmount; //amount of chips
};
struct Player
{
int bankroll; //total bank roll in front of them
char seatNumber; //what seat are they sitting at
void * otherPlyrsTraits; //history of hands played... used to hold
//strong/weak player etc.
}
struct Table
{
int pot; //total amount of pot
Card flop[3]; //three cards
Card turn; //fourth card
Card river; //fifth card
Player * playerList; //people involved in the hand could hold history of
//hands etc...
Action curPositionAction; //current action on table
};
Decision HoldEmBotAI(const Table & table, Player * pMyself);
Maybe something like that?
I also think that would be a good way to do it, only that makes it so that only one language can be used. Although, I do think it would be much easier to do it this way. I assume that everyone who would be interested wouldn't mind coding in C/C++? Maybe if it my UI simply calls a function out of a dll, any language that compiles to a dll would then also be available.
I'll start work on a generic card game and probably make a few simple ones, then let people dive in.
I should have a working prototype in a couple of days. I like how holdem in that it is more about the betting than pure odds. Although this might make it harder...
well, keep letting me know what you guys think and I'll try to get something going soon.
More ideas are very welcome. (I'm gonna use something similar to CompileTime's suggestion probably in C)
Dwiel
I'll start work on a generic card game and probably make a few simple ones, then let people dive in.
I should have a working prototype in a couple of days. I like how holdem in that it is more about the betting than pure odds. Although this might make it harder...
well, keep letting me know what you guys think and I'll try to get something going soon.
More ideas are very welcome. (I'm gonna use something similar to CompileTime's suggestion probably in C)
Dwiel
why not code the players as plug-ins (shared libs) and have an app to load them, deal and exchange the data between them? This could end up being a nice game.-
[size="2"]I like the Walrus best.
meh one language who cares... I don't think it's that big of a deal...
Owl's idea is intriguing. Depends on how much work you want to put in it.
Good luck, on the font end!
Owl's idea is intriguing. Depends on how much work you want to put in it.
Good luck, on the font end!
Look, if its on C/C++, I'm out.
I don't know poker, but i should at least be able to make a half-desent bot. Given enough time.
Perhaps we could use that suggestion. Just make an easy to use spec, please!
Draw poker doesn't seem that hard..... Definitly be nice to make tho, either way...
Texus hold em, is also nice.
From,
Nice coder
[Edited by - Nice Coder on January 8, 2005 1:38:09 AM]
I don't know poker, but i should at least be able to make a half-desent bot. Given enough time.
Perhaps we could use that suggestion. Just make an easy to use spec, please!
Draw poker doesn't seem that hard..... Definitly be nice to make tho, either way...
Texus hold em, is also nice.
From,
Nice coder
[Edited by - Nice Coder on January 8, 2005 1:38:09 AM]
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
I've been thinking about this a little.
One thing everyone is going to need to consider, is the ai needs to be scalable. What I mean is, the ai for a heads up game plays a bit looser than a half table (5 people) or a full table (10 people) just a tidbit for all those who plan to make a competitive ai need to think about.
Dwiel if you have any questions/need suggestions feel free to ask, as I'm a huge poker fan and consider myself a fairly decent player. Hopefully I have time to be apart of this, although things are becomming hectic. If not I'd love to write up some quick pseudo code as to how I'd implment it for anyone that wants to go ahead and implment a more complete version.
One thing everyone is going to need to consider, is the ai needs to be scalable. What I mean is, the ai for a heads up game plays a bit looser than a half table (5 people) or a full table (10 people) just a tidbit for all those who plan to make a competitive ai need to think about.
Dwiel if you have any questions/need suggestions feel free to ask, as I'm a huge poker fan and consider myself a fairly decent player. Hopefully I have time to be apart of this, although things are becomming hectic. If not I'd love to write up some quick pseudo code as to how I'd implment it for anyone that wants to go ahead and implment a more complete version.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement