]> Dogcows Code - chaz/yoink/blobdiff - doc/yoink.6.in
removed alut dependency
[chaz/yoink] / doc / yoink.6.in
index 2432bd5de9d39abdcdaf847bd69e7759b89e2d6c..ec41deebeb4913b918a558727cdd2e27220f4910 100644 (file)
@@ -28,7 +28,7 @@
 .SH NAME
 Yoink \- An alien-smashing action game.
 .SH SYNOPSIS
-.B yoink [-h|--help] [OPTION=VALUE]...
+.B yoink [-h|--help] [-i|--info] [OPTION=VALUE]...
 .br
 .SH DESCRIPTION
 .PP
@@ -42,7 +42,10 @@ arcade games like Joust, Bombjack, Rampage, and Defender--simple, fast-moving
 action.  Basic arguments include:
 .TP
 .B -h, --help
-Display this help and exit.
+Display basic usage information, and exit immediately.
+.TP
+.B -i, --info
+Display build and environment details, and exit immediately.
 .br
 .SH TIPS
 .PP
@@ -67,118 +70,103 @@ around, especially in the sky, if you can't find the last few.
 .br
 .SH OPTIONS
 .PP
-There are a plethora of options available for tweaking various aspects of the
-game.  All options can be set either from a configuration file or by passing
-them as arguments.
-.PP
-A
-.B yoink
-configuration file ("yoinkrc") consists of key-value pairs.  The format is not
-unlike that of other configuration files you are already familiar with.  The
-syntax used is lua.
+Options are set from config files and command-line arguments.  A
 .B yoink
-looks for configuration files and loads them in this order, the options from
-each subsequent configuration files taking precedence over the same options from
-previous files.
+configfile ("yoinkrc") consists of key-value pairs.  They are loaded in this
+order:
 .TP
 1. @DATADIR@/yoinkrc
-This is the base configuration file which should be considered read-only.  Look
-to this file as an example of the format used for configuration files.
+This is the base config file which should be considered read-only.  Look to this
+file as an example of the format used for config files.
 .TP
 2. /etc/yoinkrc
-This is the system-wide configuration file.  Not available on Windows.
+This is the system-wide config file.  Not available on Windows.
 .TP
 3. $HOME/.yoinkrc
-This is your own personal configuration file.
+This is your own personal config file.
 .TP
 4. $YOINKRC
-This is an optional environment variable you can set to point to a configuration
-file.
-.PP
-Options that are passed as arguments take precedence over options loaded from
-the configuration file(s).  This mechanism is good for running the game with a
-temporary setting which you do not intend to retain.  Examples:
+This is an optional environment variable you can set to the path of a config
+file at a non-standard location.
 .PP
-.TP
-yoink fullscreen=true
-Run Yoink with the option
-.I fullscreen
-as true.  This will run the game in full-screen mode.
-.TP
-yoink maxfps=60
-Run Yoink with the option
-.I maxfps
-as 60.  This will cap the display rate at 60Hz.
-.PP
-You can also set options with array values.  Arrays can be passed on the command
-line by surrounding all the parts with curly brackets and separating each part
-by a comma.  You may also have to quote the brackets so your shell doesn't parse
-them.  For example:
-.TP
-yoink videomode=\\{1024,768\\}
-Run Yoink with the top
-.I videomode
-as the numbers 1024 and 768.  The video size will be 1024x768.
-.PP
-Here is a list of some of the options available:
+As usual, options that are passed as arguments take precedence over options
+loaded from the config file(s).  Here is a list of some of the options available
+at your disposal:
 .TP
 .B detail
-The level of detail.  Possible values are high, medium, and low.  This effects
-the number of objects drawn to the screen.  A high level of detail will draw
-everything but could cause poor frame rates if the graphics driver can't keep up
-with the load.  Lower levels will omit certain details which aren't crucial for
-playing the game with the benefit of higher frame rates.  See the Notes for more
-ways to get good performance.
+The level of detail.  Possible values are 1, 2, or 3 where 1 means the least
+amount of detail and 3 means the most.  This effects the number of objects drawn
+to the screen.  A high level of detail will draw everything but could cause poor
+frame rates if the graphics driver can't keep up with the load.  Lower levels
+will omit certain details which aren't crucial for playing the game with the
+possible benefit of higher frame rates.  See the Notes for more ways to increase
+the game's performance.  The default value is 3.
 .TP
 .B doublebuffer
-If true, double-buffering will be used to render animations with minimal
-distortions.  Otherwise, a single buffer will be used.  The recommended value is
-true.
+If true, double-buffering will be used to help minimize distortion and artifacts
+caused by the animation of the game.  Otherwise, a single buffer will be used.
+The default value is true.
 .TP
 .B fullscreen
 If true, the window will capture the display and render the game in full screen
-splendor.  A value of false means the game will run in a window.
+splendor.  A value of false means the game will run in a window.  The default
+value is false.
 .TP
 .B maxfps
-The maximum number of frames to be drawn per second.  A value of 50 is pretty
-good.  If your computer is pretty old, can get away with decreasing this value
-and still have reasonably smooth animation.  You can set this to a very high
-number to effectively render as many frames as is possible, but the actual rate
-could be limited by vertical display synchronization, depending on the X11
-driver and settings used.  You should not set this option higher than the point
-where the vertical synchronization effectively limits the draw rate or else the
-game may not be able to update the physics on schedule which could actually
-significantly lower the quality of the animation.
+The maximum number of frames to be drawn per second.  If your computer is really
+old, you can get away with decreasing this value and still have reasonably
+smooth animation.  You can set this to a very high number to effectively render
+as many frames as is possible, but the actual rate could be limited by vertical
+display synchronization, depending on the X11 driver and settings used.  You
+should not set this option higher than the point where the vertical
+synchronization effectively limits the draw rate or else the game may not be
+able to update the physics on schedule which could actually significantly lower
+the quality of the animation.  The default value is 40.
 .TP
 .B printfps
