Python PyGame Tower Defence - 0.8.0
A TD implemented in python and pygame.
Austin Morgan
(duckfin)
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
- Added new Archer tower art.
- Properly implemented the "CostMod" variables.
- Changed the player levelup system: Player abilities are now determined by the maps they have completed, and the rewards those maps give (see Rewards.py).
- Save/Load functions, as well as the Player class have been updated for this.
- Simplified the "player.txt" file as a result.
- Each map also has a related function in Rewards.py. When loading a player.txt file, each map that player has completed will run its related function from Rewards.py, granting bonuses or new abilities to the player.
- Changed the completedMaps variable to a set, so multiple wins on the same map will not give multiple bonuses.
- Modified the maps to be slightly more interesting.
- Does not save on each new wave, now only saves at the completion of a map.
- Melded the tower's sell function into "TowerAbilities", so that it may be granted from completing the "Simple" map.
- As Scores are no longer used, removed all references to them from the code.
- Removed PlayerUpgradeMenu.py and references.
- Removed textbox.py. There should be no references.
- Removed abilities.py and references.
- Removed functions "addCR" and "addHP" from player class.
- Added text at the top of the screen telling players to press 'N' to send the next wave.
- Adjusted the base stats for the two base towers. Both are now the same price, with the Fighter tower doing higher damage at a slower rate and the Archer tower doing low damage at a medium rate with a large range.
- Added an armored enemy type: "Armor".
- Added new tower: "Mage". Has high hit rate, average damage, yet very low range.
- Changed Icon creation so it is a function from player.modDict['towerAccess'], thus allowing giving new towers for winning maps.
- Corrected some code to allow for correct displaying of tower ranges.
- Added new Fighter tower art.
- Added an alpha'd white layer underneath tower images, as they are getting hard to see.
- TODO: Range is not working correctly!!!
- Range correctly working now.
- Got rid of Enemy Types, allowing finer-grained control in mapproperties.txt.
- Changed out the enemy's path tiles. While the previous looked a bit better, this simplifies path-crossing.
- Level3 implemented.
- Changed some tower ability names and filenames.
- Changed tower abilities so most of them can only be bought once-per-tower. In other words, it's now worthwhile for different maps to grant similar abilities. Note that granting the SAME ability will not do any good.
- Removed options.txt and references in code. The only option that was even active was the targetline option. It is now hardcoded as active.
- Removed quite a few unused files from the backgroundimgs folder.
Links
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
-
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...
-
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 legendsDan 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