pygame is
Simple DirectMedia Layer is
Site Swing
Fireball 12

Fireball 12 - 3.1

Pirh (badgerigar)



Space themed, scrolling shooter with five weapons. I think I put highscores in now but I'm not sure. This is the kind of thing I shouldn't forget.


Minor release: - Pause button - Fixed crasher bug (with help) - Moved a textbox out the way of a menu - Made it -slightly- faster


Home Page:


click to view original size


Fireball 12 - 3.3 - Mar 2, 2008
Fireball 12 - 3.2 - Feb 26, 2008
Fireball 12 - 3.1 - Sep 27, 2007
Fireball 12 - 3.0 - Jul 29, 2007
Fireball 12 - 2.0 -unfin - Mar 3, 2007
Fireball 12 - 1.0 - Jan 12, 2007 account Comments

If you wish to leave a comment with your account, please sign in first.

February 27, 2008 1:19pm - Pirh - nickname: (badgerigar)
Thanks. And I know of at least three glitches/bugs in the game.
1. The highscore thing (shudder)
2. If you pause it, bullets and stars keep moving.
3. When you pause it, the rockets revert to their normal state.
If anyone finds more please let me know. I'll fix these before I put it into OpenGL.
February 26, 2008 5:48pm - pymike - nickname: (pymike) - 4/5
Nice! Coming along great. It runs perfect for me! One thing... the regular shots you shoot are too slow. And when I enter my score or try to see them from the main menu it crashes. Keep up the good work!
September 27, 2007 12:57pm - Pirh - nickname: (badgerigar)
Just to ask of the people who said it was slow, is it low framerate or just the built-in slowness of the game objects?
(I hate posting comments on my own project)
August 2, 2007 12:47pm - Nizzity - nickname: (nizzity)
Did a little debug work. The game _is_ trying to remove the same enemy fire element twice.
Modified code starting at line 619:
print 'looping over ff' #new
ff_count = 0 #new
for ff in self.friendly_fire:
print ff_count #new
ff_count += 1 #new
if ef.rect.colliderect(ff.rect):
print 'removing:', ef #new

This provided the following output before crash:
looping over ff
removing: <bullets.StandardBullet instance at 0x8414d4c>
removing: <bullets.StandardBullet instance at 0x8414d4c>

So you want to use break rather than continue.
for ff in self.friendly_fire:
if ef.rect.colliderect(ff.rect):
Or alternatively just use the Rect.collidelist() function

Something like this:
remove_index = ef.rect.collidelist(self.friendly_fire)
if remove_index >= 0:

August 2, 2007 1:17am - Nizzity - nickname: (nizzity) - 3/5
Commenting on version 3.0.
I love the graphics. Gameplay is smooth, but a bit slow and not very challenging.
The player ship seems to have an acceleration curve when speeding up but not when slowing down. This gives a jerky feel to stops while the starts are very smooth. Making them match one way or the other would be nice.
I like the enemy blue 'wave' attack. It could be much scarier if the bits of it actually did significant damage.

It did crash on me twice with the same error:
File "$HOME/Desktop/Fireball_12 -3.0/", line 621, in run
I looked at the code briefly but couldn't see anything obvious like trying to remove the same enemy fire element twice.

Looking forward to a faster version with some cool sounds! Keep it up.
August 1, 2007 8:24am - Pirh - nickname: (badgerigar)
Just to clarify, the speed issue is nothing to do with the computer, it's just a slow game. I will try to remedy this.
August 1, 2007 7:53am - Martin Ahnelöv - nickname: (gasten) - 3/5
It's pretty ok. The biggest issue is the speed (but on the other hand, I got a _very_ slow computer).

The beginning were good, but I didn't meet any real threats. I lost maybe 20% of my life maximum. After level 4 it wasn't even a challenge to keep Damage-mode.

And yes, when you are in damage mode and get a new damage-mode-power up the timer is settet full, and the purple counter is emptied. is this intentionally or a bug? If it is a bug, I would like the power up to add a new level (ie from 1.2 to 1.3) or resetting the timer.

Keep up the good work!!
July 29, 2007 4:53pm - HorstJENS - nickname: (horst) - 3/5
very impressive ! it just seems that my computer is to slow for this game (1.6 GHz) but maybe it was because i did a lot of stuff in the background.
There is a comment field in the main menu that overlapped with the options menu (to change keys etc). Is that a resolution error ? i played the game in a window.
Cool game, please keep coding !
January 17, 2007 11:20am - Pirh - nickname: (badgerigar)
Delayed further.
January 15, 2007 3:17pm - Pirh - nickname: (badgerigar)
The game'll be delayed until this weekend. Sorry.
January 15, 2007 3:15pm - Pirh - nickname: (badgerigar)
My cousin is a jerk.
January 15, 2007 11:36am - Pirh - nickname: (badgerigar)
Andrew says:

