Warning, /games/skladnik/doc/index.docbook is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" ?>
0002 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
0003   <!ENTITY % English "INCLUDE" > <!-- change language only here -->
0004   <!ENTITY % addindex "IGNORE">
0005   <!ENTITY skladnik "<application>Skladnik</application>">
0006 ]>
0007         
0008 <book lang="&language;">
0009 <bookinfo>
0010 <title>The &skladnik; Handbook</title>
0011 
0012 <authorgroup>
0013 <author>
0014 <firstname>Anders</firstname>
0015 <surname>Widell</surname>
0016 <affiliation>
0017 <address>&Anders.Widell.mail;</address>
0018 </affiliation>
0019 </author>
0020 <!-- TRANS:ROLES_OF_TRANSLATORS -->
0021 </authorgroup>
0022 
0023 <copyright>
0024 <year>2000</year>
0025 <holder>&Anders.Widell;</holder>
0026 </copyright>
0027 
0028 <legalnotice>&FDLNotice;</legalnotice>
0029 
0030 <date>2021-08-19</date>
0031 <releaseinfo>0.5.0</releaseinfo>
0032 
0033 <abstract>
0034 <para>
0035 &skladnik; is an implementation of the Japanese warehouse keeper game <quote>sokoban</quote>.
0036 </para>
0037 </abstract>
0038 
0039 <keywordset>
0040 <keyword>KDE</keyword>
0041 <keyword>kdegames</keyword>
0042 <keyword>game</keyword>
0043 <keyword>sokoban</keyword>
0044 <keyword>skladnik</keyword>
0045 </keywordset>
0046 </bookinfo>
0047 
0048 <chapter id="introduction">
0049 <title>Introduction</title>
0050 
0051 <para>
0052 The first sokoban game was created in 1982 by Hiroyuki Imabayashi at
0053 the Japanese company Thinking Rabbit, Inc.  <quote>Sokoban</quote> is
0054 Japanese for <quote>warehouse keeper</quote>.  The idea is that you
0055 are a warehouse keeper trying to push crates to their proper locations
0056 in a warehouse.
0057 </para>
0058 
0059 <para>
0060 The problem is that you cannot pull the crates or step over them. If
0061 you are not careful, some of the crates can get stuck in wrong places
0062 and/or block your way.
0063 </para>
0064 
0065 <para>
0066 It can be rather difficult just to solve a level. But if you want to
0067 make it even harder, you can try to minimize the number of moves
0068 and/or pushes you use to solve the level.
0069 </para>
0070 
0071 <para>
0072 To make the game more fun for small kids (below 10 years or so), some
0073 collections with easier levels are also included in &skladnik;. These
0074 are marked <emphasis>(easy)</emphasis> in the level collection menu.
0075 Of course, these levels can be fun for adults too, for example if you
0076 don't want to expose yourself to too much mental strain.
0077 </para>
0078 </chapter>
0079 
0080 <chapter id="how-to-play">
0081 <title>The Game</title>
0082 
0083 <para>
0084 The objective of the game is to push all the red gems to the goal
0085 squares, which are marked with green glassy round things on the floor.
0086 </para>
0087 
0088 <para>
0089 Use the cursor keys or the mouse to move about. If you move onto a gem
0090 using the cursor keys or the &MMB;, and there is nothing blocking it on the opposite side, then you
0091 will push the gem.  It isn't possible to pull the gems, so if you push
0092 a gem into a corner it will be stuck there. You cannot step over the
0093 gems either, so you can also get trapped in a part of the maze by
0094 blocking the way with gems.  Also note that it isn't possible to push
0095 more than one gem at a time.
0096 </para>
0097 
0098 <para>
0099 If you notice that you have moved the gems in such a way that the
0100 level is impossible to solve, then you can always use the undo feature
0101 to go back to a position where the mistake has not yet been made. You
0102 can of course also restart the level from the very beginning.
0103 </para>
0104 
0105 <sect1 id="controls">
0106 <title>Controls</title>
0107 
0108 <para>
0109 <informaltable>
0110 <tgroup cols="2">
0111 <thead>
0112 <row><entry>Key</entry><entry>Action</entry></row>
0113 </thead>
0114 
0115 <tbody>
0116 <row><entry>Cursor keys</entry><entry>Move one square in a direction</entry></row>
0117 <row><entry><keycombo action="simul">&Ctrl;<keycap>Cursor</keycap></keycombo> keys</entry><entry>Move as far as possible in a direction without pushing any gems</entry></row>
0118 <row><entry><keycombo action="simul">&Shift;<keycap>Cursor</keycap></keycombo> keys </entry><entry>Move as far as possible in a direction, pushing any gem in the way</entry></row>
0119 <row><entry><mousebutton>Left</mousebutton> mouse button</entry><entry>Move to any place in the maze that can be reached without pushing any gems&nbsp;</entry></row>
0120 <row><entry><mousebutton>Middle</mousebutton> mouse button or <keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo></entry><entry>Undo the last move</entry></row>
0121 <row><entry><mousebutton>Right</mousebutton> mouse button</entry><entry>Move up/down/left/right in a straight line, pushing any gem in the way</entry></row>
0122 <row><entry><mousebutton>Mouse wheel</mousebutton></entry><entry>Traverse the history</entry></row>
0123 <row><entry><keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo>&nbsp;</entry><entry>Redo the last undone move</entry></row>
0124 <row><entry><keycap>N</keycap></entry><entry>Go to the next level in the current level collection</entry></row>
0125 <row><entry><keycap>P</keycap></entry><entry>Go to the previous level in the current level collection</entry></row>
0126 <row><entry>&Esc;</entry><entry>Restart the current level</entry></row>
0127 <row><entry><keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo></entry><entry>Quit the game</entry></row>
0128 </tbody>
0129 </tgroup>
0130 </informaltable>
0131 </para>
0132 </sect1>
0133 
0134 <sect1 id="loading-external-levels">
0135 <title>Loading external levels</title>
0136 
0137 <para>
0138 &skladnik; has the ability to load external sokoban levels from text
0139 files.  You can load levels using the <menuchoice><guimenu>Game</guimenu>
0140 <guimenuitem>Load Levels...</guimenuitem></menuchoice> menu item, or by
0141 specifying the level file &URL; as a command line argument when starting
0142 &skladnik; from a shell.
0143 </para>
0144 
0145 <para>
0146 The external levels must be defined using the standard characters
0147 shown in the table below. If the file contains more than one level,
0148 the levels should be separated by blank lines. The file may also
0149 contain text between the levels.
0150 </para>
0151 
0152 <informaltable>
0153 <tgroup cols="2">
0154 <thead>
0155 <row><entry>Character</entry><entry>Meaning</entry></row>
0156 </thead>
0157 
0158 <tbody>
0159 <row><entry><literal>#</literal></entry><entry>Wall</entry></row>
0160 <row><entry><emphasis>(space)</emphasis></entry><entry>Empty square</entry></row>
0161 <row><entry><literal>.</literal></entry><entry>Goal square</entry></row>
0162 <row><entry><literal>$</literal></entry><entry>Object on an empty square</entry></row>
0163 <row><entry><literal>*</literal></entry><entry>Object on a goal square</entry></row>
0164 <row><entry><literal>@</literal></entry><entry>Start position on an empty square&nbsp;</entry></row>
0165 <row><entry><literal>+</literal></entry><entry>Start position on a goal square</entry></row>
0166 </tbody>
0167 </tgroup>
0168 </informaltable>
0169 
0170 <para>
0171 As an example, below is a text representation of the first level in the
0172 <emphasis>Microban</emphasis> level collection:
0173 </para>
0174 
0175 <para>
0176 <screen>
0177 ####
0178 # .#
0179 #  ###
0180 #*@  #
0181 #  $ #
0182 #  ###
0183 ####
0184 </screen>
0185 </para>
0186 </sect1>
0187 </chapter>
0188 
0189 <chapter id="menu-reference">
0190 <title>Menu Reference</title>
0191 
0192 <para>This is a complete guide to the menus of &skladnik;.</para>
0193 
0194 <sect1 id="game-menu">
0195 <title>The Game Menu</title>
0196 
0197 <variablelist>
0198 <varlistentry>
0199 <term><menuchoice>
0200 <guimenu>Game</guimenu>
0201 <guimenuitem>Load Levels...</guimenuitem>
0202 </menuchoice></term>
0203 <listitem>
0204 <para><action>Load an external level.</action> See the section <link
0205 linkend="loading-external-levels">Loading External Levels</link> for
0206 more information.</para>
0207 </listitem>
0208 </varlistentry>
0209 
0210 <varlistentry>
0211 <term><menuchoice>
0212 <shortcut><keycap>N</keycap></shortcut>
0213 <guimenu>Game</guimenu>
0214 <guimenuitem>Next Level</guimenuitem>
0215 </menuchoice></term>
0216 <listitem>
0217 <para><action>Load the next level.</action></para>
0218 </listitem>
0219 </varlistentry>
0220 
0221 <varlistentry>
0222 <term><menuchoice>
0223 <shortcut><keycap>P</keycap></shortcut>
0224 <guimenu>Game</guimenu>
0225 <guimenuitem>Previous Level</guimenuitem>
0226 </menuchoice></term>
0227 <listitem>
0228 <para><action>Go back to the previous level.</action></para>
0229 </listitem>
0230 </varlistentry>
0231 
0232 <varlistentry>
0233 <term><menuchoice>
0234 <shortcut>&Esc;</shortcut>
0235 <guimenu>Game</guimenu>
0236 <guimenuitem>Restart Level</guimenuitem>
0237 </menuchoice></term>
0238 <listitem>
0239 <para><action>Restart the current level.</action></para>
0240 </listitem>
0241 </varlistentry>
0242 
0243 <varlistentry>
0244 <term><menuchoice>
0245 <guimenu>Game</guimenu>
0246 <guisubmenu>Level Collection</guisubmenu>
0247 </menuchoice></term>
0248 <listitem>
0249 <para><action>A submenu to switch to a different set of levels.</action> &skladnik;
0250 comes with several level sets, and you can load more that you can find
0251 on the internet.</para>
0252 </listitem>
0253 </varlistentry>
0254 
0255 <varlistentry>
0256 <term><menuchoice>
0257 <shortcut><keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo></shortcut>
0258 <guimenu>Game</guimenu>
0259 <guimenuitem>Undo</guimenuitem>
0260 </menuchoice></term>
0261 <listitem>
0262 <para><action>Undo the last move.</action></para>
0263 </listitem>
0264 </varlistentry>
0265 
0266 <varlistentry>
0267 <term><menuchoice>
0268 <shortcut><keycombo action="simul">&Ctrl;&Shift;<keycap>Z</keycap></keycombo></shortcut>
0269 <guimenu>Game</guimenu>
0270 <guimenuitem>Redo</guimenuitem>
0271 </menuchoice></term>
0272 <listitem>
0273 <para><action>Redo the last move you undid with the menu item above.</action></para>
0274 </listitem>
0275 </varlistentry>
0276 
0277 <varlistentry>
0278 <term><menuchoice>
0279 <shortcut><keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo></shortcut>
0280 <guimenu>Game</guimenu>
0281 <guimenuitem>Quit</guimenuitem>
0282 </menuchoice></term>
0283 <listitem>
0284 <para><action>Exit</action> &skladnik;.</para>
0285 </listitem>
0286 </varlistentry>
0287 </variablelist>
0288 </sect1>
0289 
0290 <sect1 id="animation-menu">
0291 <title>The Animation Menu</title>
0292 
0293 <para>
0294 This menu offers menu items with check boxes that allow you to specify the speed to which the movement replay animations are shown at.
0295 </para>
0296 
0297 <variablelist>
0298 <varlistentry>
0299 <term><menuchoice>
0300 <guimenu>Animation</guimenu>
0301 <guisubmenu>Slow</guisubmenu>
0302 </menuchoice></term>
0303 <listitem>
0304 <para><action>Show replay animations at a slow pace.</action></para>
0305 </listitem>
0306 </varlistentry>
0307 
0308 <varlistentry>
0309 <term><menuchoice>
0310 <guimenu>Animation</guimenu>
0311 <guisubmenu>Medium</guisubmenu>
0312 </menuchoice></term>
0313 <listitem>
0314 <para>This is the default setting, and <action>shows replay animations at a slightly faster pace</action>.</para>
0315 </listitem>
0316 </varlistentry>
0317 
0318 <varlistentry>
0319 <term><menuchoice>
0320 <guimenu>Animation</guimenu>
0321 <guisubmenu>Fast</guisubmenu>
0322 </menuchoice></term>
0323 <listitem>
0324 <para><action>Show replay animations at the fastest pace.</action></para>
0325 </listitem>
0326 </varlistentry>
0327 
0328 <varlistentry>
0329 <term><menuchoice>
0330 <guimenu>Animation</guimenu>
0331 <guisubmenu>Off</guisubmenu>
0332 </menuchoice></term>
0333 <listitem>
0334 <para><action>Do not animate replay animations.</action></para>
0335 </listitem>
0336 </varlistentry>
0337 </variablelist>
0338 
0339 </sect1>
0340 
0341 
0342 <sect1 id="bookmarks">
0343 <title>The Bookmarks Menu</title>
0344 
0345 <variablelist>
0346 <varlistentry>
0347 <term><menuchoice>
0348 <guimenu>Bookmarks</guimenu>
0349 <guisubmenu>Set Bookmark</guisubmenu>
0350 </menuchoice></term>
0351 <listitem>
0352 <para>&skladnik; allows you to <action>set bookmarks with a level at a
0353 particular state.</action> You might use this to save yourself
0354 repeating the same initial steps in a level.</para>
0355 <para>You can have up to ten bookmarks at a time, and access them via the
0356 <keycombo action="simul">&Ctrl;<keycap><replaceable>X</replaceable></keycap></keycombo>
0357 shortcut, where <replaceable>X</replaceable> is any digit between 0 and 9.</para>
0358 </listitem>
0359 </varlistentry>
0360 
0361 <varlistentry>
0362 <term><menuchoice>
0363 <guimenu>Bookmarks</guimenu>
0364 <guisubmenu>Go to Bookmark</guisubmenu>
0365 </menuchoice></term>
0366 <listitem>
0367 <para><action>Jump to a state you have previously saved as a bookmark.</action></para>
0368 </listitem>
0369 </varlistentry>
0370 </variablelist>
0371 
0372 </sect1>
0373 
0374 <sect1 id="help-menu">
0375 <title>The Help Menu</title>
0376 
0377 <para>
0378 &skladnik; has the common &kde; <guimenu>Help</guimenu> menu item, for more information read the section about the <ulink url="help:/fundamentals/menus.html#menus-help">Help Menu</ulink> of the &kde; Fundamentals.
0379 </para>
0380 
0381 </sect1>
0382 </chapter>
0383 
0384 <chapter id="credits">
0385 <title>Credits and License</title>
0386 
0387 <para>
0388 &skladnik; is copyright &copy; 1998-2000 by &Anders.Widell;
0389 &Anders.Widell.mail;.<!-- TODO: For
0390 the latest info on &skladnik;, see the &skladnik; home page at
0391 <ulink url="http://hem.passagen.se/awl/ksokoban/">
0392 http://hem.passagen.se/awl/ksokoban/</ulink>-->
0393 </para>
0394 
0395 <para>
0396 The background graphics <quote>starfield</quote> was taken from the
0397 <ulink url="https://www.gimp.org/">Gimp</ulink>. All other graphics
0398 were created by &Anders.Widell; &Anders.Widell.mail; using
0399 the <ulink url="https://www.povray.org/">Povray</ulink> ray tracer.
0400 </para>
0401 
0402 <para>
0403 All the currently included sokoban levels were created by David W.
0404 Skinner <email>sasquatch@bentonrea.com</email>. See
0405 <ulink url="https://www.sokobanonline.com/play/web-archive/david-w-skinner">his sokoban page</ulink>.
0406 </para>
0407 
0408 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
0409 &underFDL;
0410 &underGPL;
0411 </chapter>
0412 
0413 &documentation.index;
0414 </book>
0415