Bubble Train
Overview
Bubble train is a action puzzle game which is a clone of a really old arcade game that I was hooked on playing whilst at Uni. I spent hours playing it and thought that it would be a fantastic game to write and this time I've teamed up with Craig Marshall (www.craigmarshall.org). The game is a spin off of the Pop & Drop or Frozen Bubble type game, which I also love!
Objective
Bubble Train as the name suggests is a train of bubbles travelling along a track where the last carriage is the driving force instead of the front one. The bubbles come streaming along the track trying to reach the end of the line. You are equipped with a bubble firing cannon, where you fire bubbles into the trains. When there are 3 or more carriages of the same colour they explode and the train shrinks. So you must blow up all of the carriages in all of the trains before any train reaches the end of its track.
Feature List
Themes
Bubble train is completely theme able, with the graphics, font, sound effects and the music can be designed for any level. See the instructions on how to create your own.
Level Editor
A simple level editor for creating / editing levels, including the tracks / trains and cannons.
Games
You can choose from any number of games. The defaults are easy, normal, hard, everything (easy, normal, hard altogether) and Bubble Train (Each letter is a level).
Options Screen
The game can be configured for your own liking, i.e. the sound can be turned on / off as well as the volume levels for the sound effects and the music can be adjusted. Also the mouse / keys can be toggled and the mouse sensitivity can even be adjusted. The keys can also be re-configured to your preference.
Cross platform
As Bubble train runs on top of SDL which is cross platform, which means bubble train should be able to run on windows, linux and even macs. Although I have only tested it on windows so far and Linux once, so ok in theory but not tested.
Controls
Bubble train can be played with the mouse or keys, the default is mouse.
Special bubbles
To make bubble train a bit more interesting I have added some special bubbles. These are Rainbow (rotating colour), bomb (removes bubbles in the blast radius), colour bombs (removes all bubbles of a single colour) and speeders (Slow down or speed up the train).
Fastest Times
To keep track of how your doing there is a fastest times table which displays the 10 fastest times for the highest level across all games.
Screen shots
Here are some screen shots of different themes and levels.
Click on each image to see the full size version
|
Arctic |
Beach |
Mexico |
|
Mountains |
Sea |
Sky |
|
Space |
Space |
Wallpaper
| 800 x 600 bmp png | 800 x 600 bmp png | 800 x 600 bmp png |
| 1024 x 768 bmp png | 1024 x 768 bmp png | 1024 x 768 bmp png |
| 1280 x 1024 bmp png | 1280 x 1024 bmp png | 1280 x 1024 bmp png |
Development
The language of choice is C++ using the mingw compiler which is the gcc compiler ported to windows. For graphics / sound we are using SDL (Simple DirectMedia Layer) a cross-platform multimedia library. The xml library we are using is libxml2 the XML C parser and toolkit from Gnome. As you can see there is a running theme through the libraries we are using, we want this project to be completely portable across all platforms. The IDE of choice for this project is Eclipse an open source java IDE, with the CDT (C/C++ Development Tools) plug-in for C++ development. Bubble Train is developed under the GPL License.
Downloads
Source
BubbleTrain_src.zip (1 MB) md5: ed455b8d3a5519c5a265d6913a13fea8
Installs / Binary
Win32
Bubble Train Installer.exe (2.90 MB) md5: e17e6b266fcdcc002191bc93a8250547
If you find any bugs or have got improvements to suggest then contact me at adam@dwarfcity.co.uk.
Requires
- SDL 1.2
- SDL Image
- SDL Mixer
- libxml2
Games / Levels and Themes
Downloads coming soon.... so get cracking and start creating and send me all of your creations.
Bubble Train Blog
Bubble train has been ported to the RISC OS platform courtesy of Alan Buckley.
Bubble train has been ported to the Amiga OS4 platform courtesy of Tony Aksnes. It has also been going great guns in the download stakes as well, reaching 32,000 downloads.
Bubble train has now been downloaded 12,000 times and it's still rising.
Bubble train tops 5000 downloads, and as a result I've had to upgrade my hosting package to cope. Nice....
Bubble train has now been released under the win32 platform. It's taken a while but at long last. The linux install is still being created.
It has been a while since the last post and after the dip over xmas and the overtime I'm doing at work, things have started to come along nicely. I've fixed all of the bugs found and working away tidying things up at the moment. I've still got to define all of the levels and a couple more themes, but the main coding is nearly finished except for the end animation when you complete the game.
I'm changing jobs next month and so I'm trying to get everything done before I leave. So if all things go to plan you should be able to download the first release by the beginning of Feb. Watch this space....
Craig has just changed job, and also taken down the main server so at the moment the source for bubble train isn't available on line any more. I'm looking at getting a copy of CVS on this server to take over the subversion server. I know that subversion is much nicer but can't install it on this server. I've also been a bit busy lately so development has started to slow again. But Hopefully it shouldn't take too long to get a bit of momentum up for the home straight.
The project is coming along nicely now, we have a full windowing system and basic controls like buttons, text boxes, list boxes etc. We also have included a couple more themes, sky, beach, space. Currently I'm working on the level editor so I can design the 50 levels I'd like to add. We've also added special bubbles like bombs, speed up-ers / down-ers
Finally we are starting to get somewhere, we are nearly at the same stage as the prototype was. But this time it looks very cool with all of the graphics. We still need to sort out which side of the carriage a bullet has hit so it gets inserted at the correct position. And sort out spiral tracks as well which is only working with a basic version and then we are at the same stage as the prototype.
There's still loads to do. Like getting all of the levels to load from files and all of the animations.
Progress with version 1 has been slow but steady. We've got a basic screen shot for the development theme. I'll upload it at some point. We got our development environment setup using the eclipse IDE and the c++ plug-in. So far we've got a nice font engine working. Which loads fonts up by parsing an image. So completely platform indepenent, including font alignment and everything. We are now starting to move onto more of the guts of the game, we're just having a few teething troubles with templates at the moment.
We've finished the prototype at long last. There's been a bit of a gap in getting it done though because I've been on a training course for the last week and been DIYing in the evenings so no spare time what so ever.
The features of the prototype:
- A moving train full of bubbles
- A working canon with a really big gun(because we are rubbish at it, can't aim for toffee)
- Removing of groups from the train
- Continuous paths including straight lines and arcs at the moment and a spiral part finished
This is the very first entry into my blog. Which is here just to keep a running dialog of the progress being make.
Bubble train is a twist on a very cool arcade game that I used to play about 5 years ago.
I'm developing it with Craig Marshall who sits just opposite me. We both wanted to get our teeth into a nice project so we thought we would team up and get going on bubble train.
A bit more about bubble train. The objective of the game is to stop the train of bubbles from reaching the end of the track. This is done by shooting bubble into the train and if three matching colours form a group then it is removed from the train. Very simple but very addictive.
We are working on a prototype in python at the moment and aim to develop the full version using c++ and SDL (Simple direct media layer). So hopefully the game should be fully portable.
