632 games and counting


By brent Published on Sep 11th, 2016 Last updated on Sep 17th, 2016


Welcome to exciting world of Freecell! Oft overlooked for the also-bundled-with-Windows Solitaire, Freecell is the thinking man's card game. Reorganize your eight cascades from King to Ace by making use of your free cells and return them to foundations to clear the board.

As an aside, this is the first game I've written. I wanted to take on something relatively simple to get a handle on PICO-8 and learn a little bit about organizing a game. If you encounter any bugs, let me know. I'm on twitter too - @somebrent


The goal is to fill your four foundations with each suit starting with the Ace and ending with its King.

The board consists of
- four free cells (upper left)
- four foundation pools (one for each suit, upper right)
- eight cascades of cards

* Cascades are dealt at random, but cards can be reorganized by alternating colours in descending value. (e.g., a red 2 can put moved to a black 3)
* Any single card can be moved to any free cell.
* A group of cards (a tableau) in valid order can be moved to another cascade if there is enough free cells or empty cascades to facilitate the move, and if the final card at the destination keeps the tableau in valid order.
* By reorganizing the cascades and moving cards to their foundations, nearly any board can be cleared.


* Entire tableaus can be moved in one fell swoop (does not take advantage of intermediary cascades, only free cells and empty cascades)
* Unlimited undos are provided to help you out of a jam
* Sweet, minimalistic SFX. Woah.
* A two-frame selection animation!


U/D/L/R: Navigate the board

O (No card/tableau selected): Select card/tableau (if valid)
O (Card/tableau selected): Move card/tableau (if valid)
O (On top of the currently selected single card): Move card to foundation

X (No card/tableau selected): Undo last move
X (Card/tableau selected): Cancel selection


- Fixes

- Added left/right and up/down pointer wrapping

- Fixed drawing shadow at screen bounds. Thanks Vectorguy and LRP for the bug report

- Added shadow blending for the pointer's shadow

- Initial release