Solitaire
10th May 2026 - Present
Part of the NoNotParty Arcade project.
Collection of daily perfect information solitaire games, inspired by playing manual solitaire while waiting for a flight in Fiji.
In implementation order, these are:
FreeCell
Initially underestimated the complexity of coding this since "it's only moving one card at a time". This was complicated by adding QOL features such as:
- Cards automatically moving to the victory stacks when they're not useful anymore
- Ability to move stacked cards as a group, while showing the intermediate moves so the user understands what's going on
- Undoing moves, which sometimes needs to revert multiple moves at once if automatic or group moves occurred
Eight Off
Effectively FreeCell with more free cells and different stacking rules. Since card stacks had a common interface, it was easy to abstract out a common engine for FreeCell-like games.
Shenzhen Solitaire
Created a separate engine for this, as it has a completely different deck and two new types of move:
- Stack moves without having to use the free cells
- Merging in exposed royal cards to a single free cell
Penguin
Major gameplay change from the official rules was modifying the setup so that the victory stacks are Ace to King rather than offset depending on the deal, as I didn't think that added anything to the experience.
Did a big refactor at this point, since I would have had to create a third game engine with mostly FreeCell logic but the stack moves from Shenzhen Solitaire. Solitaire games now use a common engine, with parameters for:
- What stack types are present (and what cards are in them initially)
- What types of move are available
- How the score is calculated from the current state
Simple (and Simpler) Simon
Very easy to code with the new common engine, only requiring:
- New type of stack (as Spider stacks allow different suits to be stacked, but have a stack depth of only the same-suit cards)
- New special "Spider Victory" move that automatically removes fully stacked suits