Twisted Towers

I wrote this game as my final project for Harvard's course, CS50, and I'd call it my first program written completely independently. It helped me get a sense of how to transition to object-oriented programming, as opposed to the mostly procedural programming I'd learned up to that point. Twisted Towers is a tower defense style game that I wrote with Python's Pygame library.

Get the game

Twisted towers is a Windows desktop application run as a .exe file. To play, download the game as a zip file using the link provided below. Then, extract the files and open the "Game Files" folder. Within this folder is a file named "main.exe" (not main.py). Click this program to run the game.

Note

Unfortunately, I wrote this game with fixed dimensions without considering smaller monitors (doh!). The game requires a Windows computer with a monitor height of 760 pixels or greater to display properly (otherwise the bottom of the screen is cut off).

How to play

The goal of the game is to build and upgrade towers to shoot at the oncoming horde of enemies traveling along the path toward the castle. If an enemy is able to reach the castle, they will damage the castle. Take enough damage and the castle will fall and everyone in it will perish... so build those towers! You can build towers by clicking the dirt patches on the ground, then clicking the circle that appears next to it. You can then upgrade towers (up to 2x) into elemental towers by clicking the circle located the tower's base and clicking the elemental circle of your choice. Once constructed, towers will automatically fire at passing enemies.

Earn money by killing monsters and use that money to build and upgrade more towers to continue fighting off the horde. Survive long enough for the hero mage to rally to your cause to win the game. You can learn more about enemy types and tower types using in game menus from the home screen. Furthermore, if you find things a bit too difficult or too easy, you can adjust difficulty settings from a menu off the home screen as well. For a quick overview with visuals, you can check out my video below where I explain the game for the final project of my class.

TwistedTowers

A tower defense game built in python's Pygame library.

To start game launch main.exe (main).

To start the game from source, launch main.py. Python 3, and Pygame 1.9.3 required.

In game, enemies will travel along the dirt path toward the castle. The player can defend against enemies by building towers. Towers are constructed by left-clicking circles on the ground, and then clicking the adjacent circles that appear next to the first circle clicked. The game is lost if enough enemies reach the castle. The game is won if the player survives long enough for the hero mage to come to the rescue. Information on enemies and towers can be found in tabs in the main menu.

Have fun :-)

- VerdantFox

Code by Theodore Williams

Visuals:

Background by Theodore Williams

All enemy images obtained from League of Legends, Riot Games, and edited by Theodore Williams

Towers from pieced together from open source paint3D objects and edited by Theodore Williams

Music:

Anamalie by Kevin MacLeod is licensed under a Creative Commons

Attribution license (https://creativecommons.org/licenses/by/4.0/)

Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1500007

Artist: http://incompetech.com/

Fall of the Solar King by Twin Musicom is licensed under a Creative Commons

Attribution license (https://creativecommons.org/licenses/by/4.0/)

Artist: http://www.twinmusicom.org/

Amazing Plan - Silent Film Dark by Kevin MacLeod is licensed under a Creative

Commons Attribution license (https://creativecommons.org/licenses/by/4.0/)

Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100737

Artist: http://incompetech.com/

Hero Down by Kevin MacLeod is licensed under a Creative Commons Attribution

license (https://creativecommons.org/licenses/by/4.0/)

Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100880

Artist: http://incompetech.com/

Evil March by Kevin MacLeod is licensed under a Creative Commons Attribution

license (https://creativecommons.org/licenses/by/4.0/)

Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100727

Artist: http://incompetech.com/

Video Game Soldiers by Twin Musicom is licensed under a Creative Commons

Attribution license (https://creativecommons.org/licenses/by/4.0/)

Source: http://www.twinmusicom.org/song/295/video-game-soldiers

Artist: http://www.twinmusicom.org

Warrior Strife by Jingle Punks

Action Hero by Jingle Punks

Bensound-epic - Bensound.com

Bensound-instinct - Bensound.com