Header New Beetle (front)
My Volkswagens
My Motorcycle
My Mazda 6
Curriculum Vitae
Software Projects
Private Information

Select one of the items listed above.

The homepage provides a general introduction about who I am, what I do and what I like

All lot of information and pictures of my 1950 Beetle and 2000 New Beetle.

Some pictures of my 1994 Honda VFR-750F

Some pictures of my 2004 Mazda 6 Executive (136bhp diesel)

Overview of my work experiences
(in Dutch only)

The photo gallery contains pictures of holidays, cars, etc...

Overview and downloads of some of my private software projects.

Personal information, such as my address, phonenumber, etc...
(password protected)

Bubbles for Pocket PC
Tetris for Pocket PC
Pacman for Pocket PC
Serial library for C++

Bubbles for Pocket PC 2002


About Bubbles...

Bubbles is a board game designed for use on the Pocket PC. The game starts with a board full of colored balls (called bubbles). Adjacent bubbles with the same color can be removed from the board. The more bubbles you remove in a turn, the more points you score. When you clear the entire board you get bonus points.

The game is easy to learn, but hard to master. That's the beauty of it. When you first try the game then it seems easy, until you hear that other people score over 3000 points (using standard settings). Scores typically range from just above 1000 points until over 5000 points. The highest possible score with default settings is 9050, however the highest score I have seen was just above 5000. The game is very addictive, so beware before you install it on your Pocket PC.

The creation and evolution of Bubbles

Dutch attendees of TechED 2000 in Amsterdam received a free Compaq iPaq. It's a Pocket PC running Windows CE v3.0 and it's great piece of hardware. A friend of mine had a Psion Revo, which is shipped with a great game called Cascade. During TechED I got a C++ compiler for the Pocket PC, so I started writing a Cascade clone.

The first version was already finished before I got my Pocket PC, so it was tested in emulation only. It was written using MFC for CE, but I threw away MFC pretty early and replaced it with the ATL window classes. Unfortunately the WTL library isn't available for CE yet, so I couldn't use it. The ATL version works with all Win32 platforms, including Windows 95/98/ME and Windows NT/2000. The bare game was only 32Kb in size on the CE platform (including bitmaps, sound, etc...). The desktop version was almost twice as big (although it was 99% code compatible).

Nearly a month after TechED 2000 I finally got my Pocket PC and I downloaded Bubbles. It worked right out of the box, so the emulation is probably pretty good. Several friends of mine also have a Pocket PC, so I shared the first versions among them and the race for the highest score had begon. Bubbles was a big hit, so I wanted to extend the application, so it looks better and had some added features. I was little bit disappointed when I found out that other developers had created the same game (see the bottom of this page for links). Decide which game you like the most and keep it. I like Bubbles the most, but my opinion might not be very objective.

What's hot and what's not

The current version of Bubbles is sufficient for a whole lot of fun. It has the following features:

  • Three different levels of difficulty (easy, moderate and hard).
  • Highscore list, so you have prove when you reach a good score. It's also possible to reset the list of highscores.
  • Synchronizing highscores with other Bubbles users using the infrared port.
  • Single move undo, so you can always go back to the previous state when you accidently hit the wrong bubble.
  • Very neat about dialog, which is similar to the picture shown at the top of this page. The logo is created using POV-Ray.
  • Full source code available, so you can customize and extend it the way you want. Maybe you can even learn something. Please send any improvements to me, so I can include them into Bubbles.

Some features are still missing. I might implement it in a future version, but don't expect anything soon. The following features are planned:

  • Double tap support, which can be found in other Cascade clones. It looks very nice, but I personally like single tapping. Tapping the wrong bubble by accident isn't a problem, because there is a single level undo. Nothing has been done to implement this feature (well, I did add an additional checkbox to the options window).
  • Several different skins for the bubble bitmaps. The problems isn't designing new bitmaps (has already been done) or painting the other bitmaps (just loading another resource). The real pain is selecting new bitmaps in a pretty way.
  • Help file for the game, explaining the various options and rules of the game.


