Python PyGame Tower Defence
Python PyGame Tower Defence - 0.8.0
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!
It has come to my attention that I did not balance the maps correctly after these new updates! I will get a fixed release out soon!
- 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
- 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
- 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.
click to view original size
|Python PyGame Tower Defence - 0.8.7 ||- Aug 27, 2013|
|Python PyGame Tower Defence - 0.8.6 ||- Dec 17, 2012|
|Python PyGame Tower Defence - 0.8.5 ||- Nov 18, 2012|
|Python PyGame Tower Defence - 0.8.3 ||- Jun 15, 2012|
|Python PyGame Tower Defence - 0.8.1 ||- Apr 14, 2012|
|Python PyGame Tower Defence - 0.8.0 ||- Mar 10, 2012|
|Python PyGame Tower Defence - 0.7.7 ||- Jan 28, 2011|
|Python PyGame Tower Defence - 0.7.6 ||- Jan 13, 2011|
|Python PyGame Tower Defence - 0.7.5 ||- Jan 9, 2011|
|Python PyGame Tower Defence - 0.5.7 ||- Apr 1, 2010|
|Python PyGame Tower Defence - 0.5.6 ||- Mar 14, 2010|
|Python PyGame Tower Defence - 0.5.5 ||- Mar 11, 2010|
|Python PyGame Tower Defence - 0.5.4 ||- Mar 9, 2010|
|Python PyGame Tower Defence - 0.5.3 ||- Mar 2, 2010|
|Python PyGame Tower Defence - 0.5.2 ||- Feb 25, 2010|
|Python PyGame Tower Defence - 0.5.1 ||- Feb 25, 2010|
|Python PyGame Tower Defence - 0.5.0 ||- Feb 21, 2010|
|Python PyGame Tower Defence - 0.3.5 ||- Oct 14, 2009|
|Python PyGame Tower Defence - 0.3.4 ||- Oct 13, 2009|
|Python PyGame Tower Defence - 0.3.2 ||- Oct 12, 2009|
|Python PyGame Tower Defence - 0.3.0 ||- Oct 11, 2009|
|Python PyGame Tower Defence - 0.2.6 ||- Oct 8, 2009|
|Python PyGame Tower Defence - 0.2.4 ||- Oct 7, 2009|
|Python PyGame Tower Defence - 0.2.2 ||- Oct 6, 2009|
|Python PyGame Tower Defence - 0.2.1 ||- Oct 6, 2009|
Pygame.org account Comments
If you wish to leave a comment with your pygame.org account, please sign in first.
pygame.org welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
Oct 1, 2015
Sep 11, 2015
Sep 6, 2015
Aug 26, 2015
Aug 25, 2015
Aug 21, 2015
Aug 16, 2015
Jul 30, 2015
Jun 24, 2015