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
22 F1 Chase Camera (default)
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 - Chase 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 - Manual 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. 1 is on, 0 is off.
340 This key controls vertical blanking synchronization. 1 is on
341 (and is the default), 0 is off.
345 This key enables multisample full-screen antialiasing. Values
346 can be 2, 4, 8, etc., and can be overspecified; in such case
347 the game will search for the highest level of multisampling
348 supported by your hardware. (The best value eventually gets
349 written to the config file.)
354 These keys control mipmapping and anisotropic filtering,
357 With mipmapping, smaller versions of each texture are kept in
358 video memory, and are referenced when a texture is viewed
359 from a distance. This improves video cache coherence and
360 eliminates texture "swimming" on detailed textures when seen
361 from afar. To enable mipmapping, set mipmap to 1.
363 Related to mipmapping is anisotropic filtering. "Anisotropic"
364 basically means "not the same from all directions". It refers
365 to cases where a texture might need to be compressed more
366 vertically than horizontally. For example, if a texture is
367 applied to a flat surface and seen from far away then it
368 appears much wider than high. Anisotropic filtering takes
369 care of this. To enable it, set aniso to a small power of
370 two. If you have weak hardware, this feature won't do
375 This key enables joystick control. 0 is off, 1 is on. The
376 game may still be controlled with the mouse even while gamepad
377 control is enabled. However, random noise from an analog
378 controller at rest can disrupt normal mouse input.
382 This number selects which joystick to use if more than one
383 joystick is found. 0 is the first joystick, 1 is the second
388 Joystick horizontal axis number
392 Joystick vertical axis number
396 Joystick axis number for view rotation control
400 Joystick menu select button
404 Joystick menu cancel button
408 Joystick counter-clockwise camera rotation button
412 Joystick clockwise camera rotation button
414 joystick_button_exit 4
420 This key specifies the address of your Nintendo Wii Remote.
421 For more information, see the section on using Wiimote with
427 For information on how to build the game with Wiimote support under
428 Linux, see instructions in the file INSTALL in the source archive.
430 To use it, first make sure you've set up all the Bluetooth mumbo-jumbo
431 in your kernel and what-not. Once this is done, you'll need to find
432 out your Wiimote's address like this:
436 00:1B:7A:3E:45:7F Nintendo RVL-CNT-01
438 This hexadecimal string must go in the neverballrc file as
439 "wiimote_addr 00:1B:7A:3E:45:7F" so that the game knows that there's a
442 Now, when you start the game everything will proceed normally but a
443 background thread will place your Bluetooth device into discoverable
444 mode. You've got about 15 seconds to press 1 and 2 on your wiimote.
445 The Wiimote's LEDs will flash, and once the game makes friends with it
446 the Player 1 LED will be lit. If you don't activate your Wiimote then
447 the game will behave normally and the Bluetooth discovery will
450 From there, the Wiimote digital pad works like a joystick for
451 navigating menus. A and B buttons are the A and B buttons. Home is
452 Pause. Plus and Minus are camera rotation controls. Also, the tilt
453 sensor controls the floor.
455 The Wiimote tilt sensor is a surprisingly noisy device, so heavy
456 filtering is applied to the input. For this reason, the controls may
457 feel sluggish. This might improve with an IR sensor bar, but has not
461 * HILLCREST LABS LOOP SUPPORT
463 For information on how to build the game with Hillcrest Labs Loop
464 support on all platforms, see instructions in the file INSTALL in the
467 To use a loop to control the game, it must be plugged in at startup.
468 If the loop is plugged in, it will be chosen as the default
469 controller. Hold the loop upright, and tilt it left/right and
470 forward/backwards to control the game. Occasionally the sensors will
471 get miscalibrated; to fix this, simply set the loop on a table or
472 stable surface for about 5 seconds, and the controls should be back to
475 When not in game mode, the loop will act like a mouse to control
476 menus. When the game is playing, the left and right buttons control
477 the camera and the middle button will bring up a pause menu.
479 Web: <http://neverball.org/>