Log In  


Cart #solitaire_suite-3 | 2024-07-21 | Embed ▽ | License: CC4-BY-NC-SA
160

load #solitaire_suite

no sound currently added
saves don't work on bbs right now
the mod manager isn't guaranteed on the bbs right now

Release 0.2.0

Version 0.2.0 brings a new solitaire game, a mod manager, and a bunch of smaller changes. 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, Fletch for an animated card back, and imjustkerb for testing out the example project.

The suite currently has 7 solitaire variations main

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

2 of which were made by Louie Chapman

  • Huntsman Solitaire
  • Trapdoor Solitaire

Custom Mods

To create your own mods containing new card games or card backs, you should start with the [ example project cart ]. or load it in picotron with #pss_example_project. Currently the bbs doesn't support fetching carts (I thought, but it seems fine right now??), but will eventually get a protocol to allow it.

When working a mod, I would recommend looking at the README in the example cart or the Solitaire Suite git repository for better details. Though I did add a lot of comments to the code to help explain what each part does.

[ 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/.

After 0.2.0

After 0.2, I'll be working on a few other projects before returning to work on 0.3, where I'll likely add a proper sound effects and music manager. Also the new fetch protocol is added before then, I'll add it to 0.2.1.

Changelog

version 0.2.0

  • Added game, Falling Solitaire
  • Added mod manager
  • Added settings window and menu bar
  • Updated main menu graphics
  • Added ENV encapsulation for the solitaire variants
  • Added transitions between the game and the main menu
  • Changed card back sprites to be generated instead of premade
  • Removed game_load() function requirement
  • Added 2/4 suit color setting for normal solitaire
  • Fixed a bunch of bugs

= api changes =

  • Added hand stack
  • Added card draw occlusion
  • Added a card generation function
  • Added hover events for stacks

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

0.1.1b

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

160


2

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


2

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


5

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


12

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


2

Amazing work !


2

The first completed masterpiece of picotron !


4

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! 😊


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)


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


1

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.


1

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


1

This is slick as hell, very well done!


1

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


3

@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.


3

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


1

I LOVE THIS!! Now add Demon solitaire. THE SOLITARY GOD DEMANDS IT
...please


3

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!


1

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] --------
traceback:
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'


1

@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.


1

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


1

Fantastic, thank you for fixing that so quickly :)


1

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.


@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.


@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.


1

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.


1

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?)


@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.


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


1

@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.


1

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?


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!).


@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.


1

I updated the game to version 0.2.0, more information on the main post.



[Please log in to post a comment]