Patience Deck

Rating: 
4.88889
Your rating: None Average: 4.9 (9 votes)

Patience Deck is a collection of patience games for Sailfish OS. It reimplements game engine from GNOME Aisleriot and utilises its implementations of patience games including manual pages and artwork.

Supported games in the latest release are Agnes, Athena, Auld Lang Syne, Aunt Mary, Baker's Game, Bear River, Beleaguered Castle, Bristol, Camelot, Canfield, Carpet, Clock, Easthaven, Elevator, Eliminator, Escalator, First Law, Fortunes, Forty Thieves, Freecell, Gaps, Giant, Gold Mine, Hamilton, Helsinki, Isabel, Kansas, Klondike, Lady Jane, Napoleon's Tomb, Odessa, Osmosis, Peek, Poker, Saratoga, Scorpion, Scuffle, Spider, Spiderette, Ten Across, Terrace, Thieves, Thirteen, Thumb and Pouch, Treize, Triple Peaks, Valentine, Westhaven, Whitehead, Will O The Wisp, Yield, Yukon and Zebra.

Github repository. You may obtain source code and report bugs there.

You need guile, gc and libunistring libraries to run Patience Deck.

Questions and answers

What is the difference between this version and the version in Jolla Store (harbour)?
Store version bundles support libraries into the package. Otherwise these are identical, however due to Store QA there can be delays in releasing or releases may appear more frequently here.

Screenshots: 
Application versions: 
AttachmentSizeDate
File patience-deck-0.6-1.armv7hl.rpm466.54 KB28/09/2021 - 22:47
File patience-deck-0.5.1-1.armv7hl.rpm465.4 KB04/08/2021 - 22:56
File patience-deck-0.5-1.armv7hl.rpm457.66 KB29/05/2021 - 23:29
File patience-deck-0.4.2-1.armv7hl.rpm353.84 KB01/05/2021 - 19:30
File patience-deck-0.4.1-1.armv7hl.rpm353.68 KB24/04/2021 - 22:35
File patience-deck-0.4-1.armv7hl.rpm351.88 KB18/04/2021 - 21:59
File patience-deck-0.3.2-1.armv7hl.rpm349.51 KB25/03/2021 - 22:05
File patience-deck-0.3.1-1.armv7hl.rpm349.21 KB21/03/2021 - 21:08
File patience-deck-0.3-1.armv7hl.rpm338.7 KB27/02/2021 - 18:40
File patience-deck-0.2.2-1.armv7hl.rpm332.88 KB11/02/2021 - 23:09
File patience-deck-0.2.1-1.armv7hl.rpm332.25 KB06/02/2021 - 14:59
File patience-deck-0.2-1.armv7hl.rpm327.7 KB30/01/2021 - 20:20
File patience-deck-0.1.2-1.armv7hl.rpm321.65 KB17/01/2021 - 13:38
File patience-deck-0.1.1-1.armv7hl.rpm317.43 KB06/01/2021 - 15:09
File patience-deck-0.1-1.armv7hl.rpm315.73 KB28/12/2020 - 12:55
File libunistring-0.9.10-8.armv7hl.rpm373.11 KB28/12/2020 - 12:55
File gc-8.0.4-4.armv7hl.rpm86.36 KB28/12/2020 - 12:55
File guile22-2.2.7-5.armv7hl.rpm5.75 MB28/12/2020 - 12:55
File patience-deck-0.6-1.aarch64.rpm475.8 KB28/09/2021 - 22:47
File patience-deck-0.5.1-1.aarch64.rpm474.36 KB04/08/2021 - 22:56
File patience-deck-0.5-1.aarch64.rpm467.28 KB29/05/2021 - 23:29
File patience-deck-0.4.2-1.aarch64.rpm363.04 KB01/05/2021 - 19:30
File patience-deck-0.4.1-1.aarch64.rpm363.66 KB24/04/2021 - 22:35
File patience-deck-0.4-1.aarch64.rpm360.85 KB18/04/2021 - 21:59
File libunistring-0.9.10-8.aarch64.rpm372.21 KB18/04/2021 - 21:59
File gc-8.0.4-4.aarch64.rpm94.34 KB18/04/2021 - 21:59
File guile22-2.2.7-5.aarch64.rpm5.77 MB18/04/2021 - 21:59
File patience-deck-0.6-1.i486.rpm497.66 KB28/09/2021 - 22:47
File patience-deck-0.5.1-1.i486.rpm492.09 KB04/08/2021 - 22:56
File patience-deck-0.5-1.i486.rpm484.65 KB29/05/2021 - 23:29
File patience-deck-0.4.2-1.i486.rpm378.3 KB01/05/2021 - 19:30
File patience-deck-0.4.1-1.i486.rpm378.3 KB24/04/2021 - 22:35
File patience-deck-0.4-1.i486.rpm375.39 KB18/04/2021 - 21:59
File patience-deck-0.3.2-1.i486.rpm373.5 KB25/03/2021 - 22:05
File patience-deck-0.3.1-1.i486.rpm372.54 KB21/03/2021 - 21:08
File patience-deck-0.3-1.i486.rpm359.27 KB27/02/2021 - 18:40
File patience-deck-0.2.2-1.i486.rpm350.93 KB11/02/2021 - 23:09
File patience-deck-0.2.1-1.i486.rpm350.68 KB06/02/2021 - 14:59
File patience-deck-0.2-1.i486.rpm345.2 KB30/01/2021 - 20:20
File patience-deck-0.1.2-1.i486.rpm339.18 KB17/01/2021 - 13:38
File patience-deck-0.1.1-1.i486.rpm332.44 KB06/01/2021 - 15:09
File patience-deck-0.1-1.i486.rpm330.81 KB28/12/2020 - 13:05
File libunistring-0.9.10-8.i586.rpm385.87 KB28/12/2020 - 13:05
File gc-8.0.4-4.i586.rpm99.28 KB28/12/2020 - 13:05
File guile22-2.2.7-5.i586.rpm5.81 MB28/12/2020 - 13:05
Changelog: 

