Terrapin v1.01 Readme
- About
- Installation
- FAQ
- Building from Source
- Contact & Bugs
1. About
Terrapin is a Texas Hold'em playing Artificial Intelligence, to be more precise it plays 3 player limit texas hold'em (limit hold'em being a type of hold'em where bet sizes are fixed). It works by using Monte-Carlo Simulation and Opponent Modelling to generate expected values for each possible betting action. As Opponent Models it uses Neural Networks generated from the 10 million hand poker database collated by the University of Alberta Research Group. http://poker.cs.ualberta.ca/irc_poker_database.html. For more details on the precise working of Terrapin, please read my project report which can be found at http://www.sourceforge.net/projects/TerrapinPokerAi/
Terrapin only interfaces with Poker Academy Pro 2, which can be downloaded and either trialed or bought from http://www.poker-academy.com/. Constructing interfaces to other poker frameworks would not in theory be difficult though. Using Terrapin with Poker Academy Pro 2 allows the user to play directly against Terrapin as well as let Terrapin play against other AIs. Poker Academy also collects statistics about hands played to allow evaluation of both AI and human play.
2. Installation and Usage
To use Terrapin you need the jar file Terrapin.jar, the settings file Terrapin.pd, the neural networks used for opponent modelling and finally Poker Academy Pro 2. As far as I know terrapin works with all versions of Poker Academy Pro 2.
- Place Terrapin.jar and Terrapin.pd into the designated location within PAP 2(Poker Academy Pro 2). For windows at the time of writing it is C:\Users\daniel\AppData\Roaming\PokerAcademyPro2\data\bots
- Copy the Neural Networks to whatever folder you desire. Then either change the settings of the bot within PAP 2 (you will first need to create a Terrapin opponent), so that the folder is pointed to, or change the original settings in the Terrapin.pd file
- If you have not created a Terrapin opponent yet, do so. Then create a table with 4 players, including yourself.
- Set your own bankroll to 0, otherwise Terrapin will crash. Only 3 players remember!
- Play! Terrapin's first decision will take longer than the rest as he has to load any Neural Networks he is using. You can speed up play by fiddling with the animation and sound settings in PAP 2.
3. FAQ
I have followed the installation instructions, but when I try and change the settings of a Terrapin Opponnet in PAP 2, I can't see the settings panel, what gives?
This is a problem with PAP 2 v 2.6.1 (and perhaps other versions). It is to do with the version of Java used by PAP 2. To correct this problem you need to replace the java folder (C:\Users\"username"\AppData\Roaming\PokerAcademyPro2\java) in PAP 2 with an older version from v 2.5.x. One of these can be found on http://www.sourceforge.net/projects/TerrapinPokerAi/.
Whenever my bot takes an action, it hangs/never completes. Why is this?
The most likely reason for this is that the branching factor and/or the number of simulations per action is too high. Try putting these down to 1 each and see if the problem persists, if it doesn't, then please contact me and I will try and help.
I want to use your bot with a poker framework, other than Poker Academy Pro 2, what other ones does it interface with?
None, sorry.
Why did you constrict Terrapin to only play 3 player poker?
This project was originally part of my masters degree and I had a limited amount of time to complete it in. Limiting it to 3 players was neccessary to ensure its completion.
What license does this project use?
The New 3 clause BSD License. A copy of which is included.
4. Building from Source
To build from source you need the SourceAndDependecies.zip from http://www.sourceforge.net/projects/TerrapinPokerAi/ and jdk v1.5 (at time of writing this was required in order for the bot to interface with PAP 2).
- The actual jar files required for compilation are:
- \Meerkat-API\meerkat-api.jar
- \Encog-ANN\encog-java-core-2.3.0\lib\encog-core.2.3.0.jar
- \Encog-ANN\encog-java-core-2.3.0\jar\slf4j-api-1.5.6.jar
- \Encog-ANN\encog-java-core-2.3.0\jar\slf4j-api-1.5.6.jar
- \JFreeChart\jfreechart-1.0.13\lib\jcomon-1.0.16.jar
- \JFreeChart\jfreechart-1.0.13\lib\jfreechart-1.0.13.jar
- \pokerserver2.3.2\dist\pokerserver2.3.33.jar
5. Contact & Bugs
If you have any bugs to report please contact me on danmbyrd@gmail.com. I can't promise I will fix them but if I find time I will try.