The Game
Welcome to the World of Marbles. The marbles are a peacful 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 prefer to discuss about 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.
"Stunt Marble Racers" is a game "inspired by Marble Madness". The goal of the game to win races. The game features a two player splitscreen mode for hot duels against others, a network mode for up to four players and a single player mode to get used to the tracks and the controlling marble.
Main Menu

The image above shows a screenshot of the main menu. It contains the following items:
Use the "Cursor Up" and "Cursor Down" keys to select a menu item and the "Enter" key to acitate the selected item.
Menu Single Race

With this menu option you can start a single race, both for one and for two players. The "Single Race" dialog contains seven sections:
- 1: select the level you want to play
- 2: a preview of the selected level
- 3: select the number of players. 2 Players is only active if two players are possible in the selected level
- 4: select whether the splitscreen should be horizontal or vertical in 2 player mode, or to replay a ghost in single player mode
- 5: select the number of laps for the race.
- 6: check this checkbox to record a replay of the game
- 7: the buttons to start a game and to return to the main menu
- 8: a little description of the selected level
- 9: the hiScore list of the level
Ghost Replay: Stunt Marble Racers does now include a nice feature for single player mode: the ghost replay. Whenever you play a single player game your performance is recorded and after finishing the game you have the option to save this "ghost". When you now play the level again in single player mode you have the option to play against your previously recorded ghost. You just have to check the "Play Ghost Player" checkbox and select a ghost file to play before starting the game.
Tournament

This is the menu where you can set up your tournaments. It contains the following parts:
- 1: use these items to set up the tournamnet data. Give a name, select the number of players (2 players makes more sense in a tournament, but the one player option is great for training)
- 2: check this checkbox to record replays of the tournament's races
- 3: with these two buttons you can start the tournament or return to the main menu.
- 4: use the combobox to select a previously saved tournament and load it with the "load" button. With the "save" button you can save your tournament. It will be saved with the name you have given to it. Warning: tournaments with the same name will be overwritten without promting.
- 5: in this section you can set the races of the tournament. A tournament can have up to 20 races. Use the "Add Race" button to add a new race and the "Clear List" button to delete all races. Every time you add a race a new line with two comboboxes and one button will be added. The first combobox contains a list of all available tracks, and with the second button you can chose how many laps the race will be. With the "Del" button you can remove a single race

This is the dialog you see when you start the tournament and after each race. The next race is marked green, races that have already been done are marked blue. You can use the "Start next Race" button (or the "Enter" key) to start the next race, or the "Cancel Tournament" button to cancel the tournament and return to the previous dialog.

This screenshot shows the second tab of the dialog. You see a table that contains the current standings of the tournament, with one line per race. The positions of the players are shown here, along with the points each player has scored. The winner of a race gets 2 points, the 2nd place (aka "the loser") gets none. The player with the fastest lap also gets one point.

This dialog will be shown after the tournament is finished. It shows the positions of the players along with their points, victories and fastest laps.
Menu Netgame
Stunt Marble Racers includes a net game mode where you can race against up to 3 other players. It is highly
recommended to use this feature in local area networks only, as soon as the ping times between the server and the client
reach a certain amount the game will no longer be fun to play.
This screenshot shows the inital netgame screen. It has 2 controls:
- 1: enter the server's portnumber (default is 23005) and push the button to start the server
- 2: use the edit fields to enter the server's IP address and port number and the button to connect to the chosen server
Remark: as the whole game is running single-threaded you have to make sure the server runs at 60 frames per second at least. This is the only way to get a nice, smooth netgame.

This screenshot shows the server setup screen. It will be shown after you have clicked the "start server" button in the previous dialog. It has 4 controls:
- 1: here you can see who is connected, you can change the name of the tournament, and toggle the recording of a replay
- 2: use this control to add, remove and change the races of the net tournament. Works like the normal tournament dialog
- 3: with these buttons you can start and cancel the tournament
- 4: these controls allow you to recall a previously saved tournament of your choice

This is the client's tournament screen. It does mostly look like the server's, you just can't modify any of the settings. It has the following controls:
- 1: here you can see the tournament's name and which players are connected
- 2: these fields show you the races the server has chosen
- 3: use this button the retire from the tournament

The screenshot above shows the server's view of the "next tournament race" dialog. The upper elements (1) show the races of the tournament. Done races are marked blue, the next race is marked green. With the two buttons on the bottom (2) you can either start or cancel the tournament.

Here you see the client's view of the "next tournament race" dialog. It's mostly the same as in the server's view, just the button to start the next race is missing.

