Python PyGame Tower Defence
Python PyGame Tower Defence - 0.8.1
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!
- Optimized the distance formula for finding enemies within range of a tower.
- Added a chaining system: the chaining bonus increases by 1% each time an enemy
is killed. It decreases automatically over time. Each tower gets a different
bonus from a chain: fighter towers gain a damage bonus, archer towers gain
a range bonus, and mage towers gain a speed bonus.
- Fixed an issue with centering enemies on the path.
- Added hp, maxhp, and ac stats for towers.
- Added attack bonus and damage stats for enemies.
- Enemies now attack towers in range, with a similar function to towers.
- Towers that are at 0HP or below cannot attack until brought above 0HP.
- Towers that get to -10 HP or below are destroyed.
- Towers heal at a rate of 1HP per enemy wave.
- Added the "Cleric" tower. It heals every tower and damages every enemy within
range each time it fires. Its damage is unaffected by enemy armor.
- Lowered player health to 10.
- Fixed the formula for the location of the text for upgrades when displayed in
the radial menu around a tower.
- Removed some stats from towers that were unused.
- Corrected a tower's totalspent variable to take into account tower abilities.
Now, selling a tower gives you exactly half of everything you spent on it.
- Changed tower abilities to modify a tower's base variables by a percentage.
This way works better when stacking abilities. Certain tower stats will be
modified by static amounts, and never by percentages.
- Added a new line of abilities: specific upgrades that mimic a "class
progression" or "level up" in an RPG.
- Folded the Archer class into a variant upgrade path for the Fighter tower.
Called an "archetype", similar to the Pathfinder RPG class variants, these
variants change the tower in major ways in regards to both stats and
purpose. In addition, an archetype usually results in a change of the
tower's image. A tower can usually only have one archetype, and an archetype
can usually only be chosen before any class upgrades have been applied.
- All archer mod variables have been removed from the player class.
- Added support for changing what stat is improved by chaining.
- Class upgrades, including archetypes, are unlocked by completing levels.
- Class upgrades increase the tower's level. Towers now heal their level in HP
for each wave sent.
- Added the Negative Cleric archetype, concentrating on area damage by giving up
the ability to heal other towers.
- Switched the Mage tower for the Cleric tower as the second default tower.
- Changed the current map names to show intended progression better. "Basic0"
corresponds to "Simple", and the following "Basic" maps correspond to the
"Level" maps. It is recommended you clear you player.txt file.
- Rewards are now as follows:
- Basic0: Gives the option to sell a tower. Allows upgrading a Fighter tower.
- Basic1: Allows upgrading Cleric towers. Opens Archer archetype.
- Basic2: Allows ExtraDamage1 ability. Opens Mage tower for use.
- Basic3: Allows ExtendRange1 ability. Allows the second Fighter tower level.
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.
May 22, 2015
May 18, 2015
May 7, 2015
May 6, 2015
May 3, 2015
May 2, 2015
May 1, 2015
Apr 30, 2015
Apr 27, 2015
Apr 26, 2015