Ball Shooter

ball shooter

License: Freeware
Version: 1.10 (from 7.10.2018 OV signed)
Programming language: 

Ball Shooter is a tutorial game — full source code included with all the data files needed to compile.


The objective is to shoot all the balls that form a circle and an object (if there is one) inside the circle of the balls. In order to shoot the balls one must get at least 4 balls of same color in a row. If there is less than 4 balls in a row in the circle, those balls will drop and must be shot before they touch the blue line.

The uninstaller of Ball Shooter doesn’t delete the sourcefiles from the Documents-folder.

The sourcecode demonstrates:

  • Some basic features of Max2D module: Alphablending, rotating, scaling and collisions, etc
    Max2D’s SetColor can also be used to change the colors of a pre-loaded image. In this game this has been used many times to make one bitmap font look different with different colors and scale.
  • How to use sound
  • How to use Types as lists and as arrays
  • How to use arrays dynamically
  • How to read keys
  • How to retrieve the %APPDATA% folder
  • How to use Streams to read and write data (also exceptions)
  • How to change exe icon of BlitzMax program from source
  • etc…
    In short: How to make a simple game!

What is needed to compile:


  • MinGW + BAH.Volumes

BAH.Volumes is needed to retrieve the AppData folder.

Link: BAH.Volumes (from GitHub)

In order to get bah.volumes working with BlitzMax, you have to first install MinGW, then make a system environment variable called “MinGW” and set the path to it “C:\MinGW” or where you installed it. After that just compile the modules of BlitzMax.

Password to download: ballshooter

New in version 1.10:

  • Small internal improvements and changes;
  • Ball Shooter v 1.10 comes as zip-archive without an installer;
  • AppData folder for Ball Shooter is created inside the code


Ball Shooter project is result of not obeying this rule. That is: It has been coded at nights…

Here’s a video of Ball Shooter v1.09 from level 1 and a bit from level 2:

In the video below is level 4 and the old school ending:

In the actual game the movement is smooth. It is possible to hit two balls at once. On level 4 you may try to take all the balls with one shot. 🙂