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 ball is awarded for 100 coins.
14 Click Play to begin. Mouse motion tilts the floor. Mouse buttons
15 rotate the viewpoint. The following keyboard controls are defined by
16 default; most of them can be changed in a configuration file. See
19 ESC Pause and resume / Exit
20 SHIFT Fast camera rotation
28 F9 Toggle frame counter
31 UP Tilt the floor forward
32 DOWN Tilt the floor backward
33 LEFT Tilt the floor left
34 RIGHT Tilt the floor right
36 D Rotate the view right
37 S Rotate the view left
39 R Restart the current level
41 TAB Cycle through scores in high-score table
46 Neverball levels are grouped in level sets. All sets are immediately
47 accessible to the player, and track of progress is kept separately for
48 each set. The player starts out at the first level and must complete
49 each level in turn to unlock subsequent levels until all levels in the
50 set are completed. A level is "unlocked" by completing the previous
51 level in the progression or if it is the first level of the set. A
52 level is "completed" by collecing the required amount of coins to
53 activate the goal in the level and reaching said goal.
55 There are two game modes or ways of progressing through levels in
56 Neverball. Each mode is essentially a subset of the single way of
57 playing present in Neverball 1.4.0.
59 In 1.4.0, the game keeps track of "lives" or balls, preventing a level
60 from being retried once the balls run out, however, unlocked/completed
61 levels remain accessible in the menu at all times. As a special case,
62 1.4.0 also records a set high-score (see below for information on
63 high-scores) when all levels of a set are played through in one
64 attempt, with the condition that no successfully-completed level be
65 restarted during the run.
67 To address some of the problems with this mode of playing, in
68 Neverball 1.5.0 it was split into two separate modes: the "normal"
69 mode and the challenge mode.
71 In the normal mode, no track of balls is kept. Each
72 unlocked/completed level is immediately accessible and can be retried
73 and restarted mid-game as often as desired.
75 In the challenge mode, the player is given a limited number of balls
76 and starts out at the first level of the set with all other levels
77 locked. The game ends once the balls run out or all levels in the set
78 are completed. A set score is recorded for a successful run. Levels
79 cannot be restarted, but can be retried.
81 In addition to regular 1.4.0-style levels, Neverball 1.5.0 introduces
82 bonus levels: extra levels awarded for playing challenge mode. Bonus
83 levels can only be unlocked by completing all the levels before them
84 in challenge mode, however, bonus levels themselves are skipped in
85 challenge mode; after they have been unlocked, they can be played in
86 the normal mode as any regular level.
91 Neverball creates a directory in which it stores user data files.
92 These files include high scores, replays, and configurations.
94 Under Unix, Linux, and OSX this directory is called ".neverball" and
95 is created in the user's home directory, specifically, the directory
96 set in the HOME environment variable.
98 Under Windows it is called "Neverball" and is created in the user's
99 application data directory, the location of which is obtained by
100 inspecting the APPDATA environment variable. An easy way to access
101 this directory is by typing %APPDATA% in the Windows Explorer address
102 bar. If the location could not be determined, it is assumed that the
103 user has permission to write to the game directory, and the user data
104 directory is created within.
109 The top three fastest times through each level, the top three coin
110 scores and the top three fastest unlock scores for each level are
111 stored in the Scores directory within user data directory.
113 The top three fastest times and most coins scores for each set of
114 levels are also stored. To achieve a set score, the player must play
115 through all levels of a set in challenge mode.
117 The total set time will include time spent during both successful and
118 unsuccesful level plays, thus time-outs and fall-outs count against
121 The total set coin count will include only coins collected on
122 successful level plays. This prevents unbounded coin scores from
123 being collected on levels with more than 100 coins.
128 Neverball includes a mechanism for recording and replaying levels.
129 The player may enter a name for each replay at the end of the level.
130 By default, the most recent unsaved level will be saved to the replay
131 file named "Last.nbr".
133 Replay files are stored in the Replays directory within the user data
134 directory. They may be copied freely. To view a replay you have
135 downloaded, simply move it to the Replays directory and it will appear
136 in the Replay menu in-game.
141 Game settings are stored in the file neverballrc in the user data
142 directory. This file is created when the game exits. It consists of
143 key / value pairs. Some of these values are configurable using the
144 in-game options screen. Other meaningful keys and their default
150 These keys determine the effective display resolution. If for
151 any reason the resolution you're looking for isn't available
152 in the in-game settings, you can modify these values instead.
156 This key controls mouse sensitivity. The value gives the
157 number of screen pixels the mouse pointer must move to rotate
158 the floor through its entire range. A smaller number means
163 This key inverts the vertical mouse axis if set to 1.
172 These keys define keyboard mappings for camera selection and
173 rotation. Key names are specified using SDL's canonical
174 key naming convention (for a mostly-complete list of
175 non-single-letter key names, see share/keynames.c in the
176 source archive). The three camera behaviors are as follows:
178 1 - Strict camera stays behind the ball by cueing off of the
179 velocity of the ball. It is very responsive, but sometimes
182 2 - Lazy camera chases a point a set distance from the ball.
183 It is seldom surprising, but at times it is not sufficiently
186 3 - Locked camera does not rotate except by player command.
188 key_camera_toggle toggles camera behaviour between 1 and 3.
195 mouse_camera_toggle none
197 These keys match the respective key_camera_* options.
198 Accepted values are: "none" (for no mapping), "left", "right",
199 "wheelup", "middle", "wheeldown" or a numeric mouse button
207 These keys define keyboard mappings for tilt control.
211 This key defines a keyboard mapping for pause activation.
212 Before version 1.5.0, this mapping was hard-coded to the space
213 bar and Escape key was used to immediately exit the game. To
214 restore this behaviour, set key_pause to "space" (without
219 This key defines a keyboard mapping for a mid-game restart of
220 the current level. Handy when trying to record a new
221 high-score, this function isn't available in challenge mode.
225 This key defines a keyboard mapping for cycling through Most
226 Coins / Best Times / Fast Unlock score tabs in the high-score
234 These keys define the view of the ball. They give the field
235 of view in degrees, the height of the view point, the height
236 of the view center, and the horizontal distance from the ball
237 in centimeters, respectively. (The ball is 50 centimeters in
238 diameter in most levels.)
240 The default values for these keys changed with version 1.2.6.
241 Some players may be interested in using the old values. They
252 These keys control the rate of camera rotation. Roughly, they
253 give the rate of lateral camera motion in centimeters per
254 seconds, so the actual rotation rate depends upon view_dz,
255 above. The fast rate is used when the Shift key is held down.
259 This key enables an on-screen frames-per-second counter. Press
260 F9 to toggle this flag in-game.
264 This key enables a delay function after each frame is
265 rendered, forcing a context switch and ensuring that the game
266 does not utilize 100% of the CPU. 0 is off, 1 is on.
268 If the frame rate is not fast enough for you, or you simply
269 want to test the performance of the game on your hardware,
272 Press F8 to toggle this flag in-game.
274 ball_file ball/basic-ball/basic-ball
276 This key determines the model used for the ball.
280 This key specifies the format of the default replay name
281 generated when saving replays.
283 The value of replay_name can include regular characters and
284 special character sequences which act as place-holders for
285 certain "dynamic" text. These sequences are recognised:
287 %s current set identifier (such as "easy" or "mym")
288 %l current level identifier (such as "03" or "IV")
289 %% single percentage sign
291 Any other sequence starting with % will be reported as an
294 The resulting replay name is also suffixed by an underscore
295 and a unique 2-digit number to avoid name collisions with
300 This key enables print-out (to standard output) of running
301 statistics of the current frame time and frames-per-second,
302 averaged over 250 milliseconds. Most people won't need this.
306 This key controls the frequency of graphical updates with
307 respect to physics updates.
309 When uniform is N, then there will be exactly N physical
310 updates per graphics update, regardless of the passage of real
311 time. So for example, if uniform is 1 then you will see every
312 physics update rendered exactly once. The default is 0 and
313 the option is disabled.
315 A further functionality is built atop the uniform option: if
316 the uniform value is negative then the game will take a
317 screenshot at each frame. This may be used to record
318 high-quality movies of replays. Set uniform to -3 and start a
319 replay using the --replay command line option, and you will
320 find a 30FPS movie written as a series of PNGs.
322 On an unfortunate note: audio is handled in a separate thread,
323 and there is no support for outputting audio synchronized with
324 a movie created in this fashion.
328 This key holds the current screen-shot index. The number is
329 incremented every time a new screen-shot is taken (by pressing
330 F10 or in uniform mode) and it is appended to the image file
335 This key enables quad-buffered stereo viewing for those with
336 the hardware to support it. It gives an angle in degrees that
337 determines the interocular distance. 0 is normal non-stereo
338 viewing. 2 gives a good stereo effect. If the eyes are
339 swapped, give a negative value, like -2.
343 This key controls vertical blanking synchronization. 1 is on
344 (and is the default), 0 is off.
348 This key enables multisample full-screen antialiasing. Values
349 can be 2, 4, 8, etc., and can be overspecified; in such case
350 the game will search for the highest level of multisampling
351 supported by your hardware. (The best value eventually gets
352 written to the config file.)
357 These keys control mipmapping and anisotropic filtering,
360 With mipmapping, smaller versions of each texture are kept in
361 video memory, and are referenced when a texture is viewed
362 from a distance. This improves video cache coherence and
363 eliminates texture "swimming" on detailed textures when seen
364 from afar. To enable mipmapping, set mipmap to 1.
366 Related to mipmapping is anisotropic filtering. "Anisotropic"
367 basically means "not the same from all directions". It refers
368 to cases where a texture might need to be compressed more
369 vertically than horizontally. For example, if a texture is
370 applied to a flat surface and seen from far away then it
371 appears much wider than high. Anisotropic filtering takes
372 care of this. To enable it, set aniso to a small power of
373 two. If you have weak hardware, this feature won't do
378 This key enables joystick control. 0 is off, 1 is on. The
379 game may still be controlled with the mouse even while gamepad
380 control is enabled. However, random noise from an analog
381 controller at rest can disrupt normal mouse input.
385 This number selects which joystick to use if more than one
386 joystick is found. 0 is the first joystick, 1 is the second
391 Joystick horizontal axis number
395 Joystick vertical axis number
399 Joystick axis number for view rotation control
403 Joystick menu select button
407 Joystick menu cancel button
411 Joystick counter-clockwise camera rotation button
415 Joystick clockwise camera rotation button
417 joystick_button_exit 4
423 This key specifies the address of your Nintendo Wii Remote.
424 For more information, see the section on using Wiimote with
430 For information on how to build the game with Wiimote support under
431 Linux, see instructions in the file INSTALL in the source archive.
433 To use it, first make sure you've set up all the Bluetooth mumbo-jumbo
434 in your kernel and what-not. Once this is done, you'll need to find
435 out your Wiimote's address like this:
439 00:1B:7A:3E:45:7F Nintendo RVL-CNT-01
441 This hexadecimal string must go in the neverballrc file as
442 "wiimote_addr 00:1B:7A:3E:45:7F" so that the game knows that there's a
445 Now, when you start the game everything will proceed normally but a
446 background thread will place your Bluetooth device into discoverable
447 mode. You've got about 15 seconds to press 1 and 2 on your wiimote.
448 The Wiimote's LEDs will flash, and once the game makes friends with it
449 the Player 1 LED will be lit. If you don't activate your Wiimote then
450 the game will behave normally and the Bluetooth discovery will
453 From there, the Wiimote digital pad works like a joystick for
454 navigating menus. A and B buttons are the A and B buttons. Home is
455 Pause. Plus and Minus are camera rotation controls. Also, the tilt
456 sensor controls the floor.
458 The Wiimote tilt sensor is a surprisingly noisy device, so heavy
459 filtering is applied to the input. For this reason, the controls may
460 feel sluggish. This might improve with an IR sensor bar, but has not
464 Web: <http://neverball.org/>