Programming language: BlitzMax
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
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.09:
- level times were not restarted after game over, fixed now
- there’s now 8 minutes playing time on level 1
- putting the icon to the left corner of the window is done from the source
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. 🙂