About
Card Toys is a small collection of solitaire games for the web. Every card in every game is a real 3D mesh, lit by an HDRI environment in Three.js, and dragged by you - picked up, slid across the felt, snapped into place. There are no auto-solvers, no scores, no streaks, no daily tasks. You just deal a hand.
The aim is the small tactile feeling of a deck on a quiet table: the satisfying thwack of a card landing on a stack, the way a foundation pile reads at a glance, the unhurried rhythm of late-evening solitaire. The games are short on rules and long on feel.
The toys so far
- Klondike - the classic. Draw 1 (easy) or Draw 3 (hard).
- FreeCell - every card visible from the start. Strategy, not luck.
- TriPeaks - three peaks of cards, ±1 rank wraps to the waste.
- Pyramid - pair cards that sum to 13. Kings discard alone.
- Spider - two decks, same-suit descending runs. 1, 2, or 4 suits.
Built with
- Three.js - WebGL rendering for the cards, felt, lighting, and shadows.
- Tween.js - small tweening lib for the card animations.
- Vector Playing Cards - public-domain English-pattern court figures by Adrian Kennard, packed into a 2048² atlas.
- Poly Haven - CC0 HDRI environment, paper normal, and felt textures.
- Hugo - static site, content routing, and the variant registry.
Classic Edition
The original 8-bit prototype - vanilla JavaScript, sprite-sheet cards, no WebGL - is still playable at card.toys/classic. It’s how the site started.
Made by
Built by Tom Holman as part of Tom’s Toybox - a small set of toys for the web.
Contact
If you want a variant added, a new game built, a bug reported, or just want to say hi - drop a note.
- Email: toymaker@toms.toys
- Toybox: toybox.toms.toys