Hmm this is good to go through, thank you for taking the time. Thanks for sharing the Meier game, I'll look to see what I can learn and emulate from that idea. There are actually 2 different implementations of dice bluffing games here in the jam that I've found that both have slightly different rules - but they follow your pattern in that they are more based on the total numbers of dice rolled vs the combination of hands.
I didn't invent my rules - actually I modeled the game off a variation of Liar's Dice: https://en.wikipedia.org/wiki/Liar%27s_dice#:~:text=%5B3%5D-,Common%20hand,-edit
In my current implementation there are only 36 possible outcomes of the two private dice, and a limited number of hands possible. This was small enough to be easy for a game jam, but probably has a lot of balance issues and lack of combinations. Staying within the confines of these rules, some things I could add would be the ability of a player to reroll 1 die instead of both, or the ability to reroll part/all of the pool dice in certain circumstances, or allow same-rank claims that could be decided by strength of the dice or a kicker. If I leaned a little farther outside, I could implement a larger system of betting that makes more sense outside of reroll, or introduce outside systems like different abilities or types of dice, minigames or cheats to try to distract either player.
You've given me a lot to think about too, in that maybe the premise of this game is flawed - could be good experience in the game jam to take into the next project without trying to turn it into anything by itself.
Regarding the AI - this one was a completely deterministic algorithm, but with the constraint of time I tried to make it as not-stupid as I could, so it looks at a couple different factors based on the probability of the hand, the believability, and the chips at stake. But it is completely lacking any randomness.
The major flaw is also a lack of strategic awareness - every round is its own calculation.
If I were to redo everything from scratch:
- Hand definitions would have built in ranking (don't ask, the code is gross)
- Probabilities would be retained in numeric value that can be operated against at a granular level (I precomputed and bucketed possible hands into decision points)
- Personality would have an impact on calculations
- Player behavior would weight certain decisions
- There would be strategic decision making to allow the AI to fold on a bad hand early to get better initial luck, downplay claims to drive up the pot for a good hand, read player intent to bluff.
You are right that there is a lot that can go into it. It's probably pretty clear that most of my wishlist comes back to a good architecture to calculate hands etc. and better balance on how chips are risked in the pot and won. Then interesting decisions can be made when that is solid.