[Kde-games-devel] Plans for Palapeli
Ian Wadham
iandw.au at gmail.com
Tue Dec 31 07:21:16 UTC 2013
Hi guys,
I wrote to Stefan Majewsky, the author of Palapeli, just before Christmas,
asking him if it is OK for me to develop some features to support large
jigsaw puzzles in Palapeli, beginning with Johannes Loehnert's Preview
facility, which is currently in the last stages of review.
He replied, adding that I could quote him on this list:
"I'm indeed very caught up in IRL obligations, so I won't be doing any
work on kdegames anytime soon. I trust you and the rest of the team
with implementing any changes necessary to keep Palapeli fresh
and enjoyable.
"So, by all means, go ahead with the patch.
"I wish you, and the rest of the kdegames team, very happy holidays
and all the best for the next release cycles."
So I plan to merge and push the Preview patch fairly soon, having
implemented Alexander and Albert's suggestions to make "Preview"
a toggle action and button and to include it on the beginnings of
a View menu.
Then I would like to become the developer of Palapeli for a few
months, to the point where it can handle puzzles from 500 to 10,000
pieces with moderate ease and convenience for the end-user, leaving
him or her free to concentrate on the solution and its difficulties.
In the real world, you begin solving a large jigsaw puzzle by finding
a table large enough to hold the completed puzzle and the piles or
boxes of pieces you accumulate as you go along. Then you "divide
and conquer" by going through the pieces and sorting out groups
with common attributes that might form a sub-assembly, such as
edges and corners, skyline, parts of buildings, etc., using the
picture on the top of the box to help out.
In Palapeli there is no "large table" for a large puzzle, just a large
QGraphicsScene with a QGraphicsView in which you can either
see all the pieces, but too tiny to see much detail, or you can zoom
in and see more detail but not see all of the pieces. There is limited
support for sorting pieces into groups currently, but the Preview facility
should be very useful as a "box-top picture". So my aims, after merging,
committing and pushing Johannes Loehner's Preview feature, are:
- Improve selection operation and highlighting when the pieces
on-screen are shown as very tiny or have no shadows.
- Provide a quick-zoom or "close-up" feature that shows details of
pieces in an area and can be toggled on/off quickly, e.g. using a
shortcut key.
- Provide a facility to step quickly though a series of close-up
"frames" or views, to search the whole scene systematically
e.g. using shortcut keys.
- Optionally reserve space for the area where the solution will go.
- Provide holders (or boxes) in which pieces with common
attributes can be collected and stored --- implemented as
floating windows which can be moved wherever the desktop
system will allow, perhaps onto other desktops or monitors.
- The idea of holders as separate windows, scenes and views
is that they will stay in position, relative to the puzzle-table
window, even while the end-user zooms and scrolls through
the scene searching for pieces. When the solution area comes
into view, they will be at hand, ready for their pieces to be unloaded
and assembled into the solution. Or the holder-windows can be
moved out of the way if their pieces are not needed yet.
- Small puzzles will not have holders by default, but they can
be requested. Large puzzles (e.g. > 300 pieces) will have at
least one holder by default, but more can be requested.
- Holders can be given meaningful titles (e.g. "Edges", "Sky"). Also,
when they are shown at minimum size, they show the last piece
deposited, in close-up view, for easy identification.
- Pieces can be put into holders or taken out, just by selecting
and dragging in the usual Palapeli ways.
- There will be a function where a holder can be selected and
then pieces can be sent (or "teleported") to it, just by clicking,
perhaps in conjunction with a modifier key. For example, the
edge pieces in a "frame" of the view could be quickly collected
in this way, however widely they are scattered. It is analogous
to picking the pieces up in your hand as you go along.
- Holders will automatically arrange pieces tidily as they are collected.
- Holders will have a Select All action, for use if you wish to empty
the holder onto the puzzle table (by dragging).
- Holders, their contents and geometry will be autosaved in the
usual Palapeli way.
- Empty holders can be deleted.
- A way of re-compacting a holder or parts of the puzzle table
(e.g. pieces selected by rubber-banding), as the solution proceeds
and the distribution of pieces becomes sparse, would be nice to have.
If anyone has any suggestions or would like to help out with this
work, please feel free to contribute. Also, if anyone would like to
take over as Palapeli maintainer when I retire from KDE Games,
please step up.
All the best, Ian W.
More information about the kde-games-devel
mailing list