]> Dogcows Code - chaz/yoink/blob - doc/yoink.6.in
datarootdir autotools fix
[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] [-v|--version] [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! Do all these things (apart from the last
38 one at the moment) in Yoink! You play the part of a flying alien heroine who
39 must defend her home on Earth from other airborne alien invaders. The game
40 draws inspiration from classic arcade games like Joust, Bombjack, Rampage, and
41 Defender--simple, fast-moving action.
42 .PP
43 .TP
44 .B -h, --help
45 display this help and exit
46 .TP
47 .B -v, --version
48 output version information and exit
49 .PP
50 To attack, you must dive on the enemy at high speed. If you're going too
51 slowly, you'll just drift harmlessly by. Diving from above gives different
52 results from swooping in and hitting them from the side. If you're too close to
53 attack, try to build up speed by running away and bouncing off a nearby
54 building!
55 .PP
56 By charging your special alien powers, you can throw fireballs. The orange bar
57 at the top of the screen represents your power level--at maximum, you can
58 destroy almost anything. Aiming can be tricky, but with a little practice it's
59 quite easy to launch them in the right direction. Try doing a little swoop or
60 circle in the air to line yourself up before releasing your fireball.
61 .PP
62 The heroine has limited energy, measured by the blue bar at the top of the
63 screen. When it runs out, it's game over! She can regain lost energy by
64 picking up bonuses dropped by enemies.
65 .PP
66 To complete the current attack wave, you must destroy all the enemies. Hunt
67 around, especially in the sky, if you can't find the last few.
68 .br
69 .SH OPTIONS
70 .PP
71 There are a plethora of options available for tweaking various aspects of the
72 game. All options can be set either from a configuration file or by passing
73 them as arguments. Some of the more common options can be set from within the
74 game.
75 .PP
76 A
77 .B yoink
78 configuration file ("yoinkrc") consists of key-value pairs organized in a
79 logical hierarchy. The format of the file is human-readable, so you can get in
80 there with your favorite text editor if you like to work under the hood.
81 .B yoink
82 looks for configuration files and loads them in this order, with the options in
83 prior configuration files taking precedence over the same options if they exist
84 in multiple configuration files:
85 .TP
86 1. $YOINK_CONFIGFILE
87 This is an optional environment variable.
88 .TP
89 2. $HOME/.yoinkrc
90 This is a specific user's configuration file.
91 .TP
92 3. /etc/yoinkrc
93 This is a system-wide configuration file.
94 .TP
95 4. @DATADIR@/yoinkrc
96 This is the base configuration file which should be considered read-only. Look
97 to this file as an example of the format used for configuration files.
98 .PP
99 Options that are passed as arguments take precedence over options loaded from
100 the configuration file(s). This mechanism is good for running the game with a
101 temporary setting which you do not intend to retain. Keep in mind that if you
102 edit and save options in-game, any options you have passed as arguments during
103 the invocation of the game will be saved to the $HOME/.yoinkrc configuration
104 file. You may have to go into that file and remove any options you didn't
105 intend to set. When passing options as arguments, you must use the fully
106 qualified name of the option if it exists in a subgroup. For example:
107 .PP
108 .TP
109 yoink video.fullscreen=true
110 Set the option video.fullscreen to true. This will run the game in full-screen
111 mode.
112 .TP
113 yoink video.maxfps=60
114 Set the option video.maxfps to 60. This will cap the display rate at 60Hz.
115 .PP
116 You can also set options with array values. Arrays can be passed on the
117 command line by surrounding all the parts with square brackets and separating
118 each part by a comma. For example:
119 .TP
120 yoink video.mode=[1024,768]
121 Set the option video.mode to an array with numbers 1024 and 768. The video size
122 will be 1024x768.
123 .PP
124 Here is a list of some of the options available:
125 .TP
126 .B engine.timestep
127 The amount of time in seconds between each update of the physics state. A value
128 of 0.01 or lower is ideal for accurate physics approximations. Values that are
129 much lower may introduce errors in the game.
130 .TP
131 .B input.grab
132 Takes a boolean (true or false). If true, the cursor pointer will be "stuck"
133 within the area of the window, and many key combinations which would otherwise
134 be handled by the window manager will instead be dropped. This is a low-level
135 option of limited usefulness.
136 .TP
137 .B video.colorbuffers
138 This takes an array of four number values which represent the number of bits to
139 use for red, green, blue, and the alpha channel. This is a low-level option of
140 limited usefulness. The default value is almost always preferable.
141 .TP
142 .B video.cursor
143 This option effects the visibility of the cursor while it is "hovering" over the
144 window. If the value is true, the cursor will be visible. Otherwise, the
145 cursor will be hidden.
146 .TP
147 .B video.doublebuffer
148 If true, double-buffering will be used to render animations with minimal
149 distortions. Otherwise, a single buffer will be used. The recommended value is
150 true.
151 .TP
152 .B video.fullscreen
153 If true, the window will capture the display and render the game in full screen
154 splendor. A value of false means the game will run in a window.
155 .TP
156 .B video.maxfps
157 The maximum number of frames to be drawn per second. A value of 50 is pretty
158 good. If your computer is pretty old, can get away with decreasing this value
159 and still have reasonably smooth animation. You can set this to a very high
160 number to effectively render as many frames as is possible, but the actual rate
161 could be limited by vertical display synchronization, depending on the X11
162 driver and settings used. You should not set this option higher than the point
163 where the vertical synchronization effectively limits the draw rate or else the
164 game may not be able to update the physics on schedule which could actually
165 significantly lower the quality of the animation.
166 .TP
167 .B video.mode
168 The resolution or size of the window. The value is an array with three number
169 elements representing the width, height, and bits per pixel that make up the
170 video mode.. A typical value is [800,600,32] for a size of 800x600 pixels with
171 millions of colors.
172 .TP
173 .B video.multisamplebuffers
174 The number of multisample buffers used.
175 .TP
176 .B video.multisamplesamples
177 The number of multisample samples used.
178 .TP
179 .B video.printfps
180 If true, the current number of frames being draw per second will be printed to
181 the console. This is usually off by default, but you can set this to true if
182 you're interested in the draw rate you're actually getting.
183 .TP
184 .B video.resizable
185 If true, the window will be resizable by the window manager. This option is
186 meaningless if the game is drawing to the full screen.
187 .TP
188 .B video.swapcontrol
189 If true, drawing will take place at a time which will minimize distortion caused
190 by the vertical refreshing of displays. The recommended value is true.
191 .br
192 .SH ENVIRONMENT
193 .PP
194 .B yoink
195 responds to some variables in the environment:
196 .TP
197 HOME
198 If set to a path of a valid directory (presumably a user's home directory),
199 .B yoink
200 will load options from the configuration file at $HOME/.yoinkrc, if it exists.
201 Saving options within the game will cause this file to be over-written with the
202 new options.
203 .TP
204 USER
205 .B yoink
206 uses this variable to guess the user's nickname, for a high score entry or
207 whatever.
208 .TP
209 YOINK_CONFIGFILE
210 If set to a path of a valid configuration file,
211 .B yoink
212 will load the options from that file, and those options will take precedence
213 over options loaded from other configuration files. Any in-game saving will
214 cause this file to be over-written by the new options rather than the file at
215 $HOME/.yoinkrc.
216 .TP
217 YOINK_DATADIR
218 If set to a path of a valid directory,
219 .B yoink
220 will look in this directory first when it is loading game assets. Set this
221 variable if you move the game's assets to another directory or want to load your
222 own assets.
223 .br
224 .SH BUGS
225 .PP
226 The pixelated graphics are actually intentional. It adds to the charm of the
227 game, don't you think?
228 .PP
229 Send bug reports and patches to:
230 .br
231 Charles McGarvey <onefriedrice@brokenzipper.com>
232 .SH AUTHOR
233 .PP
234 Neil Carter was the original creator of Yoink, his winning entry in the
235 uDevGames 2003 Mac game development contest. Charles McGarvey rewrote the game
236 with SDL and is the current maintainer.
This page took 0.046028 seconds and 4 git commands to generate.