Python PyGame Tower Defence - 0.7.6
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
- EventFunctions.leftCheckSelect added to check for clicking on icons or towers.
- Mouse click events changed so you can select a different tower even when there is already a tower selected.
- Mouse click events changed so you can left click an empty area to deselect a tower.
- Towers can be selected directly even with an icon selected.
- EventFunctions now return True if they had an effect, and False if no actions were taken.
- Towers no longer print their damage amounts (part of the debugging code was left in, in the last release).
- EventFunctions.placeTower created to handle placement of towers.
- EventFunctions.leftSelectedIcon created to check for valid conditions to call placeTower.
- EventFunctions changed to typically return in the form: selected,XXXb where XXXb is a boolean indicating change, with XXX being the function initials.
- EventFunctions.leftAlreadySelected created to manage left clicking while having a selected that isn't changing.
- EventFunctions.mouseButtonUp created to handle entire mouse click event structure.
- Changed "if" statements in event checklist to "elif" for a (very) slight bump in event speed.
- EventFunctions.nextWave created to handle the event of asking for next wave.
- MainFunctions.dispIcons created to handle display of icons.
- Main event structure slightly reworked to, again, bump the speed very slightly.
- MainFunctions.workEvents created to completely handle all events.
- Event structure modified (yet again) to re-enable quitting...
- Began moving base enemy stats into types: EnemyTypes created.
- Enemy speed changed to base=1.
- Type column in mapproperties replaces XP column.
- Enemy types: Weak (1 cr, half hp) and Healthy (2 cr, 3/4 speed, but high hp).
- Since enemy cost is now held in EnemyTypes, the Cost column of mapproperties is changed to Time. This is the delay between each enemy in a wave.
- EnemyType Speedy added: half again cost and speed.
- Player starts with only 30 cr, towers costs are reduced, tower ability costs reduced.
- Simple map's mapproperties changed around, possibly balanced (?!?!), and end wave added.
- localdefs.genEnemyImageArray changed to load different images for each type.
- Tower abilities now check to see if player has the needed credits to upgrade.
- Now, when a Tower is selected and showing its abilities as icons, you can move the cursor over an icon and it will display the name and cost/profit for the option.
- Ability icons' info now is restricted to the screen.
- Fixed new issue with using upgrades.
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