# Utility function for imperfect information game

I am trying to model a card game (not poker, I swear) using game theory, because I want to build a solver for it, however I don't find the right way to evaluate the payoffs for each player. The original game is Truc, however I first want to solve a simplificated version using numbers.

Suppose for now that it is a two-player game in which each player starts with a score of $$0$$ points every game. A game is composed by rounds and the player that accumulates an score of $$24$$ points wins the game. The match is decided by the best of three games. At the beginning of a round, each player receives a number from $$0$$ to $$30$$ by chance, following a known probability distribution. Then there are the following betting sequences:

*-> Bet +1 -> Fold -> 1 point to player that bet
|         |-> Call -> 2 points to winner
|         |-> Raise +2 -> Call -> 4 points to winner
|         |           |-> Fold -> 2 points to raiser
|         |           |-> Raise all-in -> Call -> 24 - max_score(p1, p2)
|         |                           |-> Fold -> 4 points to raiser
|         |-> Raise all-in -> Call -> 24 - max_score(p1, p2)
|                         |-> Fold -> 2 points to raiser
|-> Bet all-in -> Call -> 24 - max_score(p1, p2)
|             |-> Fold -> 1 point to player who bet
|-> Check -> * (without the check branch)
|-> Check -> 1 point to winner


As you can see is a normal betting sequence for two players, and, on showdown, wins the player that has a greater number. The difficult part comes with two things. Firstly, when you bet and lose you don't lose points from your stack, but points are added from virtually nowhere to the winner so using the amount of points you win as payoffs does not reflect the danger you are in if you raise or bet bluffing. The other point that I'm struggling with is that there is the maximum of $$24$$ points for the game and only a max of three games per match, and in real life, if you're winning nearer the end you use to behave more conservatively in order to keep you opponent away from winning and gaining points little by little, and I do not know how to reflect that on payoffs.

So my first idea is to consider each round as a unique game, which state comes as:

$$h=((Score_1, Score_2), BettingSequence, Pot, (Number_1, Number_2), (WinnedGames_1, WinnedGames_2))$$

The point is that after this state, I really don't know how to set the payoffs in order to really encapsulate the reality of winning and losing a round and the total effect that this has to the game and the next state, because it is not the same winning $$4$$ points if your scores are $$(18, 9)$$ than winning $$4$$ points if your scores are $$(14, 15)$$, or $$(20, 17)$$.