Pretty Pretty Bang Bang

This is a "suicide shooter" that I whipped up over the course of a couple weeks in February of 2006. It was inspired by a free doujin game called Every Extend. The music is by Paul Starr.

I was particularly happy with the fact that there's absolutely no randomness in the game; everything that happens is directly affected by your actions, and if you do the exact same thing every time, you will always end up with the same score. This means that although it's possible to do well through luck alone, skill is much more reliable and will consistently succeed, and there's no such thing as just being "dealt a bad hand" by a random number generator.

Like so many of my projects, this one had loftier ambitions that were never realized. I had planned to turn it into an exciting, non-abstract game with a ballet theme for XBLA (this was two years before Xbox Indie Games), and a friend and I set up an LLC and everything, but were never able to get it off the ground.

The original version is below. There's also a remix version that uses a "lives" system rather than a timer, which I ended up liking better.

Thanks to JayIsGames for hosting the game.


You are the white ball. Move with the mouse, and explode yourself with the left mouse button. There are no other controls.

Red balls are the basic enemy. Explode yourself next to them to blow them up, and try to make chain reactions to blow up as many red balls as possible with each explosion. Every time you explode, you lose 5 seconds. If a red ball touches you, you automatically explode and also lose 10 seconds. If a chain reaction is already occuring, you can not explode yourself, but you can still be exploded by red balls. This will add to any chain that's already happening, and can be used to your advantage.

Green balls are created when you blow up red balls. Green balls cannot hurt you, and can not be blown up, but when they reach the edge of the screen they wrap around as red balls. During boss fights, green balls will attack the boss, which is the only way to hurt it.

Purple balls can hurt you, but you can NOT hurt them. Like green balls, they turn red when they wrap around the edge of the screen. Purple balls are fired by bosses, and by falling stars. If you see a falling star, get out of its way.

You gain an extra 5 seconds every time your score is greater than the cube of the total number of extra 5 seconds you've gained since the last boss plus the level. If that sounds complicated, just remember that you'll gain more time the more points you get.

You gain an extra 10 seconds every time there's a falling star. You do not have to "catch" the star to get the bonus.

You gain an extra 50 seconds every time you defeat a boss.

The game ends when you run out of time.
Revision History:

v0.5: Replaced all of the sound effects borrowed from Every Extend with original and/or public domain sound effects.

v0.41: Also by popular demand, added a "best chain" report under "final score" at the end of each game.

v0.4: By popular demand, added a pause (which is disabled during boss fights) and a music on/off toggle.

v0.31: Changed the star bonus back to 10 seconds from 20. What was I thinking?? I think this is the final version of the prototype.

v0.3: Added last 3 bosses (for a total of 8). Changed starting time back to 100 seconds (from 50, which it was in v0.25). Made third boss's movement wavy. Fixed a bug in the fifth boss. Changed star bonus to 20 seconds instead of 10.

v0.25: Added flash when boss dies, and warning when time is running out. Added a fifth boss. Added 10 second bonus whenever a star falls. Removed chain limit. Changed boss kill bonus to 50 seconds instead of 100. Modified third boss to move back and forth.

v0.2: Merged lives and time. Set total_score to update constantly, not just at the end of each boss fight. Some other minor edits.

v0.1s: Added the star that falls every 1000 points when there isn't a boss.

v0.1: Added two more bosses (for a total of four). Split score into "level score" and "total score"; bosses now appear when level_score>1000*level, and level score gets tallied into total score and resets after every boss fight. Other various minor tweaks.

v0.0: Added music.

vβ26k: Complete beta, only 26k. Two bosses. Bosses appear when score^3>1000*level, which made it almost impossible to get to the third boss.