-If true, the current number of frames being draw per second will be printed to
-the console.  This is usually off by default, but you can set this to true if
-you're interested in the draw rate you're actually getting.
+If true, the current number of frames being drawn per second will be printed to
+the console.  The default value is false.
 .TP
 .B resizable
 If true, the window will be resizable by the window manager.  This option is
-meaningless if the game is drawing to the full screen.
+meaningless if the game is drawing to the full screen.  The default option is
+true.
 .TP
 .B showcursor
 This option effects the visibility of the cursor while it is "hovering" over the
-window.  If the value is true, the cursor will be visible.  Otherwise, the
-cursor will be hidden.
+display.  If the value is true, the cursor will be visible.  Otherwise, the
+cursor will be hidden.  The default value is true.
 .TP
 .B timestep
-The amount of time in seconds between each update of the physics state.  A value
-of 0.01 or lower is ideal for accurate physics approximations.  Values that are
-much higher cause the CPU to do less work, but accuracy will suffer.  Errors
-could be introduced in the game with extremely high values.
+The number of times per second the simulation state will be updated.  A value
+of 100 or higher is ideal for a better physical simulation.  Values that are
+much lower cause the CPU to do less work, but accuracy will suffer.  Errors
+could be introduced in the game with extremely low values.  The default value
+is 80.
 .TP
 .B videomode
 The resolution or size of the window.  The value is an array with three number
 elements representing the width, height, and bits per pixel that make up the
-video mode.  A typical value is {800,600} for a size of 800x600 pixels with
-millions of colors (the third number is optional).
+video mode.  The third number is optional.  The default value is {800,600}.  You
+may need to escape the curly braces so the shell doesn't parse them.
 .PP
 This is only a list of the more useful options.  You'll have to use the source
 to find out about the more esoteric options, but you probably won't need to.
 .br
+.SH EXAMPLES
+.PP
+Here are some examples of typical usage:
+.PP
+.TP
+yoink fullscreen=true
+Run Yoink in full-screen mode.
+.TP
+yoink maxfps=60
+Cap the allowable frame-rate to 60Hz.
+.TP
+yoink videomode=\\{1024,768\\}
+Run yoink with a resultion of 1024x768.  Notice the escapes for the curly
+braces so the shell doesn't parse them.
 .SH ENVIRONMENT
 .PP
 .B yoink
@@ -189,10 +177,7 @@ If set to a path of a valid directory (presumably a user's home directory),
 .B yoink
 will look for a file at
 .I $HOME/.yoinkrc
-and load it as a configuration file.  Saving options within the game will cause
-this file to be over-written with the new options, unless the
-.I YOINKRC
-variable is set.
+and load it as a config file.
 .TP
 USER
 .B yoink
@@ -207,10 +192,10 @@ variable if you move the game's assets to another directory or perhaps want to
 load your own custom assets rather than the defaults.
 .TP
 YOINKRC
-If set to a path of a valid configuration file, 
+If set to a path of a valid config file, 
 .B yoink
 will load the options from that file, and those options will take precedence
-over options loaded from other configuration files.
+over options loaded from other config files.
 .br
 .SH NOTES
 .PP
@@ -218,32 +203,41 @@ Yoink may or may not be playable with acceptable frame rates without a hardware
 accelerated OpenGL driver installed and working, depending on how fast your CPU
 is.  Yoink is really not all that heavy on graphics, but it doesn't take much to
 overload a software implementation.  If you're stuck without hardware
-acceleration, there are some things you can do to get better frame rates:
+acceleration, there are some things you can do to get better frame rates, in
+order of effectiveness:
 .TP
 1. Decrease the resolution.
 Use the
 .I videomode
-option.  This speeds up software renderers considerably.
+option or just resize the window if the
+.I fullscreen
+option is false and the
+.I resizable
+option is true.  This speeds up software renderers considerably.
+.TP
+2. Decrease the timestep.
+Use the
+.I timestep
+option.  You can set the timestep to be as low as the your
+.I maxfps
+option, but it is not recommended to set this lower than the target frame rate.
+Remember the trade-off here is decreased simulation accuracy.  Try to set your
+maxfps to 30Hz and your timestep to 60Hz:
+.PP
+yoink maxfps=30 timestep=60
 .TP
-2. Decrease the level of rendering detail.
+3. Decrease the level of rendering detail.
 Use the
 .I detail
 option.  The game world may look sparse or incomplete, but that may be better
 than choppy animation.
-.PP
-On the other hand, if you already get high frame rates, you may also want to cap
-the rate so that your computer doesn't do more work than it really needs to.
-You can get reasonably smooth animation at around 30fps, but you can probably
-tell a difference between that and a higher rate like 50fps.  The latter will
-look noticeably smoother and nice, while the former is just "okay."  See
-the
-.I maxfps
-option.
 .br
 .SH BUGS
 .PP
 Although the pixelated graphics are intentional, there are some unintended
-artifacts which are more obvious on certain OpenGL implementations.
+artifacts which are more obvious with certain video drivers.
+.PP
+The robots are not very bright.
 .PP
 Send bug reports, patches, and love notes to:
 .br
This page took 0.023904 seconds and 4 git commands to generate.