This screenshot shows the "tournament standings" dialog. It contains a table with the races of the tournament as rows and the players as columns. After a race has been done the cells are filled with the result of the race, and the last row contains the points the players have scored. The points are calculated like this:
- winner: gets as many points as players are taking part.
- other places: the player who finished last (aka "the loser") gets zero points, each better position gets one additional point.
- fastest lap: the player who performed the fastest lap gets one additional point
- 1st: 4 points
- 2nd: 2 points
- 3rd: 1 point
- 4th: zero points
- fastest lap: +1 point

This screenshot shows the result screen of a four-player race. You can, as in the tournament result, see the lap times of each player, his fastest lap (blue), the fastest lap in the race (red) and his position in the hi score table.

Here you see the overall result of a 3 player network game. You can see the player's name, his position in the tournament, the number of points, the victories and the fastest laps he has scored.
Menu Replay

This is the "select replay" dialog. The dialog contains the following items:
- 1: a list of the available replays. The replays are stored in the subfolder "data/replay"
- 2: this is the section where you can find information about the selected replay
- 3: the "start replay" button to start the replay and the "cancel" button to return to main menu

This is a screenshot of a finished replay. The following information is shown:
- 1: general information of player one (name, checkpoint/lap time, race time)
- 2: general information of player two (name, checkpoint/lap time, race time)
- 3: the current time of the replay
- 4: information about the fastest lap
- 5: this box shows either the countdown to race start or (in this case) a hit that the replay is finished
When a replay is running you can control the camera with the following keys:
- M: switch to "Follow Marble Camera" (like the in-game camera)
- S: switch to "Static Cameras" (cameras located all along the track)
- B: switch to "Blimp Camera" (the camera hovers above the focused player)
- F: switch to "Free Camera" (the camera is controlled by the user)
- 1..4: focus player 1 to 4 (in "Follow Marble", "Static" and " Blimp" camera modes)
- Cursor Keys: move the free camera
- Mouse Movement: control the direction the free camera is looking at
Menu Options

In the Options dialog you can set the controls of the two players, the video options and some further game options. The image above shows the player options of player one. The options of the second player are the same. You can change the name of the player using the edit field on top and the controls of the player by selecting one of the controls using the mouse. The availble controls are:
- Foreward
- Backward
- Left
- Right
- Brake
- Cam Left
- Cam Right
- Respawn

In the graphics setup dialog you can change the graphics driver, the resolution, fullscreen or windowed mode and the shadowlevel. Shadowlevel "0" disables all shadows and should be used to get maximum performance because the real-time shadows used in the game need quite some GPU power.

This screenshot shows the last of the tabs in the options menu. Here you have a global switch for ghost recording, and three others that control the in game video screens. with the "enable video screen" option you can globally disable the on-track video screens, with the "Videoscreen Texture Size" combobox you can influence the size of the dynamic texture, and with the "Video Screen FPS" box you can chose how many frames per second these video screens are updated. If you chose a higher framerate and texture size the generation will need quite some additional GPU power, so if your framerate is low you could try turning these values down.
Menu HiScore

The high score menu item shows the top-10 times of the levels. You can select the level to display by clicking a level in the list on the upper left. If you have selected a level a preview will be started in the upper right corner of the level, and the best lap times are shown below.
Menu Credits

In the credits dialog you can see which resources have been used to develop this game, like programming libraries and 3D model- and texture resources.
Menu Quit
This menu items quits the program. Surprised?
Playing

The screenshot above shows a two-player game before start. Player one is on the top, player two on the bottom part of the screen. The field on the top show the overall race time. Below this there is a marker that shows which checkpoints have already been reached, and which lap number the player is currently rolling. On the bottom you can see the player's name and whether the free cam (green symbol with "F") or the automatic race cam (orange symbol with "R") is currently active. To control the marble the key or joystick settings set in the options menu are used.
The movement controls (foreward, backward, left, right) are always applied to the marble from the camera, so if you rotate the camera by 180 degrees foreward and backward have changed. If the marble is faster than "10" the camera switches from "free" to "race" mode in which it moves so that the view direction is the movement direction of the marble. By using the "Cam Left" and "Cam Right" controls the camera can be rotated around the marble. If it is currently in "Race Mode" it will be switched to "Free Mode". In this case the mode is switched back two seconds after the last camera control input of the player. The "Respawn" control puts you back to the last checkpoint. It must be pressed for 2 seconds, and the "last checkpoint" is taken from the time when you press the button down. I.e. that if you pass a checkpoint within the 2 seconds of pressing the button you will be respawned at the checkpoint before the one you passed while waiting for respawn.
To finish the game or a lap it is necessary to pass all checkpoints on the track. The checkpoint markers on the top turn from orange to green if a checkpoint was reached.
Note: now there is also a rear view mirror available that can be activated and deactivated with the "F3" key.
the Levels
Training: playground
This is the first training level called "Playground". In this level you can get used to controlling the marble and to the dynamic environment. It contains some items to kick around and some that are attached to the environment with a hinge.
Training: dynamic world

