pygame is
Simple DirectMedia Layer is
Site Swing
Vector Graphic Tower Defense

Vector Graphic Tower Defense - 0.5

Joonazan (joonazan)



Shoot lots of soldiers. This game doesn't(and will not) contain any health bars. Everything either dies immedeatly or when hit with special ammo, or on a special spot. Also the machine gun doesn't shoot randomly; it is so heavy that it cant stop turning immediatly. Currently there are only footmen.

This is not really my first game, but the first one I want to get finished.

My homepage is in finnish and it won't tranlate it, so all the 5 994 700 000 people that are not from Finland will not be able to read it. Sorry.

Written in Python 3.1 and Pygame. I will convert it to 2.x, if someone tells me how to use and where to get 3 to 2.

EDIT: Download is working now! I had to make a page where you can download it.

Under construction:

  • how to "win" or something...
  • new weapons and enemies
  • has to be cleaned up. I probably should put everything in the map class.

Need help:

Is it possible to split the file? I've tried to, but it didn't work.


Now with a very easy tutorial mission and an ingame menu. There isn't much to do yet. Working on more levels or some kind of world and a main menu. AND you CAN LOSE now. Try it out!


Home Page:


click to view original size


Vector Graphic Tower Defense - 0.5 - Dec 20, 2010
Vector Graphic Tower Defense - 0.1 - Nov 26, 2010 account Comments

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

December 23, 2010 2:00pm - Robert Leachman - nickname: (quazar)
rgbdreamer show us a diff or something? I'm out of time trying to figure out how to play on python 2.5
December 23, 2010 1:58pm - Robert Leachman - nickname: (quazar)
Python 2.5 here, was getting errors like "SyntaxError: Non-ASCII character '\xc3' in file...", fixed by adding as the first line in the code "# coding=UTF8" per PEP 0263. I think showText() needs a timeout or a clue to press a key to continue. More important: please don't autostart in full screen mode, it locks out our ability to quit the game early but instead can be hard to kill. Also on the same note, should test "event.type == pygame.QUIT" and go to sys.exit() if true, both in your mainline and in showText()... and finally, please be sure the .zip has a path in in so we don't spray files in the wrong directory on unzip :) HTH good luck!
December 23, 2010 3:20am - Maxime - nickname: (spacemax) - 4/5
very good work. I take the game's code to learn the way you do it.
November 30, 2010 9:09am - Joonazan - nickname: (joonazan)
Thanks for commenting! I havent optimized it yet. First i blitted the effects on a surface, but i stopped doing that because this way you dont have to manage huge surfaces. The fastest way would be to have a surface for nonmoving objects, that is completely recalculated when you zoom in and partially when you move the view. I'm currently making the blood fade slowly. I had that before, but it made the game run in chuncks. Currently i also have an algorithm that removes blood, if the FPS drops. And the game can be lost! You can't win yet though. Next release coming soon!

The link works, but i don't know why you have to "Save it on your hard drive" in Firefox.
November 30, 2010 3:17am - miezebieze - nickname: (mieze)
The direct link to the .zip seems malicious...
November 28, 2010 5:06pm - Shanti Pothapragada - nickname: (rgbdreamer)
I was playing with your zoom, and realized you could also save draws by checking to see if each sprite was on screen before drawing it.
November 28, 2010 4:57pm - Shanti Pothapragada - nickname: (rgbdreamer)
Cool stuff!

I'm running python 2.6. In td.pousePos() I had to add a 1.0 * to the math because before 3.0 python rounds down integer division by default (so it always thought the mouse was in the top left corner). After that change, I think everything worked- I could place unlimited things and nothing happened after my base was destroyed, but this is version 0.1, so I assumed that's how things are.

It's impressive how much you are doing with vector graphics. After killing enough enemies, my FPS started dropping. I think that if you kept one background surface, blit the corpses/blood to it (after the corpse animation is done), and then kill the still corpse sprites, you will be able to keep the game from slowing down.

I really liked the result of the over-turn on the machine guns! I hope to see some more types of turrets.

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

Jan 31, 2017

Jan 24, 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)