Skip to main content

Python PyGame Tower Defence - 0.5.4

A TD implemented in python and pygame.


Austin Morgan
(duckfin)
I'm closing the gap to Beta status. I'll be giving this project the Beta tag when it hits version 0.9. I've got a lot of work to go before it gets there, but the game is already quite playable. The basics are typical to Tower Defense games all over.

There are only seven maps thus far, and only three playable. I have not put great effort into balancing them yet, as things change constantly. That said, I played through all of them before releasing this and found them to be fairly spot-on in difficulty, if a bit lacking in variety. Balance will not be a top priority until the Beta, version 0.9.

The art is nowhere close to tops and there is no sound whatsoever. I am neither an artist nor musician. If anyone would like to contribute either, I would happily give credit for your work.

Comments are welcome and encouraged!

Changes

Big update!

  • Changed HP back to losing one everytime an enemy leaves the screen. You now start with 20 HP, and gain 0.25 HP per turn.
  • Has a "Next Wave" button. Does exactly what you think it does.
  • Implemented the 'slow' ability for towers. It's pretty awesome :D
  • Changed the 'range' price. Its now 20, plus 20 for each range upgrade.
  • Added 'super slow' ability for towers. 'slow' brings enemies to 75% of their speed for 1.25 seconds; while 'super slow' brings enemies to 50% of their speed for 2 seconds.
  • New support for multiple enemy paths in a map.
  • Pausing has been removed. There are no timers anymore, just hit "Next Wave" whenever you want a new wave to come and take as much time between as you'd like!
  • Can have waves where the enemies come from different paths simultaneously.
  • Tower is now a base class for all towers, each of which will be a different class.
  • Testing of selected is now based on __class__ object instead of __name__ for Icon and Menu, and is based on containing Tower in __bases__ for Tower. This is more accurate, better code, and will lead to better performance and adaptability in the future.
  • Icon class now holds a type and the type's towerstats.
  • towerstats has become Basictowerstats, and Slowtowerstats has been created.
  • SlowTower class created.
  • Trimmed down the project folder. I hadn't realized how much extra, useless crap there was just lingering in it.
  • Towers now generate their upgrade/sell buttons. This will make it easier to add new upgrades for other towers.
  • Slow towers can now upgrade the 'amount of slow' applied to enemies, and how long it lasts.
  • Enemies' move modified for accuracy (can now handle float movement), and speed coefficients made equal (they move the same distance whether vertical or horizontal).

Links

Home Page
https://sourceforge.net/projects/ppgtd/
Source
https://sourceforge.net/projects/ppgtd/files/

Releases

Python PyGame Tower Defence 0.8.0 — 10 Mar, 2012

Python PyGame Tower Defence 0.8.1 — 14 Apr, 2012

Python PyGame Tower Defence 0.8.5 — 18 Nov, 2012

Python PyGame Tower Defence 0.8.3 — 15 Jun, 2012

Python PyGame Tower Defence 0.5.2 — 25 Feb, 2010

Python PyGame Tower Defence 0.2.4 — 7 Oct, 2009

Python PyGame Tower Defence 0.3.5 — 14 Oct, 2009

Python PyGame Tower Defence 0.2.1 — 6 Oct, 2009

Python PyGame Tower Defence 0.3.4 — 13 Oct, 2009

Python PyGame Tower Defence 0.3.2 — 12 Oct, 2009

Python PyGame Tower Defence 0.2.6 — 8 Oct, 2009

Python PyGame Tower Defence 0.3.0 — 11 Oct, 2009

Python PyGame Tower Defence 0.2.2 — 6 Oct, 2009

Python PyGame Tower Defence 0.5.7 — 1 Apr, 2010

Python PyGame Tower Defence 0.5.0 — 21 Feb, 2010

Python PyGame Tower Defence 0.5.1 — 25 Feb, 2010

Python PyGame Tower Defence 0.7.7 — 28 Jan, 2011

Python PyGame Tower Defence 0.7.5 — 9 Jan, 2011

Python PyGame Tower Defence 0.7.6 — 13 Jan, 2011

Python PyGame Tower Defence 0.5.6 — 14 Mar, 2010

Python PyGame Tower Defence 0.5.5 — 11 Mar, 2010

Python PyGame Tower Defence 0.5.3 — 2 Mar, 2010

Python PyGame Tower Defence 0.5.4 — 9 Mar, 2010

Python PyGame Tower Defence 0.8.6 — 17 Dec, 2012

Python PyGame Tower Defence 0.8.7 — 27 Aug, 2013

Pygame.org account Comments

  • Bemoniri 2012-01-06 14:21

    is there a way to win?:d

    James Lu 2012-06-17 21:56

    me too

  • Dylan Raub 2012-06-16 15:14

    Good to see you are still working on this! Good on ya, mate :D

  • James Lu 2012-06-17 21:55

    i'll upload my music soon
    when i get on win7...
    win 8 i can't do it, i secured it.

  • Steve 2012-06-19 02:20

    Rewards.py is missing from the latest build... I can't get it to run even if I grab Rewards.py from an older build though... will have a tinker with it and see if I can figure out why not...

    Steve 2012-06-19 02:26

     Got it running, that was my fault... but Rewards.py is def. missing

  • Austin 2012-06-19 02:26

    Thanks for the support, Dylan!

    Steve, Rewards.py isn't used in version 0.8.3. I replaced that whole mess with the Player Upgrade Screen, accessed by right-clicking on the XP Bar. If you're getting an import error, just remove the "import Random" line near the top of localdefs.py. I think that's the only one I missed.

    Thanks for all the feedback, guys!

  • A faggot 2012-07-09 12:43

    cool

  • sipiatti 2012-07-10 08:08

    ImportError: No module named Rewards
    It seems one file missed from the zipball?

  • Mich Nannings 2012-11-27 14:49

    it works nice, didnt find any bugs

  • wcb98 2013-10-08 01:30

    Great Game, but can you include python 3 builds?

  • Henry oven 2019-07-27 18:47

    Python is giving error on my laptop. My laptop has really slowed down, I think it has a virus. basketball legends

    Dan Chavarria 2019-07-27 19:01

    It was one of the games you played the most years ago, pyhon. I can't take time off now. get on top