Log In  

Cart #solitaire_suite-2 | 2024-04-04 | Embed ▽ | License: CC4-BY-NC-SA

load #solitaire_suite

no sound currently added

Release 0.1.0

After constently working on it since picotron 0.1.0, I'm finally releasing Picotron Solitaire Suite (0.1), which is designed to allow adding new variations of solitaire. Thanks to anyone whose been following the updates and joining the streams. Also thanks to Louie Chapman for his contributions (2 solitaire variants, a card back, and helping test that it actually works.), SoundDotZip for the aseprite to picotron image plugin, and Fletch for an animated card back.

The suite currently has 6 solitaire variations

  • Klondike Solitaire
  • Solitaire Too
  • Golf Solitaire
  • Spider Solitaire

2 of which were made by Louie Chapman

  • Huntsman Solitaire
  • Trapdoor Solitaire

I didn't include any sounds, as it's a bit difficult for me to manage the sfx editor currently. Also, with the current web player having glitchy audio in the current version, I didn't see it as necessary for the first release. I'm open to people contributing their own card backs, audio, or game variant if they are high enough in quality and are fitting for the game. Though I will recommend having a git repository for any contributions as it will be much easier to manage.

I think appdata is currently only accessable for the standalone version of picotron (unless I'm doing this wrong), so saves and custom games on the BBS will not work right now.

Custom Stuff

To create a solitaire variant or custom card back, I would recommend looking at the README in the Solitaire Suite git repository for better details. While the suite is being released under CC BY-NC-SA 4.0, the api for handling the cards is released in a separate repository with the MIT license to allow for more freedom of its use. Feel free to send any pull requests for either for improvements you see. And while I won't include every card back or game mode made for this, I might make a list here or in the repo containing a list of them.

[ Picotron Solitaire Suite git repository ]
[ Cards API git repository ]

Picotron Solitaire Suite uses submodules so you will likely need to do git submodule init then git submodule update. Though someone may know a better way of doing this. Please only submit pull requests to the dev branch.

Any custom game variants or card backs can be added inside their respective folders inside /appdata/solitaire_suite/. There is currently no super simple way to drag and drop files without going into appdata.

After 0.1.0

After 0.1, I will be mostly switching to a previous project to finish it before working on version 0.2, though I will still add small improvements or fix bugs if any are discovered. In 0.2, I will look to improve the following:

  • add functions to handle holding cards in hand
  • add transitions for switching from and to game variants
  • improved card generation for different card sizes.
  • music and sounds??? (could have a cassette player to allow cycling through songs)
  • improve function names (kinda bad when stack is both a noun and a verb)


Version 0.1.1

  • Fixed grammar and wording of some rules text.
  • Fixed new game in trapdoor solitaire sometimes not dealing the cards.
  • Fixed double clicking aces in spider solitaire getting stuck.
  • Fixed huntsman card positioning when shuffling for a new game after emptying the deck.
  • Fixed buttons being pressable while shuffling or any animations were playing.

= api changes =

  • Updated stack dropping to search a slightly wider area for which stack to place the cards on.
  • Added stack_collecting_anim and stack_shuffle_anim functions to simplify the reset process.
  • Updated shuffling a bit to better randomize the cards.


Fixed error or bug that would occur when double clicking a card in trapdoor solitaire.

P#145162 2024-03-30 20:31 ( Edited 2024-04-04 22:52)


Wow this is polished! I love the card motion, art, and tons of options. Nice work!

P#145167 2024-03-30 21:17

Congrats for the release! I really like the polish of the game, it really displays a great level of care!

P#145168 2024-03-30 21:20

I think this is both a great game and a neat showcase of how much more powerful, yet similar picotron is to 8. Sound would be nice, but I honestly didn't notice the lack of it before I saw it in the description hah

P#145176 2024-03-30 21:25

The dealing and celebration sequences are both asmr city. It feels really fresh and different, a difficult feat for a solitaire game. Nice work! (and I love the card backs :3)

edit: and right -- saves aren't working on the bbs yet

P#145178 2024-03-30 21:37 ( Edited 2024-03-30 21:39)

Amazing work !

P#145179 2024-03-30 21:43

The first completed masterpiece of picotron !

P#145219 2024-03-31 07:01

So well-polished for an early Picotron game. 👏
Was a complete joy to play (+possibly my fav Solitaire clone now!) 😊

P.S. - Love that we also get to use the classic 🏝️ card too! 😊

P#145228 2024-03-31 10:19

Thanks everyone for your encouraging comments and trying out the game :),