In this level, "Training 2: dynamic world" you can enhance your control over the marble in a dynamic world with things to kick around, an elevator and some objects that try to kick you off the track.
Marble Racer: oval in the office

A simple racetrack. It's just a little oval.
Marble Racer: tricky track

This track features a more complex racetrack with a little jump. The best speed for this jump is around 28.
Marble Racer: fast track

This track features long, fast straights and wide turns together with some hairpin corners that need to be taken slow.
Marble Racer: desert challange

This time the track is located in the desert. Nevertheless it's just some little weird part along with a fast wide turn.
Marble Racers: crossing bridges

This track has the shape of an 8. It has a central crossing point with 4 bridges leading there, and no traffic lights so crashes might happen.
Marble Racers: trenchrun

On this track you have to follow some weird course through a small trench. You should try to stay off the wall because touching it will slow you down quite a bit.
Marble Racers: tube racing

This track features 4 platforms you have to reach. The platforms are connected with tubes that lead round and up and round and down again. You should try not to lose your orientation to perform good on this track
Stunt Marble Racers: jumpin' eight

This one is just a racetrack in the shape of an "8" with a jump at the crossing. Try to take that jump with a speed between 29 and 35.
Stunt Marble Racers: hi-jump

In this level you have to pass a checkpoint located on top of the hi-jump. Speed needs to be somewhere between 30 and 35 for good performance. If you are slower you won't take the landing ramp, if you are faster you might jump right over the checkpoint which means you'll have to turn back.
Stunt Marble Racers: the wall

This level features a nice little shortcut. It's a wall made of boxes. But this wall is on the track later on so you'll have to tear it down to finish your lap. If you choose the right position of the boxes you kick out you might still be able to use the shortcut later on.
Stunt Marble Racers: precision

On this track there are two jumps to pass: First you have to jump into some tubes. Try to jump into the center tube, you'll lose a lot of time by getting back on the track when you miss that one and use one of the outer tubes. You must jump at a speed of 40 to 45 in order to hit the central tube. After two turns there is another jump - a long one. If you have a speed of at least 45 you will be able to land on the landing ramp.
Stunt Marble Racers: triangle jump

This track's shape is a triangle. It features fast corners and three different jumps on each of the short straights. But beware: you will lose a lot of time once you leave the track (e.g. because you took a jump too fast).
Stung Marble Racers: stepstones

On this track you have to pass a lot of gaps by jumping over them at the right speed. How many tries did it take you to figure out how to pass the course without falling down?
Moving Worlds: roll the line

This is a very dynamic track. First you have to use the hinge to get down to the first checkpoint. After that you'll have to pass a part that will simply turn away - if you don't hit in right on the line in the center of the track. After you managed this you just have to kick the last part of the track up in order to pass it. Can be funny if someone else is just passing it. When you have done this just turn around and finish your lap.
Moving Worlds: little tower

On this track you have to do a little jump with 2 rotating objects that try to hit you and kick you off the track. After you have gotten past that you will see a little tower with an one-way elevator in - down. This elevator also blocks a later part of the track so it's your chance to make some time on the leader if you are behind. Before you finish you just have to kick a little box that won't really harm you - but maybe it harms someone else rolling close after you.
Moving Worlds: rotor

This nice level features a rotor rotating at high speed trying to stop your movement. It also has an elevator (as always - down only) and some jumps - but beware: if you jump too fast you might jump right over the next checkpoint.
Moving Worlds: drawbridges

Another simple level of the "Moving Worlds" campaign. It's just an oval with 2 drawbridges that will automatically be drawn up. To continue the race the player has to bring them down which is done be rolling the marble on and using it's weight to lower the bridges. There are little huts after the bridges with the checkpoints in, so make sure you do not continue to soon but wait until you can safely enter the hut.
Moving Worlds: 4 doors down

On this track you have the choice: use one of the 4 doors that lead down to the end of the track. Each of the doors will be blocked from time to time though. On the track that leads upwards you can use the walls to get up faster by bouncing.
Moving Worlds: rolling pipes

This track features 3 pipes that can be rotated when a marble moves over them. These pipes must be passed twice: first you roll over them, then you roll through them.
Credits
"Stunt Marble Racers" uses the following resources:- Irrlicht is used for graphics
- OpenDE is used for physics
- IrrKlang is used for sound
- IrrODE is used to integrade OpenDE and Irrlicht
- Bulletbyte Code Snippets for Irrlicht
- Some textures from CG-Textures are used
- Some 3D models and Textures from Reiner's Tileset are used
- GraffitiCreator has been used to create some textures
- eNet is used for network gaming
- modified IrrnetLite is used to wrap enet