Although my version is probably the only Cascade-like game, which has source included, it's not the only clone around. This is a list of other Cascade clones for the Pocket PC or desktop:

  • PocketPop looks very much like Bubbles and is also free of charge. PocketPop uses a different method of removing items from the matrix. The first time you hit a bal, it shows which balls will be removed and how many points you get. The second time it actually removes the balls. You can easily see how many points you get for a certain action, which is pretty neat. If I had known about PocketPop, I would probably never started Bubbles at all.
  • Bubblets is a commercial Cascade clone, which looks pretty good, but it costs money and why pay if you can get it for free?
  • Pocket Marbles is also a commercial Cascade clone, which doesn't look very good. It has no options that cannot be found in freeware versions. Hardly worth mentioning, but I wanted to be complete in this list.
  • A friend of mine created a Bubbles clone in Java and can be played on the net. It also has a highscore list on it, so try to beat the best so far.
  • Bubbles can also be found on the net. It has been reviewed by several magazines and most people like it a lot.

If you know about more Cascade clones, please mail me.

Legal statement

This program is copyrighted by Ramon de Klein and distributed under terms of the GNU General Public License.



  • Ported release to PocketPC 2002 SDK. Only the ARM release is supported, because PocketPC 2002 doesn't support other platforms. This also dropped support for the MS-DOS version.


  • First official non-beta version of Bubbles. Nothing has really changed much, because I didn't receive any bugs during the past three months.
  • Synchronized some code with Tetris for a better and more uniform User Interface.

v1.0 (beta 3)

  • Fixed GDI object leak in paint routine. This could cause a lock-up when the system runs out of resources.

v1.0 (beta 2)

  • Added support for MIPS and SH3 based Pocket PCs (untested). Because I only have a Compaq iPaq (ARM) I cannot test these platforms.
  • Improved source code package. It now includes the source-code for the Bubbles logo, Setup program and the IrDA include file (so you don't need the Windows 2000 Platform SDK).
  • Fixed re-activation problem when a dialog is open. Thanks to Kim Barnett for pointing out how MFC solves this problem. The fix is nasty and undocumented, but it seems to work.
  • Removed unused bitmaps (reduces executable size with a few bytes).
  • Updated version resource.

v1.0 (beta 1)

  • Initial release for ARM and Win32 platform.


Before you download one of the packages, listed below, you must make sure that you've read the legal statement.

Download Bubbles setupBubbles.zip
Bubbles executable package compiled for use on a Pocket PC 2002.
Download Bubbles source-codeBubbles_src.zip Bubbles source package containing the source code and project files for all supported Bubbles platforms. You need at least Embedded Visual C++ v3.0 with the Pocket PC 2002 SDK to compile and link the code.
Download old Bubbles setupBubbles (old).zip
Bubbles executable package compiled for use on a Pocket PC running Windows CE v3.0 with an ARM/MIPS/SH3 processor. This is an old version (v1.0) and is not maintained anymore.
Download old Bubbles Win32 executableBubbles (old, Win32).zip Bubbles executable package compiled for use on a desktop Windows operating system (Win95, Win98, WinME, WinNT4 or Win2000) with an Intel X86 processor. Don't expect a fancy game for these platforms, because it was primarily developed for use on a Pocket PC. IrDA sockets is supported from Windows 2000 and later, so infrared support will probably fail on other platforms. This is an old version (v1.0) and is not maintained anymore.
Download old Bubbles source-codeBubbles_src (old).zip Bubbles source package containing the source code and project files for all supported Bubbles platforms. You need at least Visual C++ v6.0 or Embedded Visual C++ v3.0 with the Pocket PC SDK to compile and link the code. This is an old version (v1.0) and is not maintained anymore.
Valid XHTML 1.0! Valid CSS!

Page last updated at Apr 23, 2009