Log In  

Cart #28715 | 2016-09-18 | Code ▽ | Embed ▽ | No License


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



  • Initial release
P#28347 2016-09-11 19:13 ( Edited 2016-09-22 16:35)

Is there no way to move cards to the area where you build them up starting from aces? The cursor doesn't seem to want to move over there while playing online.

P#28398 2016-09-12 11:54 ( Edited 2016-09-12 15:54)

Delicious ! Love puzzle games like this. I'm seeing a strange card in my deck though. [T♣] ?

Also, the "A" looks like "8" when stacked. You might change the A to look like:


or the 8 to look like:


Other than that, looks REALLY NICE ! I've been wanting to see an in-depth card game for PICO for some time now.

Understood, T is 10. You are certainly welcome to develop your own images:

P#28400 2016-09-12 12:01 ( Edited 2016-09-12 16:27)

@Vectorguy Freecell rules dictate that cards cannot be removed from the foundation once there so the pointer cannot be moved to that location. To move a card to the foundation, select it with the X button, and then select it again.

@dw817 T is 10, I used X originally but I switched it since T seemed more commonly used when transcribing a deck. Unless you mean it's strange in some other way?

P#28402 2016-09-12 12:14 ( Edited 2016-09-12 16:15)

No. Looks fine. I'm seeing A has a point on its top so it won't be confused for 8. (Not sure what I was thinking). Still, the T changed to a skinny 10 might look good. Not sure if you have the space.

Might also be a zero.


Undo is frustrating. While it will UNDO a move, an option to REDO would be nice too. If I accidentally use the arrow keys on the number keypad, that registers as multiple UNDO moves.

Since you have screen space, you might stretch the cards one more pixel down so 5-pixels are seen vertically on each of them even when stacked.

When you match a card, it gives a deep low sound. From the sounds you've developed, suggest you use the first one as it sounds cheery and positive - encouraging proper moves.

Viewing your card template, you have 2-pixels free on the top-left-hand corner where you can make all your 13 cards 5x5 instead of 3x5. Or if you like, just extend the T card one pixel left and right to make a 5-pixel across 10.

P#28404 2016-09-12 12:35 ( Edited 2016-09-12 16:54)

To move a card to the foundation, select it with the X button, and then select it again.

And for everyone else, another thing too is to click on X somewhat quickly, so it's like a double-click.

I like the graphics and the glowing outline when you select one or more cards.

Beat the sucker! I take it there will be no scoring?

P#28417 2016-09-12 15:25 ( Edited 2016-09-12 19:25)

@Vectorguy I had originally planned for a way to select the random seed from the title screen as well as some kind of primitive scoring, but it didn't seem like a good use of time. Each board can vary significantly in difficulty, so a score doesn't really tell you anything between different boards. Each time you start, you just get a new game :)

@dw817 I tried widening the cards but they're at a sweet spot now. They look too stout otherwise, and I want to keep the character width and border consistent so the T stays.

What's the problem you're having with undo on a numpad? I wrote this with PocketC.H.I.P. in mind and think it plays pretty well on it (mind the washed out screen, it's the angle) :) Everyone's said the clicky keys aren't easy to use, but for grid based navigation and intermittent command input they work well enough.

P#28440 2016-09-12 22:23 ( Edited 2016-09-13 02:45)

Don't mind me, Brent. I'm OLD-SCHOOL and I still have a keyboard where I turn off the NUM-LOCK and use the arrow keys there exclusively for play. :)

Which is fine as I reconfigured the keys on my registered PICO. The online version of PICO, however, has a forced set of keys and hitting the arrow keys from NUM LOCK gives bad results like (A) and (B) presses.

And yes, your 3x5 is sweet. I experimented by changing them to 5x5 and yes, it doesn't looks so good as you have it now.

P#28443 2016-09-12 22:41 ( Edited 2016-09-13 02:41)

