BeamNG.Earth
A 1:1 scale streamed Earth for BeamNG.drive: real elevation and satellite imagery, floating origin, LOD streaming from a companion server
Poker where the board is five qubits and your cards are quantum gates. No install, no account, real physics.
GamesJavaScript · CSSGitHub @abenehra21OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Texas Hold'em where the community cards are five qubits and your hand is a set of quantum gates. A real state-vector simulator, verified against Qiskit, behind a neon casino. Zero dependencies, no build step.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Texas Hold'em where the community cards are five qubits and your hand is a set of quantum gates. Runs in a browser. No install, no account, no build step, no dependencies. The board is a genuine state-vector simulation — 2ⁿ complex amplitudes with the real gate matrices applied to them. Every probability on the table is the honest quantum answer, and tools/verify_with_qiskit.py proves it by replaying the same circuits through Qiskit.Read the full README ↗
Texas Hold'em where the community cards are five qubits and your hand is a set of quantum gates. Runs in a browser. No install, no account, no build step, no dependencies.
The board is a genuine state-vector simulation — 2ⁿ complex amplitudes with the real gate
matrices applied to them. Every probability on the table is the honest quantum answer, and
tools/verify_with_qiskit.py proves it by replaying the same circuits through Qiskit.
🎃 New: Quantum Trick or Treat
A second mode built for a game night. Real Texas Hold'em, played for candy, with a light quantum twist — one of your two cards is face up, and now and then a card becomes a
?that is genuinely two cards at once until somebody looks. Understandable in ninety seconds, five to fifteen minutes a match, nobody eliminated.Press H from the menu, or read HALLOWEEN_MODE.md.
git clone https://github.com/abenehra21/QuantumPoker-Reimagined.git
cd QuantumPoker-Reimagined
python3 tools/serve.py 8000 # then open http://localhost:8000
Any static server works — npx serve, php -S, GitHub Pages. There is nothing to build
and nothing to install. (tools/serve.py is just http.server with caching turned off,
which matters while you are editing.)
npm test # 318 self-checks, in Node
npm run check # module, layering, unused-import, CSS and asset checks
Or open index.html?test and read the console.
Five coins sit in the middle of the table. At showdown each one lands on a 1 or a 0. Every 1 is a point, most points wins the pot, and in between you bet chips exactly as in Hold'em.
| Coin | Means | Chance of a 1 |
|---|---|---|
| 1 | Settled. A sure point. | 100% |
| 0 | Settled. Worthless unless you change it. | 0% |
| spinning + | Undecided — a qubit in superposition, tilted +. | 50% |
| spinning − | Undecided, tilted −. The tilt decides what your cards do to it. | 50% |
| tilted | At some other angle entirely. Rotation cards make these. | anything |
| linked | Entangled. It has no value of its own; only the pair does. | 50% |
Three or four per hand, dealt before the first bet, private to you. Each one is a quantum gate.
| Card | Does | Gate |
|---|---|---|
| Flip | Turns 0 into 1 and 1 into 0. A spinning coin ignores it. | X |
| Spin | Spins a settled coin. Stops a spinning one: + lands on 0, − lands on 1. | H |
| Twist | Turns a + spin into − and back. Invisible until something reads it. | Z |
| Link | If the first coin is 1, flips the second. If it is spinning, entangles them. | CNOT |
| Collapse | Lands a spinning coin now, on your board. You can still play on it. | measurement |
…and thirty-five more, up to Grover, Teleport and the Quantum Fourier Transform.
| 1s | Rank |
|---|---|
| 0 | Blank |
| 1 | One |
| 2 | Pair |
| 3 | Trips |
| 4 | Quads |
| 5 | Coherence |
Tied on count? A 1 further left wins — coin 1 is the ace. Identical boards split the pot.
Nothing here is decorative. The card art is the circuit notation, and the circuit the player builds is a real one.
src/quantum/state.js is an exact state-vector simulator: X, Y, Z, H, S, T,
Rx, Ry, Rz, phase, CX, CZ, controlled-phase, SWAP, Toffoli and multi-controlled Z,
plus projective measurement. Bloch vectors come from the reduced density matrix, so an
entangled coin's arrow genuinely shortens — its length is the purity.Press C at the table and watch the diagram assemble itself as you play. Copy the OpenQASM 3 and it runs unmodified on IBM hardware.
pip install -r requirements.txt
node tools/dump_states.js 500 > /tmp/states.json
python3 tools/verify_with_qiskit.py /tmp/states.json
500/500 random circuits match Qiskit to a fidelity of 1 - 1e-09
29/29 deck cards do in Qiskit exactly what their circuit notation says
That second line found five real bugs while it was being written: cards that changed the board in ways their own recorded circuit did not reproduce. A self-check now asserts the property directly, so it cannot come back.
| Mode | What it is |
|---|---|
| Casual | Gentle opponents, no noise, generous stacks. |
| Quantum Student | Balanced opponents, a faint hum of decoherence. The intended game. |
| Quantum Master | Opponents run the same search you do, at full width. Real NISQ-level noise. |
| Chaos | A random quantum event every street: storms, cascades, cosmic rays, cooling cycles. |
| Experimental | Boards dealt at arbitrary rotations. No coin is a clean plus or minus any more. |
| Endless | Difficulty, noise and opponent skill all climb. A boss every fifth round. |
| Daily Deal | Ten hands, one seed, one attempt. The same deals for everyone on Earth today. |
| Sandbox | Every card, unlimited, with undo and live probabilities. |
A run is a sequence of rounds. Survive a round's chip target and you go shopping; fall short and the run ends. The targets are calibrated against forty simulated runs rather than guessed: poker is zero-sum, so asking for a profit every round would make a run unwinnable. The median run reaches round 4; the top tenth reach 10 or more.
Cards run from the Clifford basics through rotation gates to named algorithms. Relics are permanent run upgrades resolved through hooks rather than engine special cases — Surface Code grants total noise immunity, Schrödinger's Chip gives you a coin flip when you would bust, No-Cloning Theorem stops opponents holding a card you hold.
Bosses are one opponent plus one announced rule. Schrödinger deals every coin spinning. Deutsch sees your board exactly, all hand. Heisenberg hides your own probabilities from you. The Bell Twins take two seats and share one board.
The tutorial is ten lessons, each handing you a rigged board and exactly the cards that make one idea obvious. Nothing is explained before you have watched it happen. The self-checks solve every lesson by exhaustive search, so a lesson can never ship unsolvable.
A dealer narrates every phase under the table in the plainest words available — what this street is for, not what just happened — and names the concept the moment you first cause it. Play Twist then Spin and it tells you that was interference, because you have just watched interference rather than read about it.
The encyclopedia is fourteen illustrated entries with a runnable demo on each — press Run and watch the state move on a Bloch sphere.
The sandbox is the whole deck with undo, a live circuit, a Bloch sphere and the full outcome distribution. It is the screen to project in a lecture.
Forty-four achievements, a statistics dashboard, unlockable cosmetics, a Daily Deal streak. Everything is stored in your own browser and nowhere else; there is no account and no server.
The main game asks you to learn what a qubit is before you can play. This one does not. It is Texas Hold'em, the poker your friends already know, with candy instead of chips and a few things that should not be possible.
The one new rule: each player has one hole card face up and one face down. It takes a sentence to explain, Stud has worked that way for a century, and it turns a table of strangers into a table of people reading each other.
Candy is the currency — four denominations that stack visibly, fly into the pot when you bet and explode when you win. It is entirely fictional; there is no money in this game and no way to put any in.
Three charges a hand, arriving one at a time over the first five hands. Ignore all of them and you are playing ordinary poker — and you can still win, which is the balance line the mode is built on.
| Power | What it says | |
|---|---|---|
| 👁 | Measure | Reveal a mystery card right now. |
| 🔀 | Swap | Trade one of your cards for a new one. |
| 👻 | Haunt | Your card becomes two possibilities at once. |
| 🎭 | Spectral Bluff | Your face-up card turns into a ? for everyone else. |
No gate names. No matrices. No vocabulary. Each one carries a what is this really? link that is the only place the physics is named, and nobody has to click it.
A mystery card is an actual qubit on the same state-vector simulator as the
main game, and an entangled pair is an actual Bell pair — measure one and the
other decides in the same instant, verified over 1,600 deals in both the
"they match" and "they are opposite" flavours. The opponents' equity sampler
rolls those superpositions per trial rather than ignoring them, so a monster
facing a ? is reasoning about it honestly instead of peeking.
Jack the Pumpkin tells you when he has it. The Werewolf bets big and then bigger. Schrödinger's Cat has no tell at all, on purpose. They estimate equity by dealing the board out a few hundred times, then apply their own personality: facing a big bet, Jack folds about three quarters of the time and the Werewolf a fifth — a difference you can notice within a few hands.
Full rules: HALLOWEEN_MODE.md.
| Key | Does |
|---|---|
1–9 | Pick a card, then pick coins |
F | Fold |
Space / Enter | Call, check, or continue |
H | Hint — the best line, from the same planner the bots use |
C | Circuit view |
B | Bloch sphere |
P | Show every coin's ket and probability |
M | Mute |
Esc | Cancel, close, or go back |
From the menu: P play, D daily, T tutorial, B sandbox, E encyclopedia, S stats,
C credits, , settings.
Everything is reachable by keyboard and every control is labelled for a screen reader.
QuantumPoker-Reimagined/
├── index.html the only page
├── src/
│ ├── quantum/ state.js read.js noise.js circuit.js
│ ├── halloween/ the Trick or Treat mode, self-contained
│ │ deck.js evaluate.js spooky.js candy.js
│ │ powers.js monsters.js brain.js game.js
│ │ match.js awards.js sounds.js ui/
│ ├── gameplay/ cards.js planner.js game.js run.js relics.js
│ │ status.js modes.js bosses.js shop.js
│ ├── ai/ personalities.js brain.js dialogue.js
│ ├── engine/ loop.js tween.js events.js
│ ├── render/ bloch.js circuit.js background.js art.js
│ ├── effects/ particles.js vfx.js
│ ├── audio/ synth.js sfx.js music.js
│ ├── save/ store.js achievements.js
│ ├── tutorial/ lessons.js codex.js
│ ├── ui/ app.js router.js dom.js tooltip.js toast.js
│ │ ├── components/ card.js orb.js seat.js
│ │ └── screens/ menu modes table shop tutorial sandbox
│ │ codex stats settings results inspector
│ └── utils/ rng.js
├── styles/ tokens.css base.css components.css screens.css
├── tests/
│ ├── run.js the self-checks
│ └── halloween.js …and the Trick or Treat half of them
├── tools/ serve.py check.js shots.js
│ dump_states.js verify_with_qiskit.py
└── assets/ empty on purpose — see assets/README.md
One rule holds the whole thing together, and npm run check enforces it:
quantum/,gameplay/,ai/,save/,tutorial/,utils/andhalloween/may not import fromui/,render/,effects/oraudio/, and may not touch the DOM.(
halloween/ui/andhalloween/sounds.jsare the two documented exceptions: the mode keeps its own presentation inside its own module rather than scattering Halloween code throughsrc/ui.)
That is why the entire game runs headless in Node. The test suite plays twenty-five complete games against the bots and checks that not one chip goes missing, evaluates twenty thousand seven-card poker hands, and finishes forty simulated runs in under two seconds — none of which would be possible if the rules knew about the screen.
A few decisions worth naming:
import, done. Edit a file and reload.Architecturally ready, not yet built:
(seed, handNo) and takes actions through
a small interface, so a networked game is a transport and a lobby, not a rewrite.Quantum Poker was designed by Franz G. Fuchs, Vemund Falch and Christian Johnsen at SINTEF. The core idea — community cards as qubits, hole cards as gates, each player transforming their own copy of the board — is theirs:
Fuchs, Falch and Johnsen, "Quantum Poker – a game for quantum computers suitable for benchmarking error mitigation techniques on NISQ devices", The European Physical Journal Plus 135, 353 (2020). doi:10.1140/epjp/s13360-020-00360-5
This is a ground-up reimplementation on top of their rules: the simulator, the forty-card deck, the run structure, the opponents, the tutorial, the encyclopedia and every pixel of the interface are new work. It is a spiritual successor, not a fork, and shares no history with any earlier repository.
Licensed under the GNU GPL v3, like the original.