Inspiration
Last year, one of our team members, Nick Pellegrino, released the card game As Good as it Gets (AGAIG) on Kickstarter. Thousands of games later, this game brought fun to all who played. Unfortunately, due to Covid-19, meeting with friends in person is much harder than when this project was initially envisioned. Our team strives to allow people avoiding contact with others due to the current pandemic to still have fun by playing this game virtually.
What it does
Our project allows the user to play AGAIG virtually with three to seven QLearning AI Bots. This version of AGAIG plays exactly the same as the physical version. Each player starts with four cards, with one player being the judge each round. Each non-judge player selects a "get" card from their hand with a positive experience and then selects a "but" card from their hand with a negative experience to sabotage someone else's selected "get" card. The judge then selects their preferred set of cards, giving the player who chose that set's "get" card one point. The first player to reach five points wins the game. The user can select their number of bots and review the instructions of the game before starting any gameplay.
How we built it
Our team made a QLearning reinforcement bot in C# that aims to mimic player behavior. As the rounds progress, the bots tune their decision-making and improve their gameplay. All cards are categorized based on topic and intensity. The bot learns to choose the most successful combination of "get" and "but" cards using these features. Our team also created the gameplay using the Unity engine in C#, with the previously mentioned bots implemented through the C# scripts. Nearly all art assets are included via previously created assets for the physical version of the game.
Challenges we ran into
Initially, our team planned to implement a multiplayer option for this game. This would allow four to eight people to play this game online while not in the same physical area. Unfortunately, our research into Steamworks and other multiplayer features for the Unity engine proved unsuccessful, and we decided to focus on improving the single-player version of our project rather than creating two lower-quality versions of our project (single- and multi-player).
Accomplishments that we're proud of
As seen from our testing throughout development, the created QLearning Bots are able to successfully learn how to pick optimal and funny card combinations throughout a game, which was an important goal for several members of our team to learn throughout this Hackathon. The Bots are also able to select the funniest combination of cards when placed in the judging position, which was originally set as a reach goal for this project. Also, several members of our team wanted to learn how to use C# and the Unity engine, which was achieved over the course of this Hackathon.
What we learned
Before this Hackathon, our team consisted of members solely skilled in either machine learning or the Unity engine. Throughout and after this Hackathon, all of our team members have gained technical experience in both of these areas, which we believe will help all of us in our future computer science careers.
What's next for As Good As It Gets (Video Game)
Before this Hackathon, a virtual version of AGAIG was planned, but never acted upon to the level as our project has reached. In the future, GameQuill (the company creating AGAIG) plans to improve upon our project to possibly use as a fully virtual and multiplayer version of AGAIG to release on platforms such as Steam.
Log in or sign up for Devpost to join the conversation.