Inspiration
We all like to play poker and wanted to improve and learn more about the game. The first thing that came to our mind was a game/program that you could use that would help you learn poker, in a fun casual way... without actually losing money!
What it does
PokerPookie teaches you how to play poker, and keeps you in check so that you are always as serious as possible. It does this through intelligent AI, as well as computer vision, which watches you as you play to warn you if you lose your poker face. PokerPookie also has a handy webiste which you can visit within the main program that tells you about PokerPookie and what it does, as well as useful information about poker itself and info about us, the creators! (pokerpookie.tech)
How we built it
This program was built in python using PyQt, pygame, DeepFace, and other libraries that allow PookerPookie to be as powerful as it is. pygame is used to run the game loop, most of the game logic, as well as manage/display the GUI. DeepFace is an AI vision model that analyzes a face and detects the most prominent emotion in said face. We utilized this by seeing if a person was happy (smiling), surprised or angry (widened eyes/furled eyebrows), as well as to see if someone was just neutral since that is the optimal poker face. Various libraries were also used to assist in hand strength analysis. The program utilizes pythons multithreading capabilities to ensure that all parts of the program can run simultaneously without issues.
Challenges we ran into
We ran into many challenges throughout the project. First, this was out first ever project using python, so getting to learn the language took a while. One of the biggest issues was getting the game loop right, and ensuring it accounted for virtually every possibility or outcome that could happen during a poker game. This including making logic for managing turns when a player folds and tracking the current state of the game (preflop, flop, etc) to ensure the table was displayed correctly.
Accomplishments that we're proud of
We are extremely proud of this project as a whole. Although it still is rough around the edges, we feel like we delivered on what we wanted to make, and are more than excited to fix the issues still lingering in the program. We are very pleased that we made the game logic work, as that was a big mission to tackle. We are also happy that we learned how to use a new language and figured out some of its intricacies through the development of PokerPookie.
What we learned
We learned so much about the process of developing a program, as well as the planning it takes to make sure the program works as intended. We also learned how to use python and take advantage of its plethora of libraries to make PokerPookie.
What's next for Poker Pookie
Next up, PokerPookie has some bugs that need fixing, specifically the game logic needs to be further tested to ensure it accounts for all events that could occur during a game. Other things like tweaking the hand evaluation and some graphical changes are also in the works. After that we would like to expand the game to look more like a game, with a better interface and more ability for the game to give the player live feedback about their playstyle. It would definitely be interesting to attach a database to the program to save the progression of any given round, so that a player can look back at their moves, learn, and improve.
Log in or sign up for Devpost to join the conversation.