Import from neverball-1.4.0.tar.gz
[neverball-archive.git] / README
blob466739526db2001b986df46a5b85032d3e5e58b6
2                             * Neverball *
5 Tilt the  floor to roll a  ball through an obstacle  course within the
6 given time.  If the ball falls or time expires, a ball is lost.
8 Collect coins to unlock the exit  and earn extra balls.  Red coins are
9 worth 5.   Blue coins are  worth 10.  A  free ball is awarded  for 100
10 coins.
13 Requirements:
15     SDL               http://www.libsdl.org/download-1.2.php
16     SDL_image         http://www.libsdl.org/projects/SDL_image/
17     SDL_mixer         http://www.libsdl.org/projects/SDL_mixer/
18     SDL_ttf           http://www.libsdl.org/projects/SDL_ttf/
22 * THANKS TO
24     Mehdi Yousfi Monod  (Feature ideas and Neverball levels)
25     Pasi Kallinen       (Neverputt holes)
26     Derek Arndt         (OSX packaging)
27     Phil Harper         (TheOpenCD packaging, icons)
28     Max Gilead          (Debian packaging)
29     Michael Sterret     (Gentoo ebuild)
30     Christoph Frick     (OSX port)
31     Jeremy Messenger    (FreeBSD port)
32     Erik Auerswald      (Mouse invert)
33     Corey Edwards       (Joystick select)
34     Kyle Hoker          (Feature ideas and testing)
36     Countless others for play testing and bug reports.
38     http://www.happypenguin.org
39     http://www.flipcode.com
43 * BUILDING
45 Under Unix, Linux, and OSX, simply run
47     make
49 Under Windows, build using the provided Visual Studio solution.
51 The executables  will be copied to  the base directory.   Maps will be
52 processed and copied into data/sol/.  By default, an uninstalled build
53 may be executed in place.
57 * RUNNING
59     ./neverball
61 Click Play  to begin.   Mouse motion tilts  the floor.   Mouse buttons
62 rotate the  viewpoint.  The  following keyboard controls  are defined.
63 See below for details.
65     SPACE  Pause and resume / Release mouse grab
66     ESC    End a game / Exit
67     SHIFT  Fast camera rotation
69     F1     Default Camera                            (configurable)
70     F2     Lazy Camera                               (configurable)
71     F3     Static Camera                             (configurable)
73     F7     Toggle wire mode
74     F8     Toggle nice mode
75     F9     Toggle frame counter
76     F10    Snap a screenshot
77     F12    Toggle look-around mode
81 * INSTALLATION
83 The game  searches for game assets  in the following  three places, in
84 this order.  If the game is  to be installed globally, at least one of
85 them must be set.
87 1) The directory specified on the command line.
89 2) The directory given by the NEVERBALL_DATA environment variable.
91 3) The directory given by the CONFIG_DATA variable defined in config.h
93 A normal Linux installation would  probably copy the data directory to
94 "/usr/local/games/neverball/" and  change the CONFIG_DATA  variable to
95 match.
97 A  normal  Windows installation  would  simply  copy  the entire  game
98 directory  to "C:\Program Files\Neverball"  and leave  the CONFIG_DATA
99 variable to its default value "./data".
103 * USER DATA FILES
105 Neverball creates  a directory called ".neverball" in  which it stores
106 user  data  files.  These  files  include  high  scores, replays,  and
107 configurations.  Under Unix, Linux,  and OSX this directory is created
108 in your home directory.  Under Windows it is assumed that the user has
109 permission  to write to  the game  data directory,  and the  user data
110 directory is created within.
114 * HIGH SCORES
116 The top three fastest times through each level, and the top three coin
117 scores for each  level are stored in files  named neverballhs-* in the
118 user data directory.
120 The top  three fastest  times and  most coins scores  for each  set of
121 levels are also stored.  To achieve  a set score, the player must play
122 through all 25 levels of a set in one attempt.
124 The total set time will  include time spent during both successful and
125 unsuccesful level  plays, thus  time-outs and fall-outs  count against
126 the total time.
128 The  total  set  coin  count  will include  only  coins  collected  on
129 successful  level plays.   This  prevents unbounded  coin scores  from
130 being collected on levels with more than 100 coins.
134 * REPLAYS
136 Neverball  includes a  mechanism for  recording and  replaying levels.
137 The player may enter  a name for each replay at the  end of the level.
138 By default, the most recent unsaved  level will be saved to the replay
139 file named "Last".
141 Replay  files are  stored in  the user  data directory.   They  may be
142 copied freely.  To  view a replay you have  downloaded, simply move it
143 to  the user  data directory  and it  will appear  in the  Replay menu
144 in-game.
146 Note that replay files are  not currently portable between machines of
147 different byte order.
151 * CONFIGURATION
153 Game  settings are stored  in the  file neverballrc  in the  user data
154 directory.  This file is created  when the game exits.  It consists of
155 key /  value pairs.  Some of  these values are  configurable using the
156 in-game  options  screen.  Other  meaningful  keys  and their  default
157 values follow.
159     mouse_sense 300
161         This  key controls  mouse  sensitivity.  The  value gives  the
162         number of screen pixels the  mouse pointer must move to rotate
163         the floor  through its entire  range.  A smaller  number means
164         more sensitive.
166     mouse_invert 0
168         This key inverts the vertical mouse axis if set to 1.
170     key_camera_1 f1
171     key_camera_2 f2
172     key_camera_3 f3
173     key_camera_l left
174     key_camera_r right
176         These keys  define keyboard mappings for  camera selection and
177         rotation.  Key  names are specified using  SDL's canonical key
178         naming convention.  The three camera behaviors are as follows:
180         1 - Strict  camera stays behind the ball by  cueing off of the
181         velocity of the  ball.  It is very  responsive,  but sometimes
182         confusing.
184         2 - Lazy  camera chases a point a set  distance from the ball.
185         It is seldom  surprising, but at times it  is not sufficiently
186         responsive.
188         3 - Locked camera  does not rotate  except by  player command.
190     view_fov 50
191     view_dp  75
192     view_dc  25
193     view_dz  200
194     
195         These keys  define the view of the ball.  They give  the field
196         of view in degrees,  the height of the view point,  the height
197         of the view center,  and the horizontal distance from the ball
198         in centimeters, respectively.  (The ball is  50 centimeters in
199         diameter in most levels.)
200         
201         The default values  for these keys changed with version 1.2.6.
202         Some players may be interested in using the  old values.  They
203         were as follows:
204         
205             view_fov 40
206             view_dp  400
207             view_dc  0
208             view_dz  600
210     rotate_fast 200
211     rotate_slow 100
213         These keys control the rate of camera rotation.  Roughly, they
214         give  the rate  of lateral  camera motion  in  centimeters per
215         seconds,  so the  actual rotation  rate depends  upon view_dz,
216         above.  The fast rate is used when the Shift key is held down.
218     fps 0
220         This key enables an on-screen frames-per-second counter. Press
221         F9 to toggle this flag in-game.
223     nice 1
225         This  key  enables  a  delay  function  after  each  frame  is
226         rendered, forcing a context  switch and ensuring that the game
227         does not utilize 100% of the CPU.  0 is off, 1 is on.
229         If the  frame rate is not  fast enough for you,  or you simply
230         want to  test the  performance of the  game on  your hardware,
231         disable it.
233         Press F8 to toggle this flag in-game.
235     coin png/coin.png
236     ball png/ball.png
238         These keys determine the texture image applied to the coin and
239         ball.  If  you prefer collecting euros  to collecting dollars,
240         set:
242             coin png/euro_coin.png
244     stereo 0
246         This key  enables quad-buffered stereo viewing  for those with
247         the hardware to support it.  It gives an angle in degrees that
248         determines the  interocular distance.  0  is normal non-stereo
249         viewing.  2 gives  a  good  stereo effect.   If  the eyes  are
250         swapped, give a negative value, like -2.
252     joystick 0
254         This key  enables joystick control.  0  is off, 1  is on.  The
255         game may still be controlled with the mouse even while gamepad
256         control  is enabled.   However,  random noise  from an  analog
257         controller at rest can disrupt normal mouse input.
259     joystick_device 0
261         This  number selects  which joystick  to use if  more than one
262         joystick is  found. 0 is the first  joystick, 1 is the  second
263         and so on.
265     joystick_axis_x 0
267         Joystick horizontal axis number
269     joystick_axis_y 1
271         Joystick vertical axis number
273     joystick_button_a 0
275         Joystick menu select button
277     joystick_button_b 1
279         Joystick menu cancel button
281     joystick_button_r 2
283         Joystick counter-clockwise camera rotation button
285     joystick_button_l 3
287         Joystick clockwise camera rotation button
289     joystick_button_exit 4
291         Joystick exit button
295 Contact: <robert.kooima@gmail.com>