Overview
While still largely in beta, the author’s poker app “Exotic Poker” now supports multiplayer Fast Fold games. The rules are identical to those proposed in a previous post:
Unlike standard ring games, this format ranks players based on how many chips they can accumulate within a fixed time limit (30 minutes). It might be more accurately described as an MTL (Multi-Table League) rather than a Ring Game or MTT (Multi-Table Tournament). While the rules likely have significant room for improvement, the current game design seems to be meaningful.
Currently, the author’s app cannot support sufficient multiplayer games with human users alone, so NPCs are used to inflate the player count and host games. This article briefly introduces the NPC algorithm used for this purpose. Readers may simply be interested in the logic design of poker NPCs, or they might read it to consider how to beat the NPCs in Fast Fold games within the author’s game.
For single-game scenarios, I had considered a model using Monte Carlo simulations to maximize expected utility. However, for multi-table games, processing must occur on the server side, resulting in significant computational costs. Therefore, it is necessary to design an algorithm that determines NPC behavior using as simple rules as possible.
Preflop
The Fast Fold games being held are orthodox 6max, 100bb, no ante games, so it would be best to design a strategy that is close to standard practice. As explained in a previous post, the VPIP for each position is roughly as follows:
| UTG | MP | CO | BTN | SB | BB | |
| VPIP | 14% | 16% | 18% | 31% | 22% | 19% |
Hands outside this VPIP range can be immediately folded with Fast Fold. However, the BB is the aggressor at the start, so you should not fold, and if all players before the SB fold, you should limp in or raise with about 70% of your range, so do not Fast Fold within that range.
For UTG, MP, CO, and BTN, if their hand is not in their hand range when it is dealt, they can fast fold immediately. Since the above VPIP values are basically for when the player in front of they fold, use the following table of numbers to determine their hand range.
| UTG | MP | CO | BTN | |
| # of players | 6 | 5 | 4 | 3 |
If you want to check your specific hand range, you can set the VPIP and number of players on the following page.
If the SB is not in the 70% VPIP range, fast fold. Conversely, if they are in that range but not in the 22% VPIP range, check if there are any players raising in front of you. If there are, choose to fold. If there aren’t (if only the SB and BB are present), choose the following action.
- Within the VPIP 22% range: Raise
- Outside the above but within the VPIP 70% range: Call (Limp in)
For the BB, if there is a player who raised before you, call with a VPIP 50% range up to 2 bets. If only the SB limped in, act as follows.
- Within the VPIP 19% range: Raise
- Otherwise: Check
This should determine your action up to 2 bets.
For 3-bets and above, mechanically determine as follows.
- VPIP range in the top quarter of the VPIP table (e.g., UTG is 14%/4=3.5%): 3-bet.
- VPIP range in the top three-quarters of the VPIP table: Do not 3-bet, but call 3-bets.
- Remaining: 2-bet, but fold if 3-bet.
Actions for 3-bets will vary slightly depending on position, but it can be assumed that they will be similar to average actions. For 4-bets and above, hands in the 3-bet range should be called, and others should be folded (NPCs do not make 4-bets or above). Although these are simple rules, the actions appear surprisingly realistic.
Post-Flop
If you select appropriate starting hands preflop, you can become a reasonably strong NPC even with casual play (randomly choosing actions) post-flop. This is because even if you end up with a weak hand after the flop and bet, it can function as a bluff. However, to achieve a more human-like playstyle, some adjustments are advisable. Specifically, these include the following points:
- Adjust the frequency of continuation bets (CBs).
- Adjust the frequency of donk bets and check-raises.
- Prevent calling with hands that have no value.
Avoid mindless random actions that lead to noticeable donk bets or calling with clearly losing hands by implementing simple logic.
While we aim to refine this in the future using statistical models (hand evaluation models) for hand assessment, let’s consider the following behavioral model as a simple interim approach.
- When acting as the aggressor, make a continuation bet (CB) if your hole cards and community cards form a hand of the following strength or better:
- Flop: A-high or better
- Turn: One pair or better
- River: Top pair or better
- When not the aggressor, donk bet in the following situations:
- Flop: Bluff bet with a fixed probability (10%) (regardless of hand strength)
- Turn: Bluff bet with a fixed probability (10%) (regardless of hand strength)
- River: Two pair or better + bluff bet with a fixed probability (10%) (Otherwise, check)
- Check → If it comes back to you with a bet, raise with the following hands or better.
- Flop: Middle pair or better + Bluff raise with a certain probability (10%)
- Turn: Top pair or better + Bluff raise with a certain probability (10%)
- River: Top pair or better + Bluff raise with a certain probability (10%)
- Check → If it comes back to you with a bet, fold if you have the following hands and did not raise in step 3 (otherwise call).
- Flop: K high or lower
- Turn: High card
- River: Pair lower than the third highest community card
- After re-raising, call with the following hands or fold otherwise.
- Flop: One pair or better
- Turn: Top pair or better
- River: Top pair or better
It’s a fairly rough strategy, but it should be close to a textbook approach. We’ll implement single-player mode to allow repeated matches for behavior verification.
Game Schedule
In the poker app “Exotic Poker”:

developed by the author, Texas Hold’em (Fast Fold) games are held during the following times:
- 3:00 UTC (12:00 Tokyo)
- 9:00 UTC (18:00 Tokyo)
- 15:00 UTC (0:00 Tokyo)
- 21:00 UTC (6:00 Tokyo)
As this is largely a beta-like feature, we’d be delighted if those who can overlook bugs and server downtime would give it a try. NPCs are given ordinary nicknames to make them less obvious, but their noticeably faster reaction times will likely give them away.
Playing against the algorithm described in this article, it definitely feels quite challenging. It’s said that just having a solid pre-flop hand range makes it feel like a very strong player, and that seems like a fair assessment. Its post-flop strategy still feels somewhat inconsistent, so finding ways to attack that area might offer opportunities to win. For players who understand basic strategy—from beginners to intermediate level—this might make for a challenging opponent (though not necessarily unwinnable). The author tends to play too loosely, perhaps influenced by m Hold’em or Poker Chase, and playing in that style would likely get them thoroughly beaten. It could even serve as a corrective splint for tight-aggressive tendencies.




Comments