]> Dogcows Code - chaz/yoink/blob - doc/yoink.6.in
foundational changes; tying up some loose ends
[chaz/yoink] / doc / yoink.6.in
1 .\"
2 .\" Copyright (c) 2009, Charles McGarvey
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions are met:
7 .\"
8 .\" * Redistributions of source code must retain the above copyright notice,
9 .\" this list of conditions and the following disclaimer.
10 .\" * Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
13 .\"
14 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
15 .\" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17 .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
18 .\" CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
19 .\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
20 .\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
21 .\" PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
22 .\" LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
23 .\" NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
24 .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 .\"
26 .hy
27 .TH YOINK 6 "July 24, 2009"
28 .SH NAME
29 Yoink \- An alien-smashing action game.
30 .SH SYNOPSIS
31 .B yoink [-h|--help] [-i|--info] [OPTION=VALUE]...
32 .br
33 .SH DESCRIPTION
34 .PP
35 Leap tall buildings! Crush stupid robots beneath your feet! Wield your
36 extra-terrestrial powers in the defence of humanity, and send those alien
37 invaders back from whence they came! This is Yoink.
38 .PP
39 You play the part of a flying alien heroine who must defend her home on Earth
40 from other airborne alien invaders. The game draws inspiration from classic
41 arcade games like Joust, Bombjack, Rampage, and Defender--simple, fast-moving
42 action. Basic arguments include:
43 .TP
44 .B -h, --help
45 Display basic usage information, and exit immediately.
46 .TP
47 .B -i, --info
48 Display build and environment details, and exit immediately.
49 .br
50 .SH TIPS
51 .PP
52 To attack, you must dive on the enemy at high speed. If you're going too
53 slowly, you'll just drift harmlessly by. Diving from above gives different
54 results from swooping in and hitting them from the side. If you're too close to
55 attack, try to build up speed by running away and bouncing off a nearby
56 building!
57 .PP
58 By charging your special alien powers, you can throw fireballs. The orange bar
59 at the top of the screen represents your power level--at maximum, you can
60 destroy almost anything. Aiming can be tricky, but with a little practice it's
61 quite easy to launch them in the right direction. Try doing a little swoop or
62 circle in the air to line yourself up before releasing your fireball.
63 .PP
64 The heroine has limited energy, measured by the blue bar at the top of the
65 screen. When it runs out, it's game over! She can regain lost energy by
66 picking up bonuses dropped by enemies.
67 .PP
68 To complete the current attack wave, you must destroy all the enemies. Hunt
69 around, especially in the sky, if you can't find the last few.
70 .br
71 .SH OPTIONS
72 .PP
73 Options are set from config files and command-line arguments. A
74 .B yoink
75 configfile ("yoinkrc") consists of key-value pairs. They are loaded in this
76 order:
77 .TP
78 1. @DATADIR@/yoinkrc
79 This is the base config file which should be considered read-only. Look to this
80 file as an example of the format used for config files.
81 .TP
82 2. /etc/yoinkrc
83 This is the system-wide config file. Not available on Windows.
84 .TP
85 3. $HOME/.yoinkrc
86 This is your own personal config file.
87 .TP
88 4. $YOINKRC
89 This is an optional environment variable you can set to the path of a config
90 file at a non-standard location.
91 .PP
92 As usual, options that are passed as arguments take precedence over options
93 loaded from the config file(s). Here is a list of some of the options available
94 at your disposal:
95 .TP
96 .B detail
97 The level of detail. Possible values are 1, 2, or 3 where 1 means the least
98 amount of detail and 3 means the most. This effects the number of objects drawn
99 to the screen. A high level of detail will draw everything but could cause poor
100 frame rates if the graphics driver can't keep up with the load. Lower levels
101 will omit certain details which aren't crucial for playing the game with the
102 possible benefit of higher frame rates. See the Notes for more ways to increase
103 the game's performance. The default value is 3.
104 .TP
105 .B doublebuffer
106 If true, double-buffering will be used to help minimize distortion and artifacts
107 caused by the animation of the game. Otherwise, a single buffer will be used.
108 The default value is true.
109 .TP
110 .B fullscreen
111 If true, the window will capture the display and render the game in full screen
112 splendor. A value of false means the game will run in a window. The default
113 value is false.
114 .TP
115 .B maxfps
116 The maximum number of frames to be drawn per second. If your computer is really
117 old, you can get away with decreasing this value and still have reasonably
118 smooth animation. You can set this to a very high number to effectively render
119 as many frames as is possible, but the actual rate could be limited by vertical
120 display synchronization, depending on the X11 driver and settings used. You
121 should not set this option higher than the point where the vertical
122 synchronization effectively limits the draw rate or else the game may not be
123 able to update the physics on schedule which could actually significantly lower
124 the quality of the animation. The default value is 40.
125 .TP
126 .B printfps
127 If true, the current number of frames being drawn per second will be printed to
128 the console. The default value is false.
129 .TP
130 .B resizable
131 If true, the window will be resizable by the window manager. This option is
132 meaningless if the game is drawing to the full screen. The default option is
133 true.
134 .TP
135 .B showcursor
136 This option effects the visibility of the cursor while it is "hovering" over the
137 display. If the value is true, the cursor will be visible. Otherwise, the
138 cursor will be hidden. The default value is true.
139 .TP
140 .B timestep
141 The number of times per second the simulation state will be updated. A value
142 of 100 or higher is ideal for a better physical simulation. Values that are
143 much lower cause the CPU to do less work, but accuracy will suffer. Errors
144 could be introduced in the game with extremely low values. The default value
145 is 80.
146 .TP
147 .B videomode
148 The resolution or size of the window. The value is an array with three number
149 elements representing the width, height, and bits per pixel that make up the
150 video mode. The third number is optional. The default value is {800,600}. You
151 may need to escape the curly braces so the shell doesn't parse them.
152 .PP
153 This is only a list of the more useful options. You'll have to use the source
154 to find out about the more esoteric options, but you probably won't need to.
155 .br
156 .SH EXAMPLES
157 .PP
158 Here are some examples of typical usage:
159 .PP
160 .TP
161 yoink fullscreen=true
162 Run Yoink in full-screen mode.
163 .TP
164 yoink maxfps=60
165 Cap the allowable frame-rate to 60Hz.
166 .TP
167 yoink videomode=\\{1024,768\\}
168 Run yoink with a resultion of 1024x768. Notice the escapes for the curly
169 braces so the shell doesn't parse them.
170 .SH ENVIRONMENT
171 .PP
172 .B yoink
173 responds to some variables in the environment:
174 .TP
175 HOME
176 If set to a path of a valid directory (presumably a user's home directory),
177 .B yoink
178 will look for a file at
179 .I $HOME/.yoinkrc
180 and load it as a config file.
181 .TP
182 USER
183 .B yoink
184 uses this variable to guess the user's nickname, for a high score entry or
185 whatever.
186 .TP
187 YOINK_DATADIR
188 If set to a path of a valid directory,
189 .B yoink
190 will look in this directory first when it is loading game assets. Set this
191 variable if you move the game's assets to another directory or perhaps want to
192 load your own custom assets rather than the defaults.
193 .TP
194 YOINKRC
195 If set to a path of a valid config file,
196 .B yoink
197 will load the options from that file, and those options will take precedence
198 over options loaded from other config files.
199 .br
200 .SH NOTES
201 .PP
202 Yoink may or may not be playable with acceptable frame rates without a hardware
203 accelerated OpenGL driver installed and working, depending on how fast your CPU
204 is. Yoink is really not all that heavy on graphics, but it doesn't take much to
205 overload a software implementation. If you're stuck without hardware
206 acceleration, there are some things you can do to get better frame rates, in
207 order of effectiveness:
208 .TP
209 1. Decrease the resolution.
210 Use the
211 .I videomode
212 option or just resize the window if the
213 .I fullscreen
214 option is false and the
215 .I resizable
216 option is true. This speeds up software renderers considerably.
217 .TP
218 2. Decrease the timestep.
219 Use the
220 .I timestep
221 option. You can set the timestep to be as low as the your
222 .I maxfps
223 option, but it is not recommended to set this lower than the target frame rate.
224 Remember the trade-off here is decreased simulation accuracy. Try to set your
225 maxfps to 30Hz and your timestep to 60Hz:
226 .PP
227 yoink maxfps=30 timestep=60
228 .TP
229 3. Decrease the level of rendering detail.
230 Use the
231 .I detail
232 option. The game world may look sparse or incomplete, but that may be better
233 than choppy animation.
234 .br
235 .SH BUGS
236 .PP
237 Although the pixelated graphics are intentional, there are some unintended
238 artifacts which are more obvious with certain video drivers.
239 .PP
240 The robots are not very bright.
241 .PP
242 Send bug reports, patches, and love notes to:
243 .br
244 Charles McGarvey <@PACKAGE_BUGREPORT@>
245 .SH AUTHOR
246 .PP
247 Neil Carter was the original creator of Yoink, his winning entry in the
248 uDevGames 2003 Mac game development contest. Charles McGarvey restored the game
249 and is the current maintainer.
This page took 0.048561 seconds and 5 git commands to generate.