Open-Face Chinese Pineapple poker
OFCEdge Pineapple OFC Solver Classic · Progressive · Ultimate + jokers
Any street. Any seat. Heads-up or three-handed.
Any street, any seat, heads-up or three-handed. Set up any position and deal the pull. OFCEdge ranks your placements by EV in points, with royalties and fantasy land counted.
$25,000 for two licenses. Buy by email, no account. Windows 10 & 11 and macOS on Apple silicon.
K♦ on top, 2♣ 4♣ in the middle, 8♦ T♦ in the back, and you pull K♠ A♥ A♣. Kings on top, or the aces?
OOPTo act
Rank 1 of 27
+4.01
EV in points
Best
DiscardA♥
Ranked placementsfor OOPEVvs best
- 1Top K♠, middle A♣, discard A♥:+4.01Best
- 2Middle A♣ A♥, discard K♠:+3.34−0.68
- 3Top K♠, middle A♥, discard A♣:+2.43−1.59
- 4Top A♣ A♥, discard K♠:+0.87−3.14
- 5 to 8 mina heads-up opening set, solved in full on an 8 GB laptop
- 51 sa three-handed first pull, with the fantasy lands that follow counted
- 14 to 17 cardsfantasy-land hands set for you, the rest discarded
- Offlineno account; positions and results stay on your computer
Questions it answers
Ask it what you ask at the table
-
First pull · Heads-up Ultimate
K♦2♥9♦K♠ on top, 6♣ 6♦ in the back, and you pull K♦ 2♥ 9♦. Do the kings go on top?
−0.55 The solver’s answer: yes. K♦ on top beside the K♠ with the 9♦ in the back, discarding the 2♥, ranks first. Keeping the K♦ in the middle ranks 7th of 27, 2.59 behind.
-
Fantasy land · Progressive Jokers
A♠K♠Q♠X★X★In fantasy land with 14 cards and both jokers, A♠ K♠ Q♠ and the jokers make a royal flush. Is the royal flush the best arrangement?
+104.85 The solver’s answer: no. Trip queens on top, an ace-high flush in the middle and a six-high straight flush in the back ranks first, with 43 points of royalties, staying in fantasy land. The royal-flush arrangement makes 36 and is 16.22 behind.
-
Hand review · Heads-up Classic
Q♣2♥A♦Queens on top, K♠ 2♦ in the middle, and the second pull is Q♣ 2♥ A♦. I closed the top with the 2♥ and threw the queen. What did that cost?
−0.95 The solver’s answer: 0.95 points. Ranked first: Q♣ A♦ in the middle, 2♥ discarded. The two lower-ranked placements in the hand cost 1.90 in all, and the hand was still a scoop: +15 points at the table, +25 with fantasy land.
See it solve
Solved OFC spots, ranked by EV in points
Recorded from the app. Seats are named as there: OOP acts first, MID second three-handed, IP last, and a three-handed EV is the total against both opponents. The Progressive and Ultimate examples run with Simulation on, which counts the fantasy lands that follow; with fixed fantasy-land values the three games would score alike.
The recorded examples did not load. The app screenshots further down show the same results screen.
Fantasy land · Simulation
Counts the fantasy lands that follow
Staying in fantasy land makes getting there worth more than one hand’s bonus. With Simulation on, OFCEdge ranks each placement by this hand plus the fantasy-land hands and normal play that follow.
- Limit on consecutive staysAny number from zero up, or Unlimited. The first fantasy-land hand is not a stay: a limit of 5 allows it plus five stays.
- Where each player startsIn normal play, or in fantasy land with 14 to 17 cards and the stays already used. After the showdown, the next hand starts from the new states.
- With Simulation offFantasy land is worth the fixed value you set in Settings for each seat and top row, paid by each opponent like a royalty. Defaults by seat: 10 and 8 heads-up; 11, 8 and 9 three-handed.
The recorded comparison did not load.
Later fantasy-land hands are valued by a model, so their value is an estimate. In the app’s own small check (heads-up, a 17-card fantasy land, three stays used, eight test runs) the model came out about 19 to 21 points below a slower, fuller estimate, with ranges from about 67 points below to 20 to 24 above; it is not an error bound for any one spot. With Simulation on, the showdown counts only this hand’s points; with it off, its totals include the fixed value you set.
Inside the app
Set it up. Solve it. Read it.
The boards sit on the felt beside the ranked placements, with the deck beside them. Here is each part up close.
While it solves
Live rankings
Placements appear as they are scored and reorder as the search runs; Cancel keeps what it has found. On the recorded opening sets the first ranking came after 1.5 to 12 seconds of a 5- to 8-minute search; the three-handed pull shown here had updated seven times in a minute. Quick pulls rank with the result.
Search
Four ways to search
- Ranked movesDefault · any streetRanks placements by EV. On an opening set it finishes only the sets that stay in contention: on the opener in the examples it screened 232, shortlisted 30 and finished 4.
- Best moveAny streetReturns the one placement it recommends.
- Complete openingOpening setConsiders every way to set your five, still dropping sets that fall too far behind; it can take several minutes.
- All opening setsOpening setScores every way to set your five, which can take hours on a laptop; see solve times.
Also in the app
- Any seat’s turnSolve for OOP, MID or IP, not only for yourself.
- Play mode and hand reviewDeal a hand street by street, then see each street graded.
- Saved handsA saved run keeps the position, settings and results, and reopens without solving again.
Play mode · hand review
Play it, then review it
Deal a full hand street by street. Solve any seat’s turn, apply a placement and play on. When the hand is over, the review shows what you played, what ranked best, and the points you gave up on each street.
- ✓Chosen and bestyour placement beside the top-ranked one, each with its EV
- −EV lossthe points given up on that street: the best EV minus yours
- ΣThe handthe points you gave up in all, and the street that cost most
- ○Not gradeda street you played after cancelling the solve
The recorded hand did not load. The app’s own review of it is shown here.
Showdown scoring
Count the hand
When the boards are full, the showdown settles each matchup row by row: rows won, scoops, royalties, fantasy-land bonuses and fouls. Three-handed, every seat gets a total, opponent by opponent.
- Rows1 point for each row won, less each row lost
- Scoopall three rows: +3 for the rows and a +3 bonus, 6 in all
- Royaltiestop from 66 (1) to AAA (22); middle from trips up, back from a straight up
- Foulpays 6 plus the other board’s royalties and any fantasy-land bonus; if both foul, no one pays
The recorded showdown did not load. The app’s own showdown sheet for it is shown here.
Pineapple OFC games
Classic, Progressive and Ultimate OFC
Open-Face Chinese poker (OFC) is played on three rows: three cards on top, five in the middle, five in the back. The back must be at least as strong as the middle, and the middle as the top, or the board fouls. All five games are Pineapple: five cards to start, then three a street, place two, discard one.
Classic OFC 14 cards
Classic Pineapple OFC keeps the original rule. Queens or better on top, or any trips, puts you in fantasy land with 14 cards.
- QQ, KK, AA or trips on top: 14 cards.
Progressive OFC 14 – 16 cards
In Progressive Pineapple, the better your top row, the more cards you get: queens earn 14, kings 15, aces and trips 16.
- QQ 14 · KK 15 · AA 16 · trips 16.
- In OFCEdge, Progressive deals 16 cards for trips on top; the game that deals 17 is Ultimate.
Ultimate OFC 14 – 17 cards
Ultimate Pineapple goes one step further: trips on top earn 17 cards, and a stay keeps the count you earned.
- QQ 14 · KK 15 · AA 16 · trips 17.
OFC with jokers Progressive & Ultimate
Progressive Jokers and Ultimate Jokers add two wild jokers to the deck, 54 cards in all. Fantasy land follows Progressive or Ultimate.
- A joker plays as the card that makes your board best without fouling, even one already on the board.
- A joker hand ties the same natural hand; there is no five of a kind.
- Jokers count for fantasy-land entry and for staying.
| Top row | Classic | Progressive | Ultimate |
|---|---|---|---|
| 14 | 14 | 14 | |
| KK | 14 | 15 | 15 |
| AA | 14 | 16 | 16 |
| Trips | 14 | 16 | 17 |
| After a stay | 14 | 14 | same count |
Specs
Every street, on your own computer
Start from any point in the hand, heads-up or three-handed, and solve for any seat. Late pulls take seconds; an opening set takes minutes.
Every street
- Set5 cards · place all five
- Street 13 cards · place 2, discard 1
- Street 23 cards · place 2, discard 1
- Street 33 cards · place 2, discard 1
- Street 43 cards · place 2, discard 1 · board complete
- Showdownrow by row · royalties · fantasy land
- Fantasy land14 to 17 cards at once · set 13, discard the rest
Solve times for the examples on this page Apple M2 laptop, 8 GB
Opening set, heads-up
5–8 minfour complete solves, Classicfirst ranking after 1.5 to 12 secondsFirst pull
2 s–3 minheads-up 2 to 164 s; three-handed Progressive 51 s2.3 s against an opponent in fantasy landLater pulls
6 s or lessstreets 2, 3 and 4, heads-up and three-handedthe last pull: under a secondFantasy-land hand
2 s or less14 to 17 cards, set in full17 cards: 1.3 and 1.7 s; 14 with jokers: 0.03 s
One slow three-handed Ultimate Jokers opening took 15 to 38 minutes on a 32-core server, depending on the memory it was allowed.
How these were measured
Laptop row: an Apple M2 with 8 cores and 8 GB, running OFCEdge 0.1.7’s solver with Ranked moves on 15 November 2026: 56 complete solves, each timed from the start of the search to its final ranking. They are the examples on this page, the earlier decisions of their hands, and scouting searches whose positions are not shown. The opening sets are heads-up Classic. The first pulls are heads-up Classic (11 to 98 seconds), heads-up Ultimate with and without Simulation (2 to 164 seconds; 2.3 seconds against an opponent in fantasy land) and three-handed Progressive (51 seconds). Two searches did not finish and are not counted: a heads-up Ultimate first pull with Simulation on, stopped after four and a half minutes, and All opening sets on the Classic opening set in the examples, stopped after nine minutes with 3 of its 232 sets fully scored (screening all 232 took under a minute).
The slow opening: one three-handed Ultimate Jokers opening set, middle seat to act, Simulation off, before and after version 0.1.7.
| Version and memory budget | Complete solve | First ranking | Solver threads |
|---|---|---|---|
| Before 0.1.7 (0.1.6) | 7.4 hours | about 12½ minutes | 16 |
| 0.1.7, 24 GB | 15 minutes | 60 seconds | 16 |
| 0.1.7, 4 GB the default on a 16 GB computer | 21 minutes | 59 seconds | 16 |
| 0.1.7, 1 GB the default on an 8 GB, 8-core computer | 38 minutes | about 105 seconds | 8 |
These runs were on a shared 32-core Linux server with the app’s solver engine, not on a Windows PC or a Mac, measured from 12 to 14 November 2026 while another job kept the server busy, so the times are upper bounds for that machine. Read them for the size of the gain in version 0.1.7, not as times for your computer. For the same position, settings and seed, each 0.1.7 run returned the same final ranking as the version before it, bit for bit.
The memory budget is extra working memory the solver may use: by default half of your computer’s memory minus 4 GB, and never less than 1 GB. The solve needs memory of its own on top. With the 1 GB budget this opening used up to 4.4 GB, which is tight on an 8 GB computer; with the 24 GB budget it used up to 12 GB.
Covered
- Heads-up and three-handed, in all five games
- Any seat’s turn, from any position you set up
- Cards entered by clicking, dragging or typing (
AsKd9h) - Realistic mode, where only your own discards are known, or Full information, where everyone’s are
- Fantasy-land hands of 14 to 17 cards, and opponents who are in fantasy land
- Fantasy-land values per seat and per top row, or Simulation with a limit on consecutive stays
- Saved runs (
.ofchfiles) and share strings - Compare: pin a result and re-run a what-if with the same settings
Not covered
- More than three players
- Exact answers: the EVs are estimates
- Exact future values: with Simulation on, later fantasy-land hands are valued by a model
- House rules: notes can record them, but the scoring and fantasy-land rules do not change
Runs on
- Windows 10 and 11, 64-bit, Intel or AMD
- macOS on Apple silicon
- Fits a window of 1024 × 680 or larger
- Uses more cores and memory when your computer has them
Keeps to itself
- The solver runs on your computer. Positions, results and saved runs stay there.
- Works offline, with no account and no server login.
- On Windows, a one-time activation is for one Windows account on one PC. Updates keep it; a new PC, another account or a reinstalled Windows may need a new one.
- The activation request holds no username, password or hardware serial number.
Get OFCEdge
The whole solver, on your computer.
Every game, every search mode, play mode and fantasy-land Simulation, for Windows and Mac.
How buying works
- Email us at [email protected]. There is no account or registration.
- Get the app: the Windows installer (or a ZIP), or the Mac app.
- Activate on Windows: on first launch the app shows a request code. Send it to us and paste in the activation code you get back.
- Then play offline: after that it runs offline, with no account.
Each Windows license activates one Windows account on one PC and does not expire.
OFCEdge
$25,000 USD
One purchase · two licenses
- All five games, heads-up and three-handed
- Any street, any seat, with the four search modes
- Fantasy-land Simulation, and fantasy-land hands of 14–17 cards
- Play mode, hand review and the showdown breakdown
- Windows 10 & 11 and macOS on Apple silicon
Questions
OFC solver FAQ
How do I buy OFCEdge? Do I need an account?
OFCEdge costs $25,000 USD for two licenses. Each license includes all five games, heads-up and three-handed. Email [email protected] to purchase. No account or registration is required, and the solver runs on your own computer.
What do I need to run it?
A Windows 10 or 11 PC (64-bit, Intel or AMD) or a Mac with Apple silicon. The Windows installer includes Microsoft WebView2 and installs it if needed; the portable ZIP needs WebView2 already installed. On an 8 GB computer a solve keeps its extra working memory to 1 GB by default, and larger machines get more. The Windows installer is not yet signed by a publisher, so Windows may show an unknown-publisher warning. The Mac app is not notarized by Apple, so the first time you open it, macOS asks you to approve it in System Settings under Privacy & Security.
How does activation work?
On Windows, the first launch shows a request code. Send it to us and you get an activation code back; paste it in and click Activate OFCEdge. The activation is for that Windows account on that PC, and after that the app works offline with no login. Updates keep your activation. A new PC, a different Windows account or a reinstalled Windows may need a new one.
How long does a solve take?
It depends on the street, the number of players, the search mode and your computer: late pulls take seconds, opening searches from a few minutes to much longer. On an Apple M2 laptop with 8 GB, in 56 complete solves with Ranked moves, a heads-up Classic opening set took 5 to 8 minutes, with the first ranking after 1.5 to 12 seconds; a first pull took 2 seconds to under 3 minutes heads-up and 51 seconds three-handed; later pulls took 6 seconds or less; and fantasy-land hands of 14 to 17 cards took 2 seconds or less. All opening sets, which scores every way to set the five, had fully scored 3 of 232 opening sets after nine minutes, so it can take hours. One slow opening, three-handed Ultimate Jokers with the middle seat to act, took 7.4 hours with the previous version. The current version took 15 minutes with a 24 GB memory budget and 21 minutes with 4 GB, both on 16 solver threads, and 38 minutes with the 1 GB budget and 8 threads that an 8 GB, 8-core computer gets by default. Those runs were on a shared 32-core Linux server, not on Windows or a Mac, and the 1 GB run used up to 4.4 GB, which is tight on an 8 GB computer.
Is it a perfect (“GTO”) solution?
No. OFCEdge ranks each placement by its EV in points, which it finds by dealing out the rest of the hand many times from the current position and scoring how each placement does. That makes the EVs estimates, not a game-theory proof. No margin of error is shown, and the progress figure shows how far the search has got, not how sure the answer is. With Simulation on, the value of later fantasy-land hands comes from a model and is an estimate too.
What is an OFC solver?
An OFC solver works out how to play a hand of Open-Face Chinese poker (OFC), here in its Pineapple form. You give OFCEdge a position: every board, the cards you have been dealt and what is known about the discards. It ranks your possible placements by EV (expected value) in points, the average number of points each one wins from here, with royalties and fantasy land counted.
Is an OFC solver the same as an OFC calculator?
Not quite. A calculator counts a hand that is already set: rows, scoops, royalties and fouls. A solver helps you decide how to set it. OFCEdge does both. Its showdown breakdown scores finished boards row by row, opponent by opponent, and a solve ranks the ways to place the cards you hold now by EV in points.
Which games does it cover?
Pineapple OFC in five games: Classic, Progressive, Progressive Jokers, Ultimate and Ultimate Jokers, heads-up or three-handed. They differ in how many cards a fantasy-land hand gets (14 to 17), what happens when you stay, and whether two wild jokers are in the deck.
Does it work three-handed and with jokers?
Yes. Every game works heads-up or three-handed, and you can solve for any seat. Three-handed, the showdown settles each matchup on its own and totals every seat. In the joker games the deck has 54 cards; a joker plays as whatever card makes the board best without fouling, and the showdown shows the card each joker played as.
Can it solve a fantasy-land hand?
Yes. Set a seat’s fantasy-land state in Simulation and give it the 14 to 17 cards. It ranks the 128 strongest arrangements it finds for setting 13 of them by EV in points, with royalties and the value of staying counted. It also solves normal hands while an opponent is in fantasy land.
How does it value fantasy land?
Two ways. With Simulation off, fantasy land is worth the points you set in Settings for each seat and top row, paid by each opponent like a royalty, and the showdown totals include it; the defaults by seat are 10 and 8 heads-up, and 11, 8 and 9 three-handed. With Simulation on, which counts the fantasy lands that follow, you set a limit on consecutive stays, or Unlimited, and each player’s current fantasy-land state. Placements are then ranked by this hand plus the fantasy-land hands and normal play that can follow, while the showdown counts only the points won in this hand. Those future values are estimates from a model, and each result names the model it used.
Can I practise with it, like an OFC trainer?
Not as a quiz. Play mode deals a full hand street by street: solve any seat’s turn, choose a placement with the ranking on screen, the best one or another, and play on to the showdown. The hand review then grades each of your streets against that ranking, showing your placement beside the best-ranked one and the points you gave up.
Can I save and share hands?
Yes. A saved run is an .ofch file holding the position, the search settings, the finished results and the hand history, so you can reopen it without solving again. A position can also be copied as a short share string, starting OFC1., and pasted into another copy of the app.
How do you get into fantasy land, and how many cards do you get?
Finish a board that does not foul with a pair of queens or better on top, or any trips. In Classic every fantasy-land hand is 14 cards. In Progressive, QQ earns 14, KK 15, and AA or trips 16. In Ultimate, QQ earns 14, KK 15, AA 16 and trips 17. Progressive Jokers and Ultimate Jokers follow Progressive and Ultimate. A fantasy-land hand gets all its cards at once: you set 13 and discard the rest.
How do you stay in fantasy land?
In every game you stay with trips on top or quads or better in the back, on a board that does not foul. Classic and Progressive then deal 14 cards again. Ultimate deals the same number you just played, so a 17-card hand that stays gets 17 again. In the joker games a joker counts toward staying.