Version 0.6 - 2021-09-28

  • This version contains a number of fixes, some highlights below.
  • Nine more enabled games, there are now 54 supported games in total.
  • More polished toolbar buttons.
  • Fixes to card dragging to avoid issues with cards disappearing.
  • Prevent simultaneous actions on the engine.
  • Some memory handling fixes to engine and UI.
  • Build system fixes for easier builds.

Version 0.5.1 - 2021-08-04

  • This version has two fixes over the previous release.
  • Improved card move queueing which should fix most remaining problems with disappearing cards.
  • Fixed weirdly offset text on some variable lists in game manuals.

Version 0.5 - 2021-05-29

  • This release brings improvements to user interface.
  • There are 45 supported games in total.
  • Game manuals from GNOME Aisleriot are now included and displayed on Options & Help page.
  • Faster transitions when rotating device or returning to the app when game is visible.
  • Better about page with licenses subpage.
  • Option to keep display on while playing game.
  • Smoother page transition when selecting another game.

Version 0.4.2 - 2021-05-01

  • This release fixes a few bugs.
  • Fixed a problem with a specific move in Hamilton.
  • Fixed timer not reseting when a new game is started or previous game is restarted.
  • Reset hint when a new game is started, app is left or page is changed.

Version 0.4.1 - 2021-04-24

  • This version brings some fixes, highlights below.
  • Fixed a regression with game status and elapsed time in Baker's Game.
  • Fixed dragging message bar when the text is of certain length.
  • Added version information to about page.

