CLASSIC SOLITAIRE

Eight Games, One Elegant Engine
February – March 2026
Genesis

Created in collaboration with Pat Dooley (@Pat44113), who requested a web-based revival of their classic VB.Net solitaire implementations. What began as Spider Solitaire evolved into a growing collection across many sessions of iterative development — each game added, refined, and playtested until it felt right. One unified rule-based engine. Eight complete games and counting.

The Games
Spider — 4-suit descending sequences
Klondike — the timeless classic
Bulldog — Churchill's Devil's Six
Crazy Quilt — woven two-deck challenge
Montana — the gaps puzzle
Miss Milligan — two decks, one pocket
Easthaven — deal three, build down
Confluence — an original game
Technical Stack
Vanilla JavaScript Zero Dependencies Single HTML File Base64 Assets Responsive Layout Rule-Based Engine IndexedDB History 8 Complete Games
Feature Set
Intelligent click-to-move
Full drag-and-drop support
Consecutive undo system
Cycling hint system
Auto-complete detection
Deal evaluation (winnable deals)
Seeded reproducible deals
Replay any deal by ID
Game history with IndexedDB
Scalable card & gap sizes
Classic scoring systems
Traditional card imagery
Custom game logos
Dark felt-table aesthetic
No server required
Design Philosophy

"Make them work like the VB versions, but with the polish and immediacy of modern web technology. No server. No dependencies. Just open and play."

Every decision was guided by simplicity and elegance. The entire collection — eight complete games, unified engine, card images, custom logos, and styling — lives in a single HTML file. Open it in any browser from 2020 onward, and it works. No build step. No npm install. No cloud dependency.

Architecture Highlights

Rule-Based Engine: Game logic is driven by declarative JSON rule sets. Spider's same-suit sequences, Klondike's waste pile, Churchill's Devil's Six, Montana's gap mechanics, and Confluence's centre-column rules are all expressed as interpretable configurations rather than hardcoded logic. Adding a new variant is a matter of describing its rules, not rewriting the engine.

Smart Click-to-Move: Click any card and the engine finds the best destination automatically — each game with its own priority logic, all unified in one system. Double-click shortcuts, long-press on mobile, and full drag-and-drop are all supported throughout.

Deal Evaluation: For games that support it, a greedy simulator runs before you play to verify the deal is probably solvable. Seeded RNG means every deal has a reproducible ID — share a deal code and anyone can replay the exact same hand.

Confluence — An Original Game: The only game in the collection not adapted from an existing variant. Red cards on the left, black on the right, meeting at a central Confluence column. Available in one- and two-deck editions, with colour-split stock deals preserving the aesthetic on every redeal.

"To all the mainframe programmers who taught us that elegant solutions don't require thousands of lines of framework code. Sometimes the best programs are the ones you can understand completely."
— Design Ethos
Special Thanks

To the original creator who provided the vision, the VB.Net reference implementations, and countless sessions of playtesting feedback across dozens of conversations — shaping every rule, layout, and interaction. To the designers of the IBM System/360 who showed us that ceremony and structure have their place. And to everyone who still remembers when "save to core" meant physically changing the magnetic polarity of ferrite rings.