I released version 0.1.1 that contains some bug fixes, grammar fixes, and a slightly larger tolerance for when dropping cards onto a stack. (full changelog in main post)

P#145315 2024-04-01 01:27

maybe im doing something wrong but when i try to load the cart in picotron
i get this error - https://imgur.com/hEpSu6s

P#145387 2024-04-01 19:08

My best guess is that you're on an older version of picotron (I'm on 0.1.0e on windows 10) that might not have the function I'm using yet. I'm using the string function dirname and basename to help parse the folder paths.

You should be able to check if the function exists in the terminal with ?string.dirname and ?("asdf").dirname, which should return the same function.

P#145397 2024-04-01 20:00 ( Edited 2024-04-01 20:00)

yeah i was on an outdated version, it works now thanks!

P#145399 2024-04-01 20:15

This is slick as hell, very well done!

P#145405 2024-04-01 21:42

Any chance we could potentially get an undo button? It would add to the game!

P#145551 2024-04-03 06:23

@Gerold55 I probably won't, but someone else could try since I put the code on github. The problem is each solitaire variant would need their own implementation.

Plus I don't really like adding undo since sometimes there's hidden information. The player could then just have the game reveal as much as they want and then undo everything. At which there would be no reason to having face down cards. I would also prefer players to think about what actions to take rather than randomly testing each possible option or just the first available option.

P#145555 2024-04-03 07:51

I've never known that I liked solitaire until this cartridge

P#145582 2024-04-03 15:42


P#145610 2024-04-03 20:16

Seems buggy, I played a game and managed to win

Joking of course, this is really nice, looking forward to adding my own backs and trying to implement new ones!

P#145673 2024-04-04 12:08

I've found a bug on the trapdoor version

Here's my log:

[1695538 026] run_process_slice() for process 26 error: 2 .../louie_chapman/huntsman_solitaire/huntsman_solitaire.lua:415: attempt to index a nil value (local 'c1')
[1695538 026] --------
stack traceback:
.../louie_chapman/huntsman_solitaire/huntsman_solitaire.lua:415: in method 'can_stack'
.../louie_chapman/huntsman_solitaire/huntsman_solitaire.lua:472: in function 'stack_on_double_goal'
/games/solitaire_suite-0.p64.png/cards_api/cards_base.lua:112: in function 'cards_api_mouse_update'
/games/solitaire_suite-0.p64.png/cards_api/cards_base.lua:60: in function 'cards_api_update'
/games/solitaire_suite-0.p64.png/main.lua:15: in function '_update'
/system/lib/foot.lua:53: in local 'func'
:879: in function 'include'
solitaire_suite-0:33: in main chunk

[1695538 026] SYSTEM ERROR: *runtime error
[1695538 026] SYSTEM ERROR: .../louie_chapman/huntsman_solitaire/huntsman_solitaire.lua:415: attempt to index a nil value (local 'c1')
[1695538 026] SYSTEM ERROR: stack traceback:
.../louie_chapman/huntsman_solitaire/huntsman_solitaire.lua:415: in method 'can_stack'
.../louie_chapman/huntsman_solitaire/huntsman_solitaire.lua:472: in function 'stack_on_double_goal'
/games/solitaire_suite-0.p64.png/cards_api/cards_base.lua:112: in function 'cards_api_mouse_update'
/games/solitaire_suite-0.p64.png/cards_api/cards_base.lua:60: in function 'cards_api_update'
/games/solitaire_suite-0.p64.png/main.lua:15: in function '_update'

P#145684 2024-04-04 15:53 ( Edited 2024-04-04 15:54)