Version 0.4 - 2021-04-18

  • This release brings aarch64 builds, game engine fixes and some UI improvements.
  • There are 36 games supported in this release.
  • There are now aarch64 builds available. This also means SDK targets have been updated to 4.0.1.
  • Game options page uses platform widgets to represent game specific options.
  • Fixes to signaling between the game engine and the UI which should reduce disappearing cards.
  • Fix to prevent score text from appearing on subpages.
  • Other minor engine and UI fixes.

Version 0.3.2 - 2021-03-25

  • A few fixes to prevent crashes and missing cards.
  • Fix disappearing cards in Treize.
  • Fix crashes due to dangling pointers to cards.
  • Game is restarted up to ten times with a new seed if there are no possible moves at the beginning.

Version 0.3.1 - 2021-03-21

  • This release brings better engine failure and card management.
  • The game shouldn't lose cards anymore when dragging or clicking them.
  • Game doesn't crash when engine reports a failure, instead engine failure overlay is displayed.
  • Redeals shouldn't flash cards underneath.
  • Github issues is now open for reports. However, this is still the place to ask general questions.

Version 0.3 - 2021-02-27

  • This release brings some greater improvements to usage and a few fixes here and there.
  • 27 supported games.
  • Slots are highlighted when dropping is possible.
  • Last played games and favouriting of games added to games list.
  • Deal button and score texts are now hidden when game doesn't support them.
  • Game over overlay now shows both New game and Restart buttons.
  • Limited space for toolbar on landscape is now taken into account on Jolla 1.
  • Fixed table children opacity when pull menu is fully open.
  • Fixed checkbox options in game options.

Version 0.2.2 - 2021-02-11

  • This release has two minor fixes over the previous release.
  • Fix crash when finishing Forty Thieves.
  • Fix double clicking after single clicking a card.

Version 0.2.1 - 2021-02-06

  • This release brings a few small improvements and a fix.
  • Double clicks are now supported.
  • Add score and elapsed time to toolbar and improved app cover.
  • Fixed message bar mouse area size allowing again to drag cards at the bottom of the table area.

Version 0.2 - 2021-01-30

  • This release brings many big improvements and several fixes. It's still feature incomplete.
  • 18 supported games.
  • New and faster card drawing using scene graph.
  • New improved toolbar that has more features and doesn't take vertical space on landscape orientation.
  • New icon.
  • Fixed card dropping in Spider (this was broken since 0.1.1 release).
  • Fixed button rendering, they are now sharper than before.
  • Many fixes to drawing order and card handling to enable more supported games.

Version 0.1.2 - 2021-01-17

  • Last played game is restarted when starting the app.
  • Game options are remembered.
  • Small improvements to About page.
  • All pages can be used in landscape as well as in portrait.

Version 0.1.1 - 2021-01-06

  • A few fixes and improvements over the previous release. Still an early alpha.
  • Add game over overlay when there are no moves left, also indicates wins.
  • Use plaform values for detecting drags from clicks.
  • Detect drops from overlap of cards with slots instead of absolute mouse position.

Version 0.1 - 2020-12-28

  • Consider this an early alpha release. Many features are missing and UI is unfinished.
  • Supported games: Klondike, Freecell, Spider, Clock.

There may be bugs. You have been warned.

Comments

poetaster's picture

Games in Scheme. I love it. I'm happy just reading the source :)

One thing I'd change (fork, pull?) is the display of stock left in Landscape. it wastes screen realestate!

 

Thanks a bunch and for the inspiration, example of gluing guile to qml!

 

Tomin's picture

Thank you for your kind feedback! :)

In the past I already moved that toolbar to the left side of the screen which improved the app a lot as it gave more space for the cards. However at the time I did not find it worth the effort to explore ways to reduce the space status bar takes. It's fairly small amount of vertical space and the status bar is useful most of the time anyway. Besides the amount of stock left, for example, hints are displayed there. Some games use it more than others.

If you want to brainstorm or experiment, I suggest that you open an issue to the Github repository and we may continue discussion there. Good ideas to improve are always welcome. Perhaps there is a satisfactory solution to this.

