StartedMay 25th 2022
Time4 weeks
LanguageC#
EngineUnity
Last Pipe of Defence is Tower-Defense prototype. The goal is to survive as long as possible against waves of enemies. For this project I needed to make a "contract" with the teachers, then when they approved the idea, I started working on the game.
You live on a small island. But suddenly, you see boats in the distance full of intruders. You need to start defending your island by building turrets.
The player can build turrets, pipes and extractors. Turrets use up energy which gets provided via the pipes. Extractors are placed on crystals to provide additional energy. Turrets automatically aim and shoot towards the nearest enemy.
The player can get more buildings by picking a card at the end of each wave. These cards are of different rarity to try and make the game harder.
The player plays on randomly generated islands based on seeds. Each seed will provide the same kind of island, crystals, waves and cards. This is so the player can try again on the same island.
The pipes system is the most important mechanic of the game. It is used to provide energy to turrets. The pipes are placed on the map and are connected to each other. The player has different types of pipes to make the game a bit more challenging.
The pipes system works like this:
This is the mechanic that forms the base of the game. When the player selects an item from the inventory, it will be selected and a "skeleton" of the item will be placed at the selected tile. When the player clicks on a tile, the item will be placed and removed from the inventory.
When the player wants to delete an item. It will be selected the same way as normal items. But there won't be a skeleton made. When the player clicks a tile, the item will be destroyed. There is also a random chance based on the health that the item won't be returned to the inventory.
The waves system spawns enemies based on a difficulty score, this score is based on the amount of waves the player fought. The spawner will spawn templates, each template has its own difficulty, minimum wave and maximum wave to spawn in. The spawner will then spawn the enemies based on the template.