Paws Up Zombieland

2D Zombie Tower Defense

Paws Up Zombieland is a 2D tower defense game based on Arknights in which you use up to 5 unique units to defend your base against a horde of incoming zombies. Made with a team of four using Unity in 8 weeks for INIT Build at FIU.

Engine: Unity | Role: Programming Co-Lead | Team Size: 4 | Duration: 8 Weeks

  • Created and managed GitHub repository for the project.

  • Implemented the scripts and each units respective mechanics, stats, and ability.

  • Implemented a grid-based placement system for units.

  • Implemented unit selection functionality and UI.

  • Implemented a save & load system with save slots.

  • Implemented scripts for the functionality of all of the game's UI, HUD.

  • Designed each of the levels in the game.

  • Balancing each units stats, attack range and abilities.

  • Assisted newer programmers with any problems they had with Unity and guided them so they could complete their features in time.

Code | Play on itch.io

Gameplay


Implementation: Units

  • The base script for each unit is PlayableUnit which is inherited by FighterUnit and HealerUnit.

  • FighterUnit is inherited by units that attack enemies. It contains the attack stat of the unit and a list of the enemies in range of the unit.

  • Unit abilities needed to be defined within each unit script which I implemented with an abstract coroutine function defined by units that extend either unit type.

  • HealerUnit is inherited by units that heal other units. It contains the heal power of the unit and a function to get all the units within a healer’s range is. It works by checking if the collider of a unit is overlapping one of the box colliders of the healer unit’s range.

  • The attack range of a unit is implemented using a prefab with a 2D box collider and then combined using a composite collider. The collisions are handle by the RangeCollider script.


Post-Mortem

The main obstacle the team faced was needing the more experienced members to mentor the teammates with less experience. Teaching them the main tools used, mainly Unity and GitHub, did take up some time to handle any issues that any teammates had as well as being the first time mentoring.

Other issues we had to deal with was not having a dedicated artist to make proper assets for the game. For myself, the challenge I had to overcome during this project was needing to wear multiple hats.

Needing to handle different aspects of the project simultaneously had me reconsider which tasks I needed to prioritize and which could be left for a later time or delegated to other members.

While I'm satisfied with how much of the game was completed within the 8 weeks, Features that would have been implemented with more time would include an indicator for the path the enemies will take before the next wave starts, as well as a tutorial during the first level.