planetos_store's picture

Ok!

I'm also looking at doing something really odd, like using isabel as a foundation for doing 'mahjong in aisleriot!

Thanks again!

Sorry for the mulitiple identities ;) I'm poetaster and I've taken over the planetos repos for Tobias.

kempe's picture

First of,. Thank you for your work.

After the latest update klondike seem to crash alot. Dont know if it affects any other game i have only tried klondike sence i upgraded. But it has crashed mid game every time.

Tomin's picture

Thanks for reporting! I had it crash now once too. First I completed a game with unlimited deals on and then it crashed when I had three card deals selected. I hope I can reproduce it in debugger and see what it's about and fix it.

jollex's picture

I love those games! Many Thx!

Tomin's picture

I'm glad to hear!

Ingvix's picture

Nice improvements. I noticed that somethings blocking the touch input right above the bottom bar. When playing for example Klondike in landscape mode and there's a large stack I might not be able to take the last card alone from the stack because it's too close to the bottom bar and the invisible block. I can see the card but not drag it.

Tomin's picture

Yes, thanks for spotting that. There is a mistake with MouseArea size. I added that to allow dragging status bar message when it's too long to fit but I used wrong size and I didn't realize that.

I need to release another version with a fix to that soon. In the meantime you may patch it yourself if you like. Changing /usr/share/patience-deck/qml/pages/Game.qml row 104 from "height: Theme.itemSizeSmall" to "height: message.height" should allow it to work again.

https://github.com/Tomin1/patience-deck/blob/0.2/qml/pages/Game.qml#L104

Ingvix's picture

Pretty nice though more sailfishy UI elements would be appreciated.

More critical stuff I was bothered by was that the top and bottom bars take too much space from the screen in landscape mode. I think the buttons could be put to the side, on green background or by creating a sidebar for them. I also think the name of the game on the bar isn't really that important. You could put it to the pull-down menu's title or what ever the property was called, so it shows on the menu before the first selectable entry. Bottom bar's info could also easily fit on the game screen.

EDIT: Also a congratulation screen when you win a game would be nice. It's a bit boring currently that nothing happens when a game is cleared.

Tomin's picture

Thank you for the feedback.

I'm definitely going to improve most of the points you mentioned. I agree that on landscape the bars on top and bottom take too much space, and having the buttons on either side is a possibility. I don't want to put too many items to the pull down menu because it would get crowded so balance on that is important. I have some ideas regarding the UI. Winning screen is also something I've already planned to add soon, but it was still missing for this "early-alpha" release because I wanted to get this out before the end of the year.

I personally think that trying to stick with the Sailfish-like elements is less important than trying to find solutions that give the best usability for the application even if they don't fit quite so well to the platform's style.

Bsingleto's picture

I agree with everything you mentioned. thanks for getting this out. I miss solitary. its the perfect game for using this OS i feel im the solitary person running it. Perfect fit.

Flipping the first card over is so frustrating to me when it registers every third or fourth tap. I didnt even finish my first game yet. Tiny area to flip the card and when dragging, that is great but it doesn't always stick to the pile i want it to, similarly, aboutevery other drag. Thats annoying so i will try it again later when i bring more patience.
Thanks for making this app!

Tomin's picture

Thank you also for the feedback! Nice to hear that there is someone else that was missing this app.

I'm so used to behaving like the code expects that I don't usually notice these issues with flipping cards or dropping them. I'm planning to release next week a new version that will improve clicks (e.g. flipping cards). Hopefully I have enough time to also add the dragging improvements that I want to implement. Some games have bigger cards in landscape so that might be helpful for you.

Other than that there is very little I can do for the small size of the cards but definitely improving the card graphics for smaller sizes is something I would like to do. However that doesn't make it easier to touch them.

The next version will also bring that game over screen mentioned earlier. It will not be nice and polished because I think I'll need to do a totally new implementation later when more features have been implemented.