Ball-in-the-labyrinth game
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



                   Copyright (C) 2009-2012 Anton Olkhovik

Mokomaze is an open source implementation of the classic game where you control
a steel ball by tilting a wooden labyrinth. It is written in C using SDL and
adapted for Neo Freerunner.

 * controlled by accelerometer
 * simulates (by vibration) feedback from ball hits against the walls
 * high performance and low resource consumption
 * simple level pack file format

Click on Mokomaze logo on the home screen or application menu or run it from the
terminal by typing
  $ mokomaze
Some parameters can also be passed to it:
  mokomaze [-i <type>] [-v <type>] [-c <option>] [-l <int>] [-x <int>]
  [-y <int>] [-b <int>] [-s <boolean>] [-f <mode>] [--help]
  -i, --input=<type>        input device type ('dummy', 'keyboard',
                            'joystick' or 'accelerometer')
  -v, --vibro=<type>        vibro device type ('dummy' or 'freerunner')
  -c, --calibration=<option> perform input device calibration ('auto' option)
                            or reset calibration data ('reset' option)
  -l, --level=<int>         define level from which the game will be started
  -x <int>                  set window width (0 = maximum)
  -y <int>                  set window height (0 = maximum)
  -b, --bpp=<int>           set color depth (16/32 bits/pixel, 0 = auto detect)
  -s, --scrolling=<boolean> scroll game window if the level does not fit to it
  -f, --fullscreen=<mode>   set fullscreen mode ('none', 'ingame' or 'always')
  --help                    print this help and exit

    mokomaze -l 5
    mokomaze -i freerunner -v freerunner -x 480 -y 640 --bpp=16 -s false
    mokomaze -i keyboard -v dummy -x 0 -y 0 --bpp=0 -s true -f none
    mokomaze -c auto
    mokomaze -c reset

Control the ball by tilting your Freerunner. Reach the exit, marked by Openmoko
logo, avoiding other holes.

Level pack file format
Level pack file is written in JSON and has a simple structure. There are several
game levels in the file. Each level consists of "boxes" (walls), "holes" and
"checkpoints". Boxes are specified by 2 points:
  (x1,y1) - top left point
  (x2,y2) - bottom right point

Graphic content
Menu icons are based on the KDE icon from the Oxygen theme. The logo of Mokomaze
was created under the impression of Neverball logo. Other pictures are made by
the author of the game.

No Warranty
Mokomaze comes with ABSOLUTELY NO WARRANTY. See the COPYING file for details.