Intro
Welcome to the World of Marbles. The marbles are a peaceful species. They know no greed, envy or anger.
All they care about is to put fun in their lifes. As anywhere else in the universe fun is in the eye of
the beholder - some like to unveil the secrets of the universe, some like to discuss the Meaning of Liff,
some others like to race.
Marbles as such roll. Long time ago they discovered that this can be used to race against each other. The
long history of marble racing has seen many changes. There were marblathons and cross country rolls over
short and long distance, they even did the Iron Marble.
Short time ago someone started to put together weird tracks with ramps and such and started to roll. It
didn't take long until the fun of this spread all over the World of Marbles.
About
Dustbin::Games MarbleGP is a free racing game available for Windows and Android. The game is free
to play and does not contain any sort of ads. Just have fun playing the game. You can play alone against
the clock or against other players in a Network or Splitscreen (Windows only) game.
MarbleGP has five simple rules:
- Fastest Marble wins
- Stay on the track
- Pass all checkpoints
- Expect no mercy
- Show no mercy
Main Menu
The main menu is shown when the game is started. It has the following menu items:
- Free Racing: Start a free game where you can select the tracks and laps to race as you wish
- MarbleGP Cup: Race a pre-defined cup with various races
- Profiles: Create and edit the players' profiles
- Settings: Edit the game settings for graphics, sound and game controls via gamepad
- Race Replay: Re-watch recorded races
- View Track: Have a look at the tracks and watch the AI racing
- Credits: Get information about the libraries and tools used to create MarbleGP
- Exit: Quit the game (but you don't want to do that, so you?)
Start a Game
This chapter guides you through the steps of starting a game in the "Free Racing" mode.
Game Settings

This is the dialog you see when selecting the "Free Racing" menu item in the main menu. On the left
side of the screen you see the list of players selected for the race. You can remove a player by clicking the "X"
icon or add another player using the "+" icon. You can add new players until the maximum number of players
for a game is reached (which are eight in the Windows version and one on Android). In the windows version these players
will play a splitscreen race if more than one players are selected. Android does not support splitscreen.
On the right side you have a variety of options:
- Race Class: the class of the AI players optionally added for the race
- Grid Positions: the starting positions of the races. The following optios are available:
- Fixed: All races start in the same order
- Last Race: The finishing order of a race defines the starting order of the next race
- Standings: The overall standings of the championship defines the starting order
- Random: The starting order is defined by random
- Reverse Grid: The order defined by the Grid Positions option is reversed to keep things interesting
- Randomize First Race: If selected the starting order of the first race is randomized, otherwise the players start in the order they were added and the AI players are added behind the players
- Fill Grid with AI Players: Fill the grid with AI players. The size of the starting grid is defined in the next option
- Grid Size: Select the grid size of the races (Options 2, 4, 8, 12, 16). If you select a certain grid size (e.g. 4) but add more players (e.g. 6) the grid size will not be changed, but if you add less players than the defined grid size AI players will be added until the grid size is reached.
- Race Auto Finish: defines when the race is finished. The following options are available:
- All Players Finished: the race ends when all players have finished, AI players will be auto-finished
- Second to Last Finished: the race ends when all players but the last has finished. The last player and the AI players will be auto-finished
- First Player Finished: the race is ended when the first player has finished. All other player and the AI marbles will be auto-finished
- All Players and AI finished: the race ends when all players and all AI marbles have finished
- Network Game: This option allows you to start or join a network game
Grid Order
In this screen you can see the starting grid for the first race. In this case one local player (grid position 12) is playing,
and the grid was filles with AI players. There is nothing to do on this screen, but it is also used in the network gaming mode
to see all players connecting to the server.
Select Track
This dialog allows you choosing a track of your choice. The uppermost edit field (Number of Laps) allows you to choose how
many laps you want to race. The text below (Complex: Small) shows the name of the track whereas the list below (Noob Flat Jump
Loop Complex Moving) is a category shortcut to directly jump to the first track of the category. Clicking on the image selects
the track. To start the race click on the "Confirm" button, to end the championship use the "Cancel" button.
If at least one race was done ending the championship leads you to the final result dialog.
Race Result
After a race has finished you will be lead to the "Race Result" screen. In the table you can see (from left to right) the finishing position, the player's name, the racetime of the leader or the deficit for all follow-ups, the number of respawns and the number of stuns of each player. Confirming the dialog leads you to the next screen which is the championship standings.
Championship Standings
After each race you will see the current standings of the championship. The columns of the table (from left to right) are the position in the championship, the player's name, the accumulated numbers of respawns, stuns and did not finishs. The following columns show the number of races the player has finished in a certain position. This data is used to calculated the Championship Standings.
In-Game
Loading Screen
This screenshot shows the loading screen visible before a race is started. Is shows the thumbnail of the track, the track name and the number of laps along a "Dustbin::Games MarbleGP" icon.
Countdown
The image above shows the screen before a race on the track "Moving: the Gates" is started. In the upper-left corner you see the ranking at the start with the abbreviations of the player names, on top in the center a countdown is ticking and below you see the starting grid order with full names. The player's starting position is marked with a green circle. In splitscreen mode this data is shown to every player individually.
The Race
During a race you see all necessary information on the screen. In the upper left corner the current standings are shown (which are re-calculated every time a marble passes a checkpoint), in the upper right you see your lap times and cour race time. A red background of a lap time indicates the overall fastest lap whereas yellow shows that this is your personal fastest lap. The current lap time counts the lap all the time and this clock is paused on every checkpoint pass. The overall race time is located below the list of lap times. Note that the race time is started when the countdown starts whereas the lap timer is started on lap start, this means that the overall race time is always higher than the sum of lap times.
Race Finished
After the race has finished the marbles are put on a rostrum in the order they have finished. Depending on the "Race Auto Finish" option available in the Game Settings
Profiles
This is the dialog for managing player profiles. On Windows you can create up to eight profiles, in the Android version
up to three profiles can be stored. Adding a new profile is done using the large "+" button on the first
empty slot, an existing profile can be deleted using the "X" button in the profile's sections. Note that
the profile changes are temporary until you confirm the dialog, cancelling the dialog discards all changes made.
The name of a player profile can be modified directly in this dialog using the bigger of the two edit boxes visible in the profile section. The second, smaller edit box is used for the abbreviation of the name which can be seen in the ranking display on the upper left side of the screen while racing. The other settings controls and texture are modified in other dialogs that will be discussed below.
Controller Configuration

This screenshot shows the controller configuration dialog accessible via the controller button in the profile sections.
Clicking on the text field near the control symbols allow changing the control. Keyboard and Gamepad / Joystick controls
are supported.
: the acceleration control
: accelerate backwards control
: steer left control
: steer right control
: brake control
: rearview control
: manual respawn control (keep pressed for two seconds to start a respawn)
AI Help
Using the "AI Help" selection box allows you to let the computer help you controlling the marble (or to set you profile to a bot). There are eight AI help options:
- Off: No AI help is provided, the player has to do everything by himself
- Display: The AI gives hints to the player on what to do
- Low: The AI adjusts the speed of the player's marble when a jump is approached, the rest of the time the player has full control. Still the AI gives hints on what to do (see Display)
- Medium: The speed is controlled by the AI, the player has to do the steering
- High: The AI controls the speed, and if a jump is approached it takes over complete control
- AI Bot (MarbleGP): Selecting this option makes the profile a bot of the "MarbleGP" AI class
- AI Bot (Marble2): Turn your marble into a bot of the "Marble2" AI class
- AI Bot (Marble3): This allows you to have a bot of the "Marble3" AI class
Note that in all AI help modes you can override the speed by using the brake, and both rearview and respawn are also availabel manually. Respawn is also automatically triggered by all bots from mode "Low" upwards.
Custom Textures

This dialog allows the definition of a custom texture for a player's marble. There are two options for the marble textures, default and generated. If you select the "Default" mode your texture will be colored depending on the starting grid position of the first race and a grid pattern is used, the "generated" mode allows you to select your preferred pattern. The following options are available and can be edited using the three dots buttons on the right side of the edit fields:
- Pattern: The pattern used for the texture. For a list of patterns see the Appendix:Patterns Section
- Number foreground color: the color of the starting number
- Number background color: the background color of the starting number
- Number ring color: the color of the ring between the starting number area and the pattern field
- Number frame color: an optional color of a glow around the number. If this color is the same as the number background color it will automatically be updated
- Pattern foreground color: the color of the pattern
- Pattern background color: the background color of the pattern area
Settings
The settings dialog contains four individual tabs that allow tweaking some details in pretty much any way you want to. As usual any modifications will be applied once the "OK" button is pressed, using the cancel button discards all changes.
Graphics Settings

This screen show the graphics settings for the game. On the left side you see the general settings whereas on the right
side you can define certain options for the various splitscreen possibilities.
The following options are available:
- General options
- Resolution: select a preferred screen resolution from the list
- Fullscreen: Fullscreen or not?
- Shadows: Shadow quality (off .. high). The options except for "off" vary the shadowmap resolution
- Ambient Light: Ambient Light settings. Depending on the display and presonal preferences the ambient light can be set darker or lighter
- In-Game
- Splitscreen Players: the splitscreen players for the current settings. For all of the gaming options (1..8) different settings can be defines. On Android you can only set these options for a single player as splitscreen is not supported.
- Highlight Leader and Marble ahead: this option enables in-game highlighting of the leader, the marble ahead and the marble behind. If you are the leader the three marbles behind you are marked.
- Show Marble Controls: do you want to see the marble controls during gameplay?
- Show Ranking: Show or hide the ranking visibile in the upper left corner of the screen during the game
- Show Laptimes: Show or hide the laptimes and the current racetime visible in the upper right corner of the screen during a race
Sound Settings
With the four slider in this menu you can adjust the sound to your preferences:
- Master Volume: The overall volume
- Soundtrack Volume: The volume of the soundtrack
- Menu Sound Effect Volume: The volume of the sound effects of the menu, e.g. button hover and click
- Game Sound Effect Volume: The volume of the sound effects during gameplay
Other Settings
Some useful options are available here. The left checkbox allows you to enable a game controller (or keyboard) to navigate the menues. Using the settings below the checkbox you can define the menu navigation controller. The right checkbox activates a virtual keyboard useful when using a game controller to enter a player's name. This option is most usefule on Android.
Log
This screen shows the log file, mainly from the Irrlicht 3d engine.
Appendix
Some additional information that you may find helpful for understanding what happens in the game
Championship
If you start races with more than one players a championship is started. Depending on the number of players
in a race each player gets a specific amout of points added to his championship score (see table below)
The players are sorted depending on the following criteria:
- The player with more points is ahead
- If two players have the same score the player with less respawns is ahead
- If the number of repawns is equal the player with less stuns is ahead
- If the number of stuns is equal the player with more better race results is ahead, e.g. if player 1 has scored a 3rd place as best whereas another player only has scored a 5th as best result player 1 is ahead
- The next criterion is the number of withdrawals, the player with less withdrawals is ahead
- If this still doesn't define a ranking (e.g. both players have scored one 2nd place as best) the player who scored his best finish first is ahead
- In case no ranking is definded yet (which should never happen) the player with more fastest laps is ahead
Finishing Position | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Number of Players | 1st | 2nd | 3rd | 4th | 5th | 6th | 7th | 8th | 9th | 10th | 11th | 12th | 13th | 14th | 15th | 16th |
2 players | 2 | 0 | ||||||||||||||
3 players | 3 | 1 | 0 | |||||||||||||
4 players | 4 | 2 | 1 | 0 | ||||||||||||
5 players | 5 | 3 | 2 | 1 | 0 | |||||||||||
6 players | 7 | 4 | 3 | 2 | 1 | 0 | ||||||||||
7 players | 9 | 6 | 4 | 3 | 2 | 1 | 0 | |||||||||
8 players | 0 | 7 | 5 | 4 | 3 | 2 | 1 | 0 | ||||||||
9 players | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||||
10 players | 10 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||||
11 players | 11 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||
12 players | 13 | 11 | 10 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||
13 players | 15 | 12 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
14 players | 16 | 13 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
15 players | 20 | 16 | 13 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
16 players | 25 | 20 | 16 | 13 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Texture Patterns
In this section you get a list of all available texture patterns for your marble
Credits
The following libraries and tools were used to create "Dustbin::Games MarbleGP
- Irrlicht 3d graphics engine
- Open Dynamics Engine 3d physics engine
- ENet network library
- LibJPEG for image decoding as part of the Irrlicht 3d egine
- LibPNG for image decoding as part of the Irrlicht 3d egine
- ZLiba for archive handling as part of the Irrlicht 3d egine
- XEffects for shadow mapping as an addon to the Irrlicht 3d engine
- GIMP the GNU image manipulation program for image editing
- Wings3d for editing 3d models
- Reaper for audio editing
- the IDE used for programming
License
Dustbin::Game MarbleGP
Copyright (c) 2018-2023, Christian Keimel
All rights reserved.
Redistribution and use in binary form, with or without modification, are
permitted provided that the following conditions are met:
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
Neither the names of MarbleGP's copyright owner nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
(w) 2018-2023 by Dustbin::Games
