November 8, 2007 will

Free Game

In 2005 I released a fun little puzzle game called Ping Ball. It took me 9 months of spare time to write, and I did all the coding down to the hand tuned assembler code for the blitters, and even render the sprites myself with Povray. It was the first project where I used the sub-pixel sprite technique, that I recently replicated in Python. The resolution is only 640x480, but you would swear it was a lot higher. I thought it was a great game, I enjoyed working on it, and I loved playing it. So I assumed I would do well selling it. I was wrong! It sold very few copies, apparently it was too hard for the casual games market, and didn't appeal to more dedicated gamers. *sigh* Here are a couple of screenshots...

PingBall Screenshot shot41.jpg

As someone who likes to create things, there is nothing worse than creating something that few people will ever see. So I have decided to give away the full version for free, as an experiment.

Download Ping Ball (full version) Update: You will need the following license key to unlock it: PING-43a3-2a4a-cb8a-1c23

I think it will appeal to programmers. There is a slight arcade feel, but basically it is a logic game where you have to think on your feet. The basic premise of the game is to bounce 'ping balls' around the screen by dropping mirrors in front of them and collect all the crystals.

I'm toying with the idea of making it Open Source, but I really don't have the time to maintain it or port it to other platforms (currently it's Windows only). So I would only release the code if there was a demand for it.

I hope somebody enjoys playing it as much as I do!

Use Markdown for formatting
*Italic* **Bold** `inline code` Links to [Google](http://www.google.com) > This is a quote > ```python import this ```
your comment will be previewed here
gravatar
pmasiar

You may want to consider "ransom" business model. If enough people chips in, game goes GPL. See http://lwn.net/Articles/257457/ ... and your game looks better :-)

gravatar
Marius Gedminas

Porting would become someone else's problem if you made it open-source. All you'd have to do is commit (or reject) patches and suffer flames. Which, I guess, comes under the heading of "maintain".

gravatar
K

You could try making a flash version of it. Probably easier to sell to the gaming sites around the world.

gravatar
Andre Roberge

Nice game - however, I feel kind of cheated as it's a trial version and not the full version.

gravatar
Will

Andre, Its the full version! Did you use the link in the post -- and not from pingball.com ?

gravatar
Andre Roberge

Will: good question... I use a Mac, so I could not download it myself. But I sent the link to a very good friend of mine, to whom I have been mentioning the friendliness of the Python community, and she first told me (then showed me first hand) how it was only a time-limited demo. I will try to find out later what she did. Sorry :(

gravatar
Andre Roberge

Just tried downloading from a different computer; got a trial version too.

gravatar
Will

Oh crap! I forgot I switched from the dual installer method to the license key method. It is stored in the registry so I never noticed. Here is the key to unlock it...

PING-43a3-2a4a-cb8a-1c23

Sorry about that! Hey, it was years ago...

gravatar
Andre Roberge

Thanks for the key. I won't pay for your game ... but I will buy your book! :-)

gravatar
Hadi

Thanks for the game and the key! Really nice game!

gravatar
Bhaaluu

Since I don't have a MS-Windows box (I use GNU/Linux, exclusively),
I wasn't able to look at, nor play the Ping Ball game at all. It is possible
that even if it were released as open source, I still wouldn't be able
to play it due to MS-Windows specific Python modules? Hard to say
without being able to look at the source code. I'm currently learning
Game Programming with Python and PyGame, using _Game Programming_
by Andy Harris. Everything in his book works with GNU/Linux, Mac OS X,
and MS-Windows. Being able to look at the source code really helps when
learning how to program games. If you are really serious about teaching
other programmers how to program Games in Python, you should probably
consider making this game open source AND cross platform! Good Luck!

gravatar
Will

Bhaaluu, you could probably play it under emulation.

The source is cross platform. It uses SDL for the game, and wxWidgets for the settings app / level designer. There is assembler code in there that requires a x86 platform, but there are equivalent C routines.

This game isn't in Python though. It was written a couple of years ago in C++. All my Pygame code should work across all the platforms.

gravatar
Bhaaluu

I'm so sorry! The blog entry was in the [Tech, Python] category, so
I thought it was written in Python/PyGame. I've seen several "Python"
games on the Internet recently that didn't have source code... they
had a MS-Windows executable. I've tried emulation in the past, and had
such a terrible experience trying to use it... I don't waste my time with it
anymore. There are so many Open Source (Free) Software applications
available that run natively on GNU/Linux, that I just don't have the time
or energy to waste on Proprietary software of ANY kind. I figure that
there is a large enough user-base of Proprietary software already --
they won't miss me at all! 8^D Anyway, I really enjoy your blog,
and also the Python/PyGame stuff you've released. Happy Programming!

gravatar
Sween

Dude! This is a pretty Sweet game! Do I understand correctly this was written in C++ not Python/pyGame?

gravatar
Bhaaluu

This threw me off as well. The game is in the Python/PyGame section
but was written in C++ for MS-Windows (and I don't HAVE MS-Windows).
Is this a bait-n-switch? LOL! Good intentions paved the road to... Hell,
Happy Happy Joy Joy

gravatar
Will

It was written in C++, before my conversion to Python. I make it sounds like a religion! :-P

I didn't mean to imply that it was written in Python, I checked the Python tag because I mentioned Python in the entry.

It _could_ have been done in Python and PyGame. Maybe one day I will port it!

gravatar
Brandon Thomson

I'm not able to play this because I don't run Windows (ok, I could set up a virtual machine but I'm too lazy), but it looks pretty fun. I can relate to creating something complex that no one really wanted to use; I've had my fair share of flop-apps that took way too long to create and found no market.

From now on, it's web apps only for me, and on a release-early, release-often schedule. I hope that by doing this I can avoid wasting time on apps that don't gain any traction.