Home Articles Tutorials Resources About

Showcase - BrainBall, a puzzling racing game


By 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

The locations where a tile can be inserted are marked yellow on the minimap and the currently selected insertion point is highlighted in red. At the bottom of the screen a timer counts down to zero, after which the shown new tile will be inserted at the selected location. If you move the ball after you have selected a tile and the ball crosses the row or column of the selected tile, a new tile will be randomly selected, so be careful when moving until the tile has been inserted.



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

Please note that the February 2006 DirectX redistributable is absolutely required! If you're getting a FileNotFoundException when running BrainBall, this typically indicates you don't have the latest DirectX version installed yet. Please visit the link above and use the web installer on that page, which will automatically install everything you need to update your DirectX runtime to the latest version.



Files for this article

Filename Size
? BrainBall.zip 4.9 MB
? BrainBall.wmv 3.0 MB



Further reading


  • ? ?
MDX info is an initiative by vector4. All content is copyright ? 2005-2006 by its respective authors | About MDX info | Terms of Use |
Coming soon!