Feature list : Map Viewing
From Sokoban Wiki
(Added the feature "Multiple views of a level".) |
(→Map Viewing: removed column) |
||
(5 intermediate revisions not shown) | |||
Line 7: | Line 7: | ||
<!-- ::::: MAP VIEWING ::::: --> | <!-- ::::: MAP VIEWING ::::: --> | ||
- | <!-- YASC | + | <!-- YASC | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Desktop --> |
<!-- --> | <!-- --> | ||
{| class="soko-table" | {| class="soko-table" | ||
! colspan="6" | Map Viewing !! colspan="50" | <div align="right">Map Viewing</div> | ! colspan="6" | Map Viewing !! colspan="50" | <div align="right">Map Viewing</div> | ||
|- {{programs}} | |- {{programs}} | ||
- | | {{tc}} | level browser with preview || {{yes}} one level at a time || {{ | + | | {{tc}} | level browser with preview || {{yes}} one level at a time || {{yes}} block graphic miniatures of all loaded levels || {{yes}} block graphic miniatures of all loaded levels || {{yes}} block graphic miniatures of all levels in a collection (customizable miniature size) || {{no}} || {{no}} |
|- | |- | ||
- | | {{tc}} | resize skin to fit window || {{yes}} always | + | | {{tc}} | resize skin to fit window || {{yes}} always || {{yes}}skin dependent || {{yes}} always || {{yes}} {{tip|flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} || {{yes}} || {{no}} |
|- | |- | ||
- | | {{tc}} | resize window to fit map || {{un}} {{tip|map always fits in window}} | + | | {{tc}} | resize window to fit map || {{un}} {{tip|map always fits in window}} || {{no}} || {{un}} {{tip|map always fits in window}} || {{yes}} {{tip|flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} || {{yes}} optional || {{yes}} always |
|- | |- | ||
- | | {{tc}} | [[Feature_list_:_Map_Viewing#Level_scrolling|levels larger than window: scrolling]] || {{un}} | + | | {{tc}} | [[Feature_list_:_Map_Viewing#Level_scrolling|levels larger than window: scrolling]] || {{un}} || {{no}} || {{un}} || {{yes}} via scrollbars.<br>{{tip| Windows has 2 font settings, small (default) and large, and this only works for small fonts|text=flaw}} || {{yes}} {{tip|via scrollbars<br> with an option to autofollow<br>(move scrollbars automatically)}} || {{un}} |
|- | |- | ||
- | | {{tc}} | one-click browse levels || {{yes}} previous, next {{tip|in all level files in current level directory, with | + | | {{tc}} | one-click browse levels || {{yes}} previous, next {{tip|in all level files in current level directory, with wrap-around}} || {{yes}} previous, next {{tip|in currently loaded levels, without wrap-around}} || {{yes}} previous, next {{tip|in current collection, with wrap-around}} || {{yes}} previous, next {{tip|in all loaded level files, with wrap-around}} || {{yes}} {{tip| implementation: keyboard shortcuts for: previous, next, first, last (in current collection, without wrap-around)|text=partial}} || {{yes}} next, without wrap-around |
|- | |- | ||
- | | {{tc}} | one-click browse files || {{no | + | | {{tc}} | one-click browse files || {{no}} || {{no}} || {{no}} || {{yes}} drop-down list with all level collections || {{yes}} drop-down list with visited level collections || {{no}} |
|- | |- | ||
- | | {{tc}} | search for unsolved level || {{yes}} previous, next {{tip|in all level files in current level directory, with | + | | {{tc}} | search for unsolved level || {{yes}} previous, next {{tip|in all level files in current level directory, with wrap-around}} || {{yes}} previous, next, random {{tip|in currently loaded levels, without wrap-around}} || {{yes}} previous, next {{tip|in current collection, with wrap-around}} || {{yes}} {{tip|partial implementation: auto-advance after having solved a level finds an unsolved level if settings is "unsolved levels only"|text=partial}} || {{yes}} previous, next {{tip|in current collection, without wrap-around}} || {{no}} |
|- | |- | ||
- | | {{tc}} | rotate and mirror level-map || {{yes}} persistent | + | | {{tc}} | rotate and mirror level-map || {{yes}} persistent, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{yes}} session (partial implementation: use editor) {{tip|savegames and solutions are specific to each transformation}} || {{yes}} session, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{yes}} <big style="color: red;"><b>?</b></big>{{tip|Will somebody with a full version check if it is<br>session, with reset option<br>or<br>persistent, with reset option<br><br>additionally check if <br>savegames and solutions are automatically synchronized with current transformation<br>or<br>savegames and solutions are specific to each transformation|width=300px|text=Help}} || {{yes}} session, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{no}} |
|- | |- | ||
- | | {{tc}} | multiple windows, one per level | + | | {{tc}} | multiple windows, one per level || {{no}} || {{no}} || {{no}} || {{yes}}via tabs.<br>multiple levels<br>can be opened in separate tabs. || {{no}} || {{yes}} |
|- | |- | ||
- | | {{tc}} | multiple views of a level || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{tc}} | | + | | {{tc}} | multiple views of a level || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} |
+ | |- | ||
+ | | {{tc}} | full screen || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} via :<br>keyboard: F11 || {{no}} | ||
|- {{programs}} | |- {{programs}} | ||
|} | |} | ||
Line 55: | Line 57: | ||
-bd | -bd | ||
+ | |||
+ | |||
+ | === Multiple views of a level === | ||
+ | A user often works on several alternative paths at the same time. It would be a great help if each of them was fully visible. For instance, multiple views are beneficial during the process of optimizing existing solutions. | ||
+ | |||
+ | |||
+ | |||
Line 67: | Line 76: | ||
| width="120" {{tc}} | Feature || {{tc}} | Description | | width="120" {{tc}} | Feature || {{tc}} | Description | ||
|- | |- | ||
- | + | |{{tc}}| show/hide<br>redundant walls ||It fills jagged wall edges, fills unused "tubes", removes redundant walls, unused boxes, and unused goals. Implemented in [http://sokoban.ws/usokoban/usokoban.htm USokoban] as 'Normalize level'. | |
- | + | ||
- | + | ||
- | + | ||
- | |{{tc}}| show/hide<br>redundant walls ||It fills jagged wall edges, fills unused "tubes", removes redundant walls, unused boxes, and unused goals. Implemented in | + | |
|} | |} | ||
Current revision as of 18:52, 17 July 2024
[show all]
2. Game Play |
Map Viewing
Map Viewing | Map Viewing
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||
level browser with preview | yes one level at a time | yes block graphic miniatures of all loaded levels | yes block graphic miniatures of all loaded levels | yes block graphic miniatures of all levels in a collection (customizable miniature size) | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||
resize skin to fit window | yes always | yesskin dependent | yes always | yes flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||
resize window to fit map | unnecessary map always fits in window | no | unnecessary map always fits in window | yes flaw: Windows has 2 font settings, small (default) and large, and this only works for small fonts | yes optional | yes always | |||||||||||||||||||||||||||||||||||||||||||||||||
levels larger than window: scrolling | unnecessary | no | unnecessary | yes via scrollbars. Windows has 2 font settings, small (default) and large, and this only works for small fonts | yes via scrollbars with an option to autofollow (move scrollbars automatically) | unnecessary | |||||||||||||||||||||||||||||||||||||||||||||||||
one-click browse levels | yes previous, next in all level files in current level directory, with wrap-around | yes previous, next in currently loaded levels, without wrap-around | yes previous, next in current collection, with wrap-around | yes previous, next in all loaded level files, with wrap-around | yes implementation: keyboard shortcuts for: previous, next, first, last (in current collection, without wrap-around) | yes next, without wrap-around | |||||||||||||||||||||||||||||||||||||||||||||||||
one-click browse files | no | no | no | yes drop-down list with all level collections | yes drop-down list with visited level collections | no | |||||||||||||||||||||||||||||||||||||||||||||||||
search for unsolved level | yes previous, next in all level files in current level directory, with wrap-around | yes previous, next, random in currently loaded levels, without wrap-around | yes previous, next in current collection, with wrap-around | yes partial implementation: auto-advance after having solved a level finds an unsolved level if settings is "unsolved levels only" | yes previous, next in current collection, without wrap-around | no | |||||||||||||||||||||||||||||||||||||||||||||||||
rotate and mirror level-map | yes persistent, with reset option savegames and solutions are automatically synchronized with current transformation | yes session (partial implementation: use editor) savegames and solutions are specific to each transformation | yes session, with reset option savegames and solutions are automatically synchronized with current transformation | yes ?Will somebody with a full version check if it is session, with reset option or persistent, with reset option additionally check if savegames and solutions are automatically synchronized with current transformation or savegames and solutions are specific to each transformation | yes session, with reset option savegames and solutions are automatically synchronized with current transformation | no | |||||||||||||||||||||||||||||||||||||||||||||||||
multiple windows, one per level | no | no | no | yesvia tabs. multiple levels can be opened in separate tabs. | no | yes | |||||||||||||||||||||||||||||||||||||||||||||||||
multiple views of a level | yes | no | no | no | no | no | |||||||||||||||||||||||||||||||||||||||||||||||||
full screen | no | no | no | no | yes via : keyboard: F11 | no | |||||||||||||||||||||||||||||||||||||||||||||||||
|
Information
Level scrolling
levels larger than window: scrolling
levels larger than window: scrollbars
Briefly, the first line is there to give a program the chance to tell that it has a scroll feature, and the second line is there to tell if the program does it the right way - with scrollbars.
Since the first graphical user interfaces emerged, scrollbars have been used for depicting the situation where a document doesn't fit in the window, so the user can rightfully expect to find that logic (or something equally user-friendly) in a Sokoban program as well.
Therefore, it's embarrasing for programs that requires scrolling if they don't have scrollbars or something equivalent. The line "levels larger than window: scrollbars" must be listed so readers can see this major design flaw, and so new programmers are reminded that they definitely should do better.
On the other hand, Sokofan deserves credits for at least having a scroll feature, despite the fact that it's not done the right way with scrollbars. The user doesn't get any visible clue that the board is bigger than the window, and the user must read the instructions to find the keyboard and mouse/key combinations that controls the scrolling.
So the line "levels larger than window: scrolling" is there to give Sokofan a chance to tell that it indeed has a scroll feature, even though it's not as user-friendly as the user rightfully can expect from a good Sokoban clone.
-bd
Multiple views of a level
A user often works on several alternative paths at the same time. It would be a great help if each of them was fully visible. For instance, multiple views are beneficial during the process of optimizing existing solutions.
SokRFI - Sokoban Requests for Implementation
Map Viewing : SokRFI - Sokoban Requests for Implementation | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Feature | Description | ||||||||||||||||||||||||||||||||||||||||||||||||
show/hide redundant walls | It fills jagged wall edges, fills unused "tubes", removes redundant walls, unused boxes, and unused goals. Implemented in USokoban as 'Normalize level'. |