@Diablothe2nd Thanks for reporting the bug. it's actually something I already noticed a little after uploading 0.1.1. It occurs when double clicking an ace in trapdoor solitaire. I wasn't going to apply the fix until 0.1.2 or 0.2.0 with more significant changes, but I'll quickly do that now.

P#145718 2024-04-04 21:26

Released 0.1.1b that fixes the double click bug in trapdoor solitaire.

P#145732 2024-04-04 22:53

Fantastic, thank you for fixing that so quickly :)

P#145733 2024-04-04 22:53

Very good looking solitaire! Potentially another bug:
picotron version e. Upon exiting, console tab is completely screwed up. Unable to use console and when dragging mouse around it "paints" the console window. Not really aware of any workarounds except restarting picotron.

P#145880 2024-04-06 06:57

@Nunuvin Yea, I'm just using exit() which is causing that and I'm currently not sure what the best way is to close the game in picotron. I have kind of have a half fix at the moment, but will wait until I figure out something better or the next version.

However you should be able to press ESC to bring up another workspace.

P#145882 2024-04-06 09:01

@Werxzy, is there a command to spawn a new console? I think, I saw some other programs do that (I tried to find this. But cannot, maybe it was a change in picotron behavior). The first console cannot be killed as started by os, the other ones can be.

Also not using exit button all together (pressing ESC) does not ruin the console, allowing you to use it. So saying ESC to exit might be more effective.

P#145926 2024-04-06 20:50 ( Edited 2024-04-06 20:51)

The animation and graphics are a real standout in this title,
from the tilting of the cards to the confetti getting pushed around by the mouse.

P#148011 2024-05-06 16:29

really nice version with welcome variety!

I have a question about the classic solitaire: is all game solvable, or does it depend on luck? (for example, I had two kings I could move and one free slot, so picking one may or may not lock the game, correct?)

P#148705 2024-05-20 14:28

@merwok Thanks! I going to start working on version 0.2 pretty soon. Unfortunately, not all games are solvable. I'm not sure where I would start with making it in a way that picotron could handle. Also the system wouldn't necessarily work with all solitaire variants.

P#148715 2024-05-20 14:49

I had a bit of a think about generating solvable solitaire games (I was bored lol), and the best approach I could think of would be to work backwards from a completed state, randomly picking a random spot each card could have came from, until the 4 suits are empty. I gave this a quick go, and I think the trickiest bit would be dealing with the 3 card draw... You also need a custom solution for each solitaire game in Solitaire Suite, which wouldn't be ideal :/

An alternative method could be saving the seed every time the player wins a game, then using those seeds to generate the starting conditions. You might need to play a lot of games to make that work though :P

P#148736 2024-05-20 20:46

@JoshK That first idea was exactly what I was thinking, but there's another problem with moving the cards around such that they produce an interesting enough game, or that they reach a point where cards can't be moved anymore without creating an impossible game.

The second idea actually isn't too far off from what I think Zachtronics Last Call BBS did with the solitaire or maybe Dungeons and Diagrams. I think they randomized the games and then had a solver go through them and collect a list that are solvable. (though I think someone generated and found ALL valid Dungeons and Diagrams levels and sent them to Zachtronics during early access.) I MIGHT consider it since it seems less of a hassle than going backwards, but it still requires going through each game.

P#148739 2024-05-20 21:06 ( Edited 2024-05-20 21:09)

I’ve tried multiple times to put orange on red, probably because I see «different colour» instead of the intented «red or sort-of-red-orange»!
can I ask that both suits be made red?

P#148753 2024-05-21 04:43

I love the polish on display! I noticed a bug though: in classic solitaire you can drop any card/stack onto a blank space which should only be possible for kings (unless my knowledge of solitaire is wrong!).

P#149143 2024-05-29 21:06

@merwok I'll probably add an option to have the same colors for each of them.

@Nathaniel484 Thank you! It's different for any solitaire game. I think it's usually standard that only kings can be placed in empty spots, but I prefer allowing the player to place any card there.

P#149144 2024-05-29 21:54 ( Edited 2024-05-29 21:55)

[Please log in to post a comment]