Use plain int (instead of char) for field selection_size in struct simplelist_info
[kugel-rb.git] / manual / plugins / wormlet.tex
blob19c70bd282b4a733b30fe82a280bfb010a2974c9
1 \subsection{Wormlet}
2 \screenshot{plugins/images/ss-wormlet}{Wormlet game}{img:wormlet}
3 Wormlet is a \opt{RECORDER_PAD}{multi{}-user }multi{}-worm game on a multi{}-threaded
4 multi{}-functional Rockbox console. You navigate a hungry little worm.
5 Help your worm to find food and to avoid poisoned argh{}-tiles. The
6 goal is to turn your tiny worm into a big worm for as long as possible.
8 \opt{RECORDER_PAD}{
9 For 2{}-player games a remote control is not necessary but recommended.
10 If you try to hold the \dap\ in the four hands of two players
11 you'll find out why. Games with three players are only
12 possible using a remote control.\\}
15 {\bfseries
16 Menu controls:}
18 \begin{table}
19 \begin{btnmap}{}{}
20 \opt{ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD%
21 ,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD%
22 ,IPOD_3G_PAD,IPOD_4G_PAD,IRIVER_H10_PAD}
23 {\ButtonLeft\ / \ButtonRight}
24 \opt{COWON_D2_PAD}{\TouchMidLeft{} / \TouchMidRight}
25 \opt{HAVEREMOTEKEYMAP}{& }
26 & Controls number of worms in the game\\
27 \opt{RECORDER_PAD}{
28 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD}
29 {\ButtonUp\ / \ButtonDown}
30 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu\ / \ButtonPlay}
31 & Selects number of players\\
32 \ButtonFOne & Selects game mode.\\}
33 \end{btnmap}
34 \end{table}
36 %The following table is only for the recorder version of the game, since the
37 %other versions do not support either multi player or different control modes.
38 %It is however prepared for the other targets should they ever support these
39 %features. Also some other parts of the text is "opted" out for these targets.
41 {\bfseries
42 Game controls:}
44 \opt{RECORDER_PAD}{
45 \renewcommand{\arraystretch}{1.8}
46 \begin{rbtabular}{\textwidth}{c X p{3cm} p{3cm} p{3cm}}%
47 {\textbf{Players} & \textbf{Modes} & \textbf{Player 1} & \textbf{Player 2}
48 & \textbf{Player 3}}{}{}
50 0 & Out of control & \multicolumn{3}{p{9cm}}{With no player taking part in the
51 game all worms are out of control and steered by artificial stupidity.}\\
53 \multirow{2}{*}{1} & 2 key control & on \dap\ \ButtonLeft: turn left
54 \ButtonRight: turn right & {}- & {}-\\
55 & 4 key control & on \dap\ \ButtonLeft: turn left
56 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD}
57 {\ButtonUp}\opt{IPOD_4G_PAD}{\ButtonMenu}: turn up
58 \ButtonRight: turn right
59 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD}
60 {\ButtonDown}\opt{IPOD_4G_PAD}{\ButtonPlay}: turn down & {}- & {}- \\
62 \multirow{2}{*}{2} & Remote control & on \dap\ \ButtonLeft: turn left
63 \ButtonRight: turn right & on remote control VOL DOWN:
64 turn left VOL UP: turn right & {}- \\
65 & No remote control & on \dap\ \ButtonLeft: turn left
66 \ButtonRight: turn right & on \dap\ \ButtonFTwo: turn
67 left \ButtonFThree: turn right & {}- \\
68 3 & Remote control & on \dap\ \ButtonLeft: turn left \ButtonRight: turn right
69 & on remote control VOL DOWN: turn left VOL UP: turn
70 right & on \dap\ \ButtonFTwo: turn left \ButtonFThree:
71 turn right \\
72 \end{rbtabular}
73 \renewcommand{\arraystretch}{1.0}
76 \nopt{RECORDER_PAD}{
77 \begin{table}
78 \begin{btnmap}{}{}
79 \opt{ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
80 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD%
81 ,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_3G_PAD,IPOD_4G_PAD,IRIVER_H10_PAD}
82 {\ButtonLeft}
83 \opt{COWON_D2_PAD}{\TouchMidLeft}
84 \opt{HAVEREMOTEKEYMAP}{& }
85 & Turn left\\
86 \opt{ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
87 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD%
88 ,GIGABEAT_S_PAD,MROBE100_PAD,IPOD_3G_PAD,IPOD_4G_PAD,IRIVER_H10_PAD}
89 {\ButtonRight}
90 \opt{COWON_D2_PAD}{\TouchMidRight}
91 \opt{HAVEREMOTEKEYMAP}{& }
92 & Turn right\\
93 \opt{ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
94 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD%
95 ,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonUp}
96 \opt{IPOD_3G_PAD,IPOD_4G_PAD}{\ButtonMenu}
97 \opt{IRIVER_H10_PAD}{\ButtonScrollUp}
98 \opt{COWON_D2_PAD}{\TouchTopMiddle}
99 \opt{HAVEREMOTEKEYMAP}{& }
100 & Turn Up\\
101 \opt{ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
102 ,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD,GIGABEAT_PAD%
103 ,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonDown}
104 \opt{IPOD_3G_PAD,IPOD_4G_PAD}{\ButtonPlay}
105 \opt{IRIVER_H10_PAD}{\ButtonScrollDown}
106 \opt{COWON_D2_PAD}{\TouchBottomMiddle}
107 \opt{HAVEREMOTEKEYMAP}{& }
108 & Turn Down\\
109 \end{btnmap}
110 \end{table}
113 \subsubsection{The game}
114 Use the control keys of your worm to navigate around obstacles and find
115 food. Worms do not stop moving except when dead. Dead worms are no fun.
116 Be careful as your worm will try to eat anything that you steer it
117 across. It won't distinguish whether it is edible or not.
119 \begin{description}
120 \item[Food.]
121 The small square hollow pieces are food. Move the worm over a food tile
122 to eat it. After eating the worm grows. Each time a piece of food has
123 been eaten a new piece of food will pop up somewhere. Unfortunately for
124 each new piece of food that appears two new ``argh'' pieces will
125 appear, too.
126 \item[Argh.]
127 An ``argh'' is a black square poisoned piece {}- slightly bigger than
128 food {}- that makes a worm say ``Argh!'' when
129 run into. A worm that eats an ``argh'' is dead. Thus eating an
130 ``argh'' must be avoided under any circumstances. ``Arghs'' have the
131 annoying tendency to accumulate.
132 \item[Worms.]
133 Thou shall not eat worms. Neither other worms nor thyself. Eating worms
134 is blasphemous cannibalism, not healthy and causes instant
135 death. And it doesn't help anyway: the other worm
136 isn't hurt by the bite. It will go on creeping happily
137 and eat all the food you left on the table.
138 \item[Walls.]
139 Don't crash into the walls. Walls are not edible.
140 Crashing a worm against a wall causes it a headache it
141 doesn't survive.
142 \item[Game over.]
143 The game is over when all worms are dead. The longest worm wins the
144 game.
145 \item [Pause the game.]
146 Press
147 \opt{RECORDER_PAD,IAUDIO_X5_PAD}{\ButtonPlay}%
148 \opt{ONDIO_PAD}{\ButtonMenu}%
149 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD%
150 ,GIGABEAT_PAD,GIGABEAT_S_PAD}{\ButtonSelect}
151 \opt{COWON_D2_PAD}{\TouchCenter}
152 to pause the game. Press it again to resume the game.
154 \item[Stop the game.]
155 There are two ways to stop a running game.
157 \begin{itemize}
158 \item If you want to quit Wormlet entirely simply hit
159 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}%
160 \opt{IPOD_4G_PAD}{\ButtonMenu+\ButtonSelect}%
161 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD}{\ButtonPower}%
162 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
163 \opt{GIGABEAT_S_PAD}{\ButtonBack}.
164 The game will stop immediately and you will return to the game menu.
165 \item If you want to stop the game and still see the screen hit
166 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}%
167 \opt{ONDIO_PAD}{\ButtonOff+\ButtonMenu}%
168 \opt{IPOD_4G_PAD}{\ButtonSelect+\ButtonPlay}%
169 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD}{\ButtonRec}%
170 \opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonUp}%
171 \opt{GIGABEAT_PAD}{\ButtonA}%
172 \opt{GIGABEAT_S_PAD}{\ButtonMenu}.
173 This freezes the game. If you hit
174 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}%
175 \opt{ONDIO_PAD}{\ButtonOff+\ButtonMenu}%
176 \opt{IPOD_4G_PAD}{\ButtonSelect+\ButtonPlay}%
177 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD}{\ButtonRec}%
178 \opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonUp}%
179 \opt{GIGABEAT_PAD}{\ButtonA}%
180 \opt{GIGABEAT_S_PAD}{\ButtonMenu}
181 button again a new game starts with the same configuration. To return to the
182 games menu you can hit
183 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}%
184 \opt{IPOD_4G_PAD}{\ButtonMenu+\ButtonSelect}%
185 \opt{IAUDIO_X5_PAD,SANSA_E200_PAD,GIGABEAT_PAD}{\ButtonPower}%
186 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
187 \opt{GIGABEAT_S_PAD}{\ButtonBack}. A stopped game can not be resumed.
188 \end{itemize}
189 \end{description}
191 \subsubsection{The scoreboard}
192 On the right side of the game field is the score board. For each worm it
193 displays its status and its length. The top most entry displays the
194 state of worm 1, the second worm 2 and the third worm 3. When a worm
195 dies its entry on the score board turns black.
197 \begin{description}
198 \item[Len:]
199 Here the current length of the worm is displayed. When a worm is eating
200 food it grows by one pixel for each step it moves.
202 \item[Hungry:]
203 That's the normal state of a worm. Worms are always
204 hungry and want to eat. It is good to have a hungry
205 worm since it means that your worm is alive. But it is
206 better to get your worm growing.
208 \item[Growing:]
209 When a worm has eaten a piece of food it starts growing. For each step
210 it moves over food it can grow by one pixel. One piece of food lasts
211 for 7 steps. After your worm has moved 7 steps the food is used up. If
212 another piece of food is eaten while growing it will increase the size
213 of the worm for another 7 steps.
215 \item[Crashed:]
216 This indicates that a worm has crashed against a wall.
218 \item[Argh:]
219 If the score board entry displays ``Argh!'' it
220 means the worm is dead because it tried to eat an ``argh''. Until we
221 can make the worm say ``Argh!'' it is your job to say ``Argh!'' aloud.
223 \item[Wormed:]
224 The worm tried to eat another worm or even itself.
225 That's why it is dead now. Making traps for other players with a worm
226 is a good way to get them out of the game.
227 \end{description}
229 \subsubsection{Hints}
231 \begin{itemize}
233 \item Initially you will be busy with controlling your worm. Try to
234 avoid other worms and crawl far away from them. Wait until they curl up
235 themselves and collect the food afterwards. Don't worry if the other
236 worms grow longer than yours {}- you can catch up after they've died.
238 \item When you are more experienced watch the tactics of other worms.
239 Those worms controlled by artificial stupidity head straight for the
240 nearest piece of food. Let the other worm have its next piece of food
241 and head for the food it would probably want next. Try to put yourself
242 between the opponent and that food. From now on you can 'control' the
243 other worm by blocking it. You could trap it by making a 1 pixel wide
244 U{}-turn. You also could move from food to food and make sure you keep
245 between your opponent and the food. So you can always reach it before
246 your opponent.
248 \opt{RECORDER_PAD}{
249 \item While playing the game the \dap\ can still play music. For
250 single player game use any music you like. For berserk games with 2 players use
251 hard rock and for 3 player games use heavy metal or X{}-Phobie
252 (\url{http://www.x-phobie.de/}).
253 Play fair and don't kick your opponent in the toe or
254 poke him in the eye. That would be bad manners.
256 \end{itemize}