Feature list : Map Viewing

From Sokoban Wiki

(Difference between revisions)
Jump to: navigation, search
(Map Viewing: SokoSave Mobile features full-screen mode as of v501)
(Map Viewing: removed column)
 
(3 intermediate revisions not shown)
Line 7: Line 7:
<!-- ::::: MAP VIEWING ::::: -->  
<!-- ::::: MAP VIEWING ::::: -->  
-
<!-- YASC | Sokofan | Sokoban++ | JSokoApplet | SokForWindows | YSokoban | SokoSave Mobile | SokoSave Desktop | SuperSoko -->
+
<!-- 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 || {{no}} || {{yes}} block graphic miniatures of all loaded levels || {{no}} || {{yes}} block graphic miniatures of all levels in a collection (customizable miniature size) || {{tc}} | level browser with preview || {{no}} || {{yes}} one level at a time || {{no}} || {{no}} || ||
+
| {{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 || {{no}} || {{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}} || {{tc}} | resize skin to fit window || {{no}} || {{yes}} always || {{no}} || {{yes}} || ||
+
| {{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}} || {{yes}}manually/ automatically depending on skin || {{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}} || {{tc}} | resize window to fit map || {{yes}} optional || {{un}} {{tip|handheld applications fill device screen}} || {{yes}} always || {{no}} || ||
+
| {{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}} || {{yes}} via :<br>mouse: Ctrl + arrows;<br>keyboard: Ctrl + numeric keypad || {{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}} || {{tc}} | [[Feature_list_:_Map_Viewing#Level_scrolling|levels larger than window: scrolling]] || {{yes}} {{tip|via scrollbars<br> with an option to autofollow<br>(move scrollbars automatically)}} || {{yes}} {{tip|via scrollbars but only for puzzles so large that graphics would become impossibly small on handheld device screen}} || {{un}} || {{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 wrap-around}} || {{yes}} previous, next, first, last {{tip|in currently loaded levels, without 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}} || {{tc}} | one-click browse levels || {{yes}} {{tip| implementation: keyboard shortcuts for: previous, next, first, last (in current collection, without wrap-around)|text=partial}} || {{yes}} previous, next {{tip|in all level files in current collection, without wrap-around}} || {{yes}} next, without wrap-around || {{yes}} previous, next {{tip|in current collection, without wrap-around}} || ||
+
| {{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}} || {{yes}} previous, next <br>{{tip|additionally, menu and keyboard shortcuts: previous, next, first, last}} || {{no}} || {{no}} || {{yes}} drop-down list with all level collections || {{tc}} | one-click browse files || {{yes}} drop-down list with visited level collections || {{no}} || {{no}} || {{yes}} file-list readily available || ||
+
| {{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 wrap-around}} || {{yes}} previous, next, random {{tip|in currently loaded levels, without 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}} || {{tc}} | search for unsolved level || {{yes}} previous, next {{tip|in current collection, without wrap-around}} || {{yes}} previous, next {{tip|in all level files in current collection, without wrap-around}} || {{no}} || {{yes}} previous, next {{tip|in current collection, without wrap-around<br>flaw: does not restrict the search to the player's own solutions}} || ||
+
| {{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, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{yes}} session, 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}} || {{tc}} | rotate and mirror level-map || {{yes}} session, with reset option {{tip|savegames and solutions are automatically synchronized with current transformation}} || {{no}} || {{no}} || {{yes}} (session, with reset option) {{tip|savegames and solutions are automatically synchronized with current transformation}} || ||
+
| {{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 || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}}via tabs.<br>multiple levels<br>can be opened in separate tabs. || {{tc}} | multiple windows, one per level || {{no}} || {{no}} || {{yes}} || {{no}} || ||
+
| {{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}} | multiple views of a level || {{no}} || {{no}} || {{no}} || {{no}} || ||
+
| {{tc}} | multiple views of a level || {{yes}} || {{no}} || {{no}} || {{no}} || {{no}} || {{no}}  
|-  
|-  
-
| {{tc}} | full screen || {{no}} || {{no}} || {{no}} || {{no}} || {{no}} || {{tc}} | full screen || {{yes}} via :<br>keyboard: F11 || {{yes}} || {{no}} || {{no}} || ||
+
| {{tc}} | full screen || {{no}} || {{no}} || {{no}} || {{no}} || {{yes}} via :<br>keyboard: F11 || {{no}}  
|- {{programs}}
|- {{programs}}
|}
|}
Line 57: 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 69: Line 76:
| width="120" {{tc}} | Feature || {{tc}} | Description
| width="120" {{tc}} | Feature || {{tc}} | Description
|-
|-
-
|{{tc}}| 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. This feature is implemented in Sokoban YASC.
+
|{{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 Sokoban YASC as 'Normalize board' (edit mode).
+
|}
|}

Current revision as of 18:52, 17 July 2024



Map Viewing

Last change: 2024/07/17 18:52:24
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]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 [info]map always fits in window no unnecessary [info]map always fits in window yes [flaw]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.
[flaw] Windows has 2 font settings, small (default) and large, and this only works for small fonts
yes [info]via scrollbars
with an option to autofollow
(move scrollbars automatically)
unnecessary
one-click browse levels yes previous, next [info]in all level files in current level directory, with wrap-around yes previous, next [info]in currently loaded levels, without wrap-around yes previous, next [info]in current collection, with wrap-around yes previous, next [info]in all loaded level files, with wrap-around yes [partial] 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 [info]in all level files in current level directory, with wrap-around yes previous, next, random [info]in currently loaded levels, without wrap-around yes previous, next [info]in current collection, with wrap-around yes [partial]partial implementation: auto-advance after having solved a level finds an unsolved level if settings is "unsolved levels only" yes previous, next [info]in current collection, without wrap-around no
rotate and mirror level-map yes persistent, with reset option [info]savegames and solutions are automatically synchronized with current transformation yes session (partial implementation: use editor) [info]savegames and solutions are specific to each transformation yes session, with reset option [info]savegames and solutions are automatically synchronized with current transformation yes ?[Help]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 [info]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
 

Top



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


Top

Personal tools