Quality Casino hero
Shipped Started 2026

Quality Casino

A Factorio casino district where you gamble item quality: slot machines, a Grand Casino, an All-In Table, a progressive jackpot, and circuit-wired stop-loss. Live on the mod portal.

  • Lua
  • Python
  • PowerShell
Started
2026
Status
shipped
Platforms
Factorio 2.0 · Factorio 2.1 · Space Age

Quality Casino brings an intentional casino district to Factorio’s quality system: stake an item, feed in casino chips, pull the lever, and maybe walk away with a higher-quality version. Slot machines for the factory floor, a Grand Casino with High Roller mode for the truly degenerate, an All-In Table for people who should know better, and enough circuit-network hooks to automate your gambling responsibly.

Shipped on the Factorio mod portal as “Quality Casino: The House Always Wins”, with two release lines built from one source tree: 0.1.x for Factorio 2.0 and 0.2.x for Factorio 2.1. Space Age is optional; where it is present the mod picks up Gleba, Fulgora, and the quality ladder’s full height.

Why it exists

Factorio’s quality mechanic is a slow, deterministic grind through recyclers. I wanted the other version of that experience: the one with flashing neon, published odds tables, and a loss streak counter. It turns quality upgrading into a gameplay loop with real texture: risk, pity timers, and the eternal truth that the house always wins.

Highlights

  • A full casino floor with published odds. Slot machines and the Grand Casino roll quality upgrades against copper, steel, or uranium chip tiers: better chips, better odds, bigger jackpots. Every probability is documented, like a real casino would never do. High Roller mode rolls up to ten items at once at the next tier’s odds.
  • The All-In Table. A hardcore cabinet that bets the whole selected stack every spin at half the normal price. A win upgrades the entire stack; a losing spin destroys a slice of it. The only place in the mod your items are ever at risk, and it says so in red.
  • The Pot. Every force has a progressive jackpot: each losing spin anywhere on the floor rakes a cut of the burned chips into the Pot, and once it arms, the next jackpot on that force also pays out ten legendary copies of items the force has actually gambled. Machine windows show the fill, the wire carries it as a signal, and the house never hands chips back anywhere else.
  • The Casino Cage. A cashier building that buys uncommon-or-better items back for chips at a fraction of what it cost to gamble them up, closing the loop on the sub-max junk a converger throws off. The house keeps its cut and can never out-compete the mint.
  • Loaded Dice pity system. Long loss streaks quietly improve your odds, so automation never dead-ends on a cold table. Trophy jackpots (the Golden Tank and, far rarer, the Golden Locomotive) ride along on top.
  • Logistics that behave like Factorio. Machines are real visible inventories: a four-slot stake queue that spins the cheapest quality first and per-tier chip lanes that back up on the belt when full. A Bot delivery toggle turns any machine into a requester for its logistic network, and the setting survives blueprints and copy-paste.
  • Space Age support. Fresh Bets lets spoilable Gleba items gamble with their freshness carried onto the result (a stake about to spoil spins twice as fast), and Scrap Chips lets the mint stamp Fulgora scrap into copper chips.
  • First-class circuit integration. Machines publish per-tier chip counts, tiers won, lifetime jackpots, loss streak, and Pot state as live circuit signals, and a stop signal halts spinning, so you can wire a genuine stop-loss into your gambling wing.
  • Verifiable odds. A /casino-simulate command runs thousands of spins and reports the observed distribution, so players can audit the tables against the documentation.

Technical approach

The mod is control-stage Lua doing real-time entity composition on Factorio’s engine: each visible machine owns hidden companion entities for stake input, chip lanes, output, power, and circuit wiring, so it behaves like a normal assembler to inserters and bots while running logic vanilla buildings can’t express. Large floors stay cheap through staggered intake scans and engine-side item flow (about 0.3 ms per tick for 100 busy machines). Release engineering runs outside the shipped zip: a Python preflight validator checks prototypes and locale, and a PowerShell verify harness boots the headless engine against fixture saves for every feature (pity, All-In, Fresh Bets, the Space Age guards) before a version is uploaded.