<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
 <!ENTITY blinken "<application>blinKen</application>">
 <!ENTITY kappname "&blinken;">
 <!ENTITY package "kdeedu">
 <!ENTITY % addindex "IGNORE">
 <!ENTITY % English "INCLUDE"><!-- change language only here -->
]>

<book lang="&language;">

<bookinfo>
<title>The &blinken; Handbook</title>

<authorgroup>
<author>
<firstname>Danny</firstname>
<othername></othername>
<surname>Allen</surname>
<affiliation>
<address><email>danny@dannyallen.co.uk</email></address>
</affiliation>
</author>
</authorgroup>

<copyright>
<year>2005</year>
<holder>Danny Allen</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<date>2005-08-20</date>
<releaseinfo>1.0</releaseinfo>

<abstract>
<para>
&blinken; brings a retro electronic memory game from the 1970's to &kde;.
</para>
</abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>kdeedu</keyword>
<keyword>blinKen</keyword>
<keyword>game</keyword>
<keyword>child</keyword>
<keyword>electronic</keyword>
<keyword>retro</keyword>
</keywordset>

</bookinfo>


<chapter id="introduction">
<title>Introduction</title>

<para>
&blinken; is based on an electronic game released in 1978, which challenges players to remember sequences of increasing length. On the face of the device, there are 4 different color buttons, each one with their own distinctive sound. These buttons light up randomly, creating the sequence that the player must then recall. If the player is successful in remembering the sequence of lights in the correct order, they advance to the next stage, where an identical sequence with one extra step is presented. If they are incorrect, the game is lost, and the player must start again from the beginning.

The goal is to get a highscore - each step in the sequence is worth one point, so correct entry of a sequence of 8 lights is worth 8 points on the highscore table.
</para>

</chapter>


<chapter id="using-blinken">
<title>Using &blinken;</title>

<para>
Here is the screen that is presented on startup of &blinken;, showing the general interface to the application. Most of the screen is taken up by the <interface>device</interface>, with the <interface>4 colored buttons</interface>, with the device controls (<interface>score counter</interface>, <guibutton>Start</guibutton> button, &etc;) in the center of the screen. The current status of the application is displayed on the <interface>piece of paper</interface> under the device. In the corners of the application, there are 3 buttons:
</para>

<screenshot>
<screeninfo>Here is the screen that is presented on startup of &blinken;</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="blinken1.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Here is the screen that is presented on startup of &blinken;</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
The <guiicon>Highscores</guiicon> button <action>opens a dialog that displays the <guilabel>Highscores table</guilabel></action> for each of the 3 difficulty levels (the <guilabel>Highscores</guilabel> table can also be accessed by <action>clicking on the <interface>score counter</interface>)</action>:
</para>

<screenshot>
<screeninfo><guiicon>Highscores</guiicon> button</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="blinken_highscoresbutton.png" format="PNG"/>
</imageobject>
<textobject>
<phrase><guiicon>Highscores</guiicon> button</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
The <guiicon>Quit</guiicon> button <action>closes the application</action>:
</para>

<screenshot>
<screeninfo><guiicon>Quit</guiicon> button</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="blinken_quitbutton.png" format="PNG"/>
</imageobject>
<textobject>
<phrase><guiicon>Quit</guiicon> button</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
The <guiicon>Help</guiicon> button is special, in that it <action>reveals 3 sub-buttons</action>. These buttons are shown when the <guiicon>Help</guiicon> button is <action>hovered over</action>, and provide access to the <guilabel>&blinken; handbook</guilabel> (this document), and the <guilabel>About &blinken;</guilabel> and <guilabel>About &kde;</guilabel> dialogs:
</para>

<screenshot>
<screeninfo><guiicon>Help</guiicon> button</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="blinken_helpbutton.png" format="PNG"/>
</imageobject>
<textobject>
<phrase><guiicon>Help</guiicon> button</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
To become familiar with the workings of the game, you can interact with the <interface>colored buttons</interface> whilst on the main screen. The buttons will illuminate and produce a tone upon being pressed.
</para>

<note><para>You need to have aRts support in kdelibs to hear the sounds.</para></note>
<sect1 id="starting-game">
<title>Starting a Game</title>

<para>
Once you are familiar with the workings of the application, a game can be started by pressing the <guibutton>Start</guibutton> button in the center of the screen. This <quote>powers on</quote> the device, as shown by the illuminated <interface>score counter</interface>. You can then <action>choose the difficulty level</action> that you want to attempt:
 </para>

<screenshot>
<screeninfo>Select difficulty level</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="blinken2.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Select difficulty level</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
There are 3 levels in &blinken;:
</para>

<itemizedlist>
<listitem>
<para>
Level 1 is the easiest level, as it provides the longest time break between each sequence playback.
</para>
</listitem>
<listitem>
<para>
Level 2 is the intermediate level. It is identical to the previous level, but has a smaller time break between each sequence playback.
</para>
</listitem>
<listitem>
<para>
Level ? is the most difficult level of &blinken;. It takes the timings from Level 2, but each sequence is totally random, rather than following on from the previous sequence, as in the standard game type.
</para>
</listitem>
</itemizedlist>

</sect1>

<sect1 id="enter-highscore">
<title>Entering a New Highscore</title>

<para>
If you are lucky enough to get a highscore, it will be entered into the <guilabel>Highscores</guilabel> table. A dialog will ask for a name to associate with your score in the table:
</para>

<screenshot>
<screeninfo>Highscore nickname prompt dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="blinken_nickprompt.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Highscore nickname prompt dialog</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
Only 5 scores are kept for each level, so try not to be disappointed if you don't make it!
</para>

</sect1>


<sect1 id="playing-tips">
<title>Playing Tips</title>
<para>
&blinken; is the ultimate memory game, though you need not possess the ultimate memory to be successful. These tips will help you in your pursuit of the best score:
</para>

<itemizedlist>
<listitem>
<para>
If you have PC speakers, turn them on with the sound at a good level so that you can hear the tones alongside seeing the flashing lights.
</para>
</listitem>
<listitem>
<para>
Experiment with both the mouse and <link
linkend="accessibility">keyboard</link> interaction methods, to see which one suites your memory best.
</para>
</listitem>
<listitem>
<para>
Try remembering the sequence as a list of colors.
</para>
</listitem>
<listitem>
<para>
Try remembering the sequence as positions on the screen.
</para>
</listitem>
</itemizedlist>

</sect1>
</chapter>


<chapter id="accessibility">
<title>Accessibility Options</title>

<para>
To allow &blinken; to be more easily enjoyed by certain users, there are several accessibility options built into &blinken;.
</para>
<para>
To view and modify the accessibility options of &blinken;, press the <keycap>&Ctrl;</keycap> key (whilst a game is not in progress):
</para>

<screenshot>
<screeninfo>&blinken; access keys</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="blinken_accesskeys.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>&blinken; access keys</phrase>
</textobject>
</mediaobject>
</screenshot>

<para>
To return to the game screen, press the <keycap>&Ctrl;</keycap> key again.
</para>

<para>
Alongside use of the mouse, &blinken; also allows the user to operate the game using the keyboard.
</para>

<para>
The keys are <keycap>1</keycap>, <keycap>2</keycap>, <keycap>3</keycap>, <keycap>4</keycap> by default.
</para>

<para>
To change the mapping of any button, click it using the mouse. It will then be highlighted, waiting for input. Press the desired key on the keyboard to change the currently assigned key.
</para>

<para>
There are other options available in the middle of the window: <interface>sounds</interface> and <interface>font</interface>.
</para>

<itemizedlist>
<listitem>
<para>
By unchecking the <interface>sounds</interface> checkbox, the &blinken; sound effects will be suppressed.
</para>
</listitem>
<listitem>
<para>
By unchecking the <interface>font</interface> checkbox, a standard font will be used for status text instead of the default handwriting font.
</para>
</listitem>
</itemizedlist>

</chapter>


<chapter id="credits">
<title>Credits and License</title>

<para>
&blinken;
</para>
<para>
Program copyright 2005 Albert Astals Cid <email>tsdgeos@terra.es</email> and Danny Allen <email>danny@dannyallen.co.uk</email>
</para>
<para>
Contributors:
</para>
<itemizedlist>
<listitem>
<para>"Steve" font: Steve Jordi
<email>steve@sjordi.com</email>
</para>
</listitem>
</itemizedlist>

<para>
Documentation copyright 2005 Danny Allen <email>danny@dannyallen.co.uk</email>
</para>

&underFDL;
&underGPL;

</chapter>


<appendix id="installation">
<title>Installation</title>

<sect1 id="getting-blinken">
<title>How to obtain &blinken;</title>

&install.intro.documentation;

</sect1>

<sect1 id="compilation">
<title>Compilation and installation</title>

&install.compile.documentation;

</sect1>
</appendix>

&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:

// vim:ts=2:sw=2:tw=78:noet:noai
-->