Just a minor update, I integrated the shadow blending method I wrote into this for the pointer's shadow.

P#28643 2016-09-16 22:28 ( Edited 2016-09-17 02:28)

I was playing a game for a while and it suddenly ended, saying "bad memory access". (Nuts, I was just making progress on it too!) Can't really say what triggered it though.

P#28666 2016-09-17 13:16 ( Edited 2016-09-17 17:16)

When the cursor is on the right side of the screen, part of the cursor shadow shows up on the left side of the screen.

Also, I really wanted the cursor movement to wrap around the sides, so I could go directly from the right-most stack to the left-most stack. (Maybe even from the bottom-most card to the top-most card?)

I enjoyed it though, and even beat the first game I played.

P#28673 2016-09-17 14:14 ( Edited 2016-09-17 18:14)

Thanks for the report, fixed cart is up. Vectorguy it was likely the shadow trying to draw past the bottom edge of the screen on a cascade. I've fixed that and LRP's report of the shadow wrapping at screen edge. Hope I've nailed down the bugs!

Also added left/right and up/down pointer wrapping

Edit: Sorry the cart keeps bumping, every time I add a fix it brings it to the top

P#28678 2016-09-17 15:11 ( Edited 2016-09-18 03:05)

Bump away, I love this!

Also: either I'm crazy, or the keys are backwards in the code. X is supposed to do everything, and instead it's the undo button.

P#28806 2016-09-19 13:54 ( Edited 2016-09-19 17:54)

Alright so I've been meaning to ask this because I saw it mentioned somewhere, but everyone seems to have conflicting opinions. I was under the impression that Z on your keyboard is actually PICO-8's "X" and X on your keyboard is PICO-8's "O", which is how I've labelled them.

Is there a definitive answer on that?

P#28818 2016-09-19 16:56 ( Edited 2016-09-19 20:56)

The last time I asked this question, I just got more confused.

This time, I ran keyconfig! Oh joyous clarity!

P#28819 2016-09-19 17:01 ( Edited 2016-09-19 21:02)

That answers that :) I've updated it in the controls section, but I'll save fixing it in the comments of the cart until something more important comes up to update for

P#28821 2016-09-19 17:10 ( Edited 2016-09-19 21:10)

I got stuck. It won't transfer these 3-cards to the 7 of Spades even though my stack is 6 of Hearts, 5 of Spades, and 4 of Diamonds.

This would be a perfect place for a SAVE STATE so I could upload the cart in the position it's in now in the message so you can run it and it goes right back to where it's stuck so you could debug and find out why.

P#28920 2016-09-20 23:07 ( Edited 2016-09-21 03:07)

It doesn't take other cascades into account for an automatic move, just free cells. With only one free cell up top, your stack of three can't move automatically. Put the 4 on the 5 to the left yourself and then 6,5 will move to the 7 :)

P#28921 2016-09-20 23:33 ( Edited 2016-09-21 03:34)

Hmm ... Well, SHOULD it take into account a stack ? Would the original Windows Free Cell game permit the move I tried ?

P#28922 2016-09-20 23:40 ( Edited 2016-09-21 03:40)

Nope, it would not allow the move

P#28976 2016-09-21 20:11 ( Edited 2016-09-22 00:11)

Okay, I think I'm understanding. If I have a stack of 3 or more and the FREE CELLS above are less than 3, then the move is not permitted, correct ?

P#28983 2016-09-21 22:01 ( Edited 2016-09-22 02:01)

it does take into account empty columns, so the formula for an allowed move in Freecell is (1 + num_vacant_freecells) * (2 ^ num_vacant_columns)

P#29025 2016-09-22 07:58 ( Edited 2016-09-22 11:58)

Could you write a mod so you can move any # of columns to any row ? That might be enough so I could win a round. :)

P#29035 2016-09-22 12:35 ( Edited 2016-09-22 16:35)

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2024-02-23 07:39:53 | 0.060s | Q:43