Bug 211866

Summary: implement puzzle piles to make divide-and-conquer easier
Product: [Applications] palapeli Reporter: Stefan Majewsky <majewsky>
Component: generalAssignee: Ian Wadham <iandw.au>
Status: RESOLVED FIXED    
Severity: wishlist CC: iandw.au, kde-games-bugs, loehnert.kde, mwoehlke.floss, peter.puk
Priority: VHI    
Version: unspecified   
Target Milestone: 1.2   
Platform: openSUSE   
OS: Unspecified   
Latest Commit: Version Fixed In: KDE SC 4.13
Sentry Crash Report:
Attachments: One of the 5000 pieces puzzle

Description Stefan Majewsky 2009-10-26 00:18:08 UTC
Version:            (using KDE 4.3.2)
Installed from:    openSUSE RPMs

[This feature request has been imported manually from a todolist in SVN.]

Screen estate is limited. The most important thing to make Palapeli scale up nicely to big puzzles is therefore proper support for divide-and-conquer solving techniques.

What Palapeli needs is a means to divide a single puzzle into multiple piles. The concept I envisage looks like this:
1. When the puzzle is loaded, a single pile is created which contains all puzzle pieces.
2. New piles can be created as needed (similar to the activities in Gnome Shell), and pieces can be easily moved from one pile to another.
3. The piles should appear in different views, to keep the screen clean.
Comment 1 Johannes Loehnert 2010-04-02 12:03:33 UTC
proposal for the UI:
- pressing the number keys 1-9,0 switches between the piles
- if piece is currently picked up, it is transferred to the new pile

This way one could easily sort: pick-up, press [2], drop, press [1], pick up...

(of course there should be toolbar buttons too...)
Comment 2 peter.puk 2011-08-15 22:02:28 UTC
Created attachment 62859 [details]
One of the 5000 pieces puzzle
Comment 3 peter.puk 2011-08-15 22:16:23 UTC
Im currently solving a 5000 pieces puzzle (talking about upscaling ;-). For the picture see the attachment above. I have it solved already for 35%, the perfomance and stability is very good.

The method i now use is: make the puzzle board 4 times as big. Use CTRL+Mouse to select multiple pieces of one group/type/color and drag them (usually around 50 in one selection) to an empty space on the board. Sometimes i mis-clicked a puzzle piece, which results in all the other selected pieces to be deselected too :-(.

The piles idea could be a good solution (ill use that in real life too), but i was also thinking about a space (other always visible pile) at the bottom of the screen where you can easily drag pieces too and from (like the puzzle pieces on your hand in real life). This is usually easier than switching trough piles with [1-9]. This 'hand' can be used too for switching pieces between piles.

Piles can be still usefull for building bigger parts of the puzzle.

Also a bird-eye view can be handy in times.

PS. If people like the puzzle attachment. There are many versions from the same drawer. Search for 'Jan van Haasteren' on google any you will find many more puzzles.
Comment 4 Matthew Woehlke 2014-08-01 13:25:18 UTC
I'm probably one of the original requestors of this also...

We don't need "piles" so much as better ability to move large numbers of pieces. With an arbitrarily large workspace (which we have), one can already make "piles" just by placing pieces in separate areas. What's missing is better ability to do this.

What I'd do is implement a "stack" mode for manipulating pieces, where you can "pick up" more than one, but only the most recently picked up piece is visible (the others become hidden). You should also then be able to put these down one at a time, or all at once, where the latter scatters them out so as to avoid overlap (and DOES NOT CONNECT PIECES). The idea is e.g. you would go over the initial scatter, picking out pieces by some criteria (e.g. edges) into this stack, then put them all down somewhere else, clustered together. (This is how I work puzzles in real life.) Right now with current multi-select this works poorly because you end up with a big ungainly collection of widely dispersed pieces that interferes with visibility and likes to push the workspace edges around (and is too easy to accidentally drop, leading to a huge mess! ...not to mention having to pick up all the pieces again).

It should also be possible to resize the work area without dropping, in this mode.

As a bonus, such a "stack" ought to be much easier to implement. (Almost no UI changes except maybe a modifier key to use it. On that note, maybe it could be an alternate multi-select mode, using ctrl-click to pick up or drop a piece, that is selected with a shortcut to toggle between that mode and the existing multi-select mode, and an option to turn on by default. A "rubber band" selection could always do traditional multi-select, which I think would tend to make it unnecessary to ever turn this mode off...)
Comment 5 Ian Wadham 2014-08-01 23:26:59 UTC
Palapeli has been upgraded to version 2.0 in the release of KDE 4.13 a few months ago. It has several aids for solving large puzzles, including "holders". These are small floating windows into which you can "teleport" pieces by using (default) Shift-Left-Click. I have tested it using puzzles with up to 10,000 pieces and have written a new chapter in the Palapeli Handbook about solving large puzzles. A brief version of this appears as a popup message when you create a puzzle of 300 pieces or more.