Python PyGame Tower Defence - 0.7.6
A TD implemented in python and pygame.
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!
- 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.
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
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
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?