pygame is
Simple DirectMedia Layer is
Site Swing

Invasion - Demo

Resheet (mint)



Control a Terran soldier in a 2d sidescrolling platformer and fight off hordes of robotic aliens, cyborgs, turrets, and more! May be a bit laggy due to the large number of walls needed to make a level. Comments, criticism, new ideas, etc are all welcomed.


Home Page:


click to view original size


Invasion - Demo - May 31, 2010 account Comments

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

June 6, 2010 3:27pm - Resheet - nickname: (mint)
I'm using Psyco now and it runs much faster.
May 31, 2010 1:29pm - Anonymous - nickname: (pywiz32)
Thread programming isn't that hard. here is an example:

import threading
def test(): print "hi!"
thread = threading.Thread(target=test)

the program prints: hi!
Of course, some things in threads don't work as expected.
May 31, 2010 1:21pm - Resheet - nickname: (mint)
I'll make data folders etc. I'm not sure how to do multi-threaded programming. I've been looking for something like the DirtySprite stuff, so I'll try and use that. Thanks for the help!
May 31, 2010 12:34pm - Max Power - nickname: (paolo)
Second: Damn that's really long.
Before even thinking about using threading (seriously, this is no topic for beginner), try to improve the rendering functions. Using caching for the font-rendering, which can be a major speed issue. Don't draw the background every frame, have a look at DirtySprites/LayeredDirty in the documentation.
May 31, 2010 2:40am - Anonymous - nickname: (pywiz32)
First: Damn that program is long.
Anyways, I didn't look through the entire program, but you might want to think about only displaying and updating a tile if it is on the screen. Here are my suggestions:

1. Make the tiles only appear if they are on the screen. One way to do this is to have sections of tiles, or a t least different drawing groups.

2. Use threads. From the look of it, you are using no threads. Threads will speed up the game a lot.

3. Consolidate all the images into one, and split them up again when the game loads.

4. Use a separate folder for data. Seriously.

5. Use psyco to run this game. Ahead of that, this game needs MAJOR speed improvements. I'm using an AMD Phenom II Black Edition with 3.4 Gigahertz, and it still lags.

our projects welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
recent releases
Nov 17, 2015

Nov 12, 2015

Nov 11, 2015

Nov 8, 2015

Oct 16, 2015

Oct 9, 2015

Sep 11, 2015

Sep 6, 2015

Aug 26, 2015

Aug 25, 2015

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