Showcase - BrainBall, a puzzling racing gameBy Rim van Wersch, March 23 2006 |
BrainBall is a game we designed and implemented for the , a smaller game design contest where the main objective was to implement two simultaneous views of the game world in such a way that both views make up the gameplay together. We decided to use many of the techniques we discussed here on MDXInfo in the game, to show that MDX is capable of properly supporting these features and that the productivity gain offered by .NET allowed us to implement them well within one week's after hours.
Update: the source code for BrainBall has been release and can be found in this article.
About the game
The objective of BrainBall is to get to the center of a simple maze of platforms. The problem is however that since you're playing a brain stuck in a spherical jar, you can't jump over gaps between the platforms. As luck would have it though, some benevolent force supplies a new tile (consisting of 3x3 platform cells) every ten seconds for you to place at the edges of the maze. Placing a new tile at the edge of the maze shifts the adjacent tiles in the selected row or column of the maze, allowing you to build your path to victory.
? ?Figure 1. Sweet, sweet victory
To support this gameplay, BrainBall uses a minimap where you can insert the tiles at the edges (view 1) and a 3D view of the maze where you can drive your confining jar around the maze in good ol' Need for Speed style (view 2). Where you can place the randomly generated new tiles in the maze is restricted by the following rules:
- Tiles can only be inserted at the edges of the maze
- The goal may not be moved, so no tiles can be inserted at the middle-most row and column
- No tiles can be inserted at the corners of the maze
- Tiles may not be inserted at the row nor colum where the ball is currently located
Controlling BrainBall
BrainBall can be either controlled with your keyboard and mouse or with the XBox360 Controller for Windows. The keyboard mapping is currently hardcoded and we may revise the controller's steering method for better playability at some point if there proves to be some interest in the game beyond the competition. For the moment though, these controls will have to do:
Function | Keyboard/mouse | XBox360 controller |
Accelerate | W | Left trigger |
Break | S | Right trigger |
Turn left | A | Move left thumbstick left |
Turn right | D | Move left thumbstick right |
Select tile | Click on yellow marker on the minimap | DPad up/right selects next tile in clockwise order, down/left selects previous |
Move camera | Drag mouse with right button pressed | Move right thumbstick |
Zoom camera | Scroll mouse wheel | Left shoulder pad to zoom out, right to zoom in |
Toggle glow on/off* | G | - |
Toggle instancing on/off* | I | - |
Toggle background on/off* | B | - |
Toggle HLSL ball on/off* | H | - |
* System controls to tweak performance and rendering, turning off glow should greatly increase performance |
Prerequisites required to run BrainBall
-
.NET Framework 1.1 or 2.0
-
February 2006 DirectX redistributable or SDK
- A decent SM2 compatible card (Radeon 9800 Pro and up) for running the game with full effects. It will run on lower cards but only on low quality (change setting in the menu). On a Radeon Mobility 9000 this was very playable.
- A halfway decent subwoofer for enjoying the sound effects when falling off the maze
Files for this article
Filename | Size |
? BrainBall.zip | 4.9 MB |
? BrainBall.wmv | 3.0 MB |
Further reading
-
? ?