(Andrew is my cousin)
Pirh is a great game maker truly incredible in case you can't tell i'm being sarcastic he STINKS like an elephants butt he is a useless crap weasel.
January 15, 2007 11:33am - Pirh - nickname: (badgerigar)
I have already thought of a story but I think I could combine all of the ideas.
Should the game be endless like it is now? Or should you progress through levels and be able to save it? Maybe there should be an overworld and you could fly to planets from there. Also, maybe there should be a shop to buy ship upgrades. That way you could limit what the player could buy at certain points. I'm thinking of having to modes of gameplay, one is like the current version but with a minor storyline and boss creatures. The other is my idea for the overworld and the shop and stuff. The player could pick which mode to play.
January 14, 2007 6:55pm - Peter Nosgoth - nickname: (nightwishphantom)
Well, I would say the bonus weapons should be kick ass good. At least 3 times more effective than the cannon. Their only flaw is that they have to have very low amunition (like they have now). That means you need to collect ammo for the bosses or hard game situations. The thing is that the cannon is just too good. Maybe cannon level 15 should be the limit and when you die your level gets reset to 1.
The story is propably the usual. Some evil aliens attack earth, you are the last hope, go kill them. Alternatively you could let the pilot's girlfriend get captured and he is out to get her back. Or you think of something new, like that the girlfriend turns out to be the mother-alien thing and he doesnt know what to do...
The score I got now is 1.452.464. I managed that by dodging the speed upgrades for pretty long.
Now im stuck again, but the enemy can hit me this time. The only problem is that I got another 332 lives, and they go down maybe 20/h.
Oh, and this time I chose "hard", but there is no noticable difference.
Maybe you should make the space field bigger (nearly the whole screen) and the life/level/score/... somewhere on the edge of the screen. This could cause performance problems though.
Something for the story: put a planet on the screen, give it some life and tell the player to protect it. If the planet gets destroyed the player looses. The life of the planet needs to be balanced really well though.
Some more enemies would be nice. Some who will fly around you, trying to circle you, others who shoot seeking missiles. Some more who suicide-crash into you doing a lot of damage. Oh, and crashing into ships should be punished with some damage. Other enemies could be like bacterias, not very strong, but every bacteria creates a new bacteria every couple of seconds. If you dont kill them in time they grow faster than you can kill them, covering the whole screen. Some enemy ships could lay mines.
some fast balancing would be to set the initial cannonlevel to 10 and take the sqareroot. That way the damage goes down more slowly. (next levels would be sqrt(11), sqrt(12)...)
The mouse can be hidden using pygame.mouse.set_visible(0)
So, 313 lifes left. I will not be dead until in two days or so. It sucks to be nearly invincible, especially if you try to comit suicide :D

Have fun coding.
January 14, 2007 1:44pm - Pirh - nickname: (badgerigar)
Ps. I am adding bosses to the update. But I think this would involve a story to the game. Any ideas are welcome.

PPs. -To Peter,
Nice highscore. My highscore in the screenshot was actually my friends. The highest I got was 90758 at level 10 with cannon level 8. I'm really sorry a flaw in my game caused your highscore to be ruined.
January 14, 2007 1:32pm - Pirh - nickname: (badgerigar)
I'm sorry to hear that my game has many flaws. I will be sure to fix these for the next update.
1.For the 10-20 hits thing, yes it is hard, I haven't gauged the enemy strength properly.
2.I tried to fix this one but I messed up. Sorry.
3.The bullet speed increases as you collect powerups. If they were faster, the game may be too easy. I will take this into consideration though.
4.Ah. I'm not sure how to fix this. Maybe the enemies strength should be based on your ships strength rather than the level.
5.Yeah. I noticed this, maybe the ship will have a maximum speed that it will not exceed.
6. The level does not actually exceed 10. The way it is written, an error occurs if it does. This will change.
7. This may be a good thing all things considered. Besides I wouldn't know how to fix that.
8. This has already been fixed for the update. Also, weapons are cumulitive. You will be able to switch between all 12. (There will be 12.)
9. This is without a doubt the worst mistake I have made. It will definately be fixed for the next version. Also, any ideas on how to make bonus weapons more useful later in the game but not too good right at the start?
I'm not sure how to hide the mouse cursor but I will try.
Thanks about the graphics. I worked hard on them.
All of your points are valid and it has really given me an insight on how my game can be perfected. Thank you.
January 12, 2007 11:41pm - Peter Nosgoth - nickname: (nightwishphantom)
The game is very imbalanced. At first it is very hard to destroy enemy ships. You need like 10-20 hits.
The position of the ships is sometimes really bad, they are on the bottom of the area, dont move and fire while you have to go on top or below the enemy and most likely sacrifice a life. The bullet speed is awfully slow.
Later in the game you become pretty much invincible. The cannon gets upgraded and enemies get destroyed by one hit (like it should be in a space shooter).
However, upgrades seem to add up linear and infinitly. The ships speed gets so fast, that it is impossible to aim or dodge, because if you just touch an arrowkey you are stuck on the edge of the space field.
Levels of 100+ are displayed as 10.
Firespeed is slower when hitting space instead of holding it.
The bonus-weapons dont get upgraded, so they are useless at canon level 15+.
In the end I had a score of 429773, 93 lives and Level 100+(displayed as 10).
I could not go further, because there was an enemy I could not kill, because I could not do a small enough step and all bullets miss no matter what I did.
I didnt even get a highscore, because I had to kill the program, because I could not get out, die or win. I made a screenshot though.
I would advice to start the game at cannon-level 15, bonus weapon level = cannon level, and speed up is limited to something where it is possible to do small steps. Or maybe that, if holding ctrl, you can do baby steps.
Oh, and I kept klciking on the buttons wondering why they wouldnt work until I figured out that I had to use the keyboard. Maybe you should hide the mouse coursor.
Graphics are nice and smooth.
With a lot of bugfixing, balancing and adding enemies (bosses) it could devellop into a cool game.

our projects welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
recent releases
Jan 31, 2017

Jan 24, 2017

Jan 19, 2017

Jan 18, 2017

Jan 7, 2017

Dec 30, 2016

Dec 8, 2016

Nov 28, 2016

Nov 27, 2016

... more!
for pygame related questions, comments, and suggestions, please see help (lists, irc)