Siege and Desist

Duration

6 months

Platform

Android

Tech Stack

C#
Unity
PlayFab
Google Play
GitHub
Trello

Project Type

Collaborative

My Roles

Lead Programmer
Game Designer

Siege and Desist

Defend, fight, and strategize in this thrilling tower defense and action hybrid! In Siege and Desist, you must protect your stronghold from relentless waves of enemies by building lethal traps and powerful turrets to halt them in their tracks.:brThen, jump into the chaos yourself—charge into battle with your hero of choice and unleash devastating attacks on anything that dares to advance.

Game Concept

Siege and Desist is a mobile game blending tower defense and hero-based combat. Players build traps and turrets to defend the portal to their homeland from enemy waves, then jump into battle with unique, upgradable heroes wielding powerful weapons. It’s a thrilling mix of strategy and action.

Media

Development Process

As the lead programmer, I was responsible for:

  1. Developing all gameplay systems and mechanics
  2. Building backend using PlayFab to manage player data, inventory, and economy
  3. Integrating CAS.AI for in-game rewarded ads
  4. Developing custom Unity editor tools, reducing development, iteration, and testing time.

Technical Challenges

The main technical challenges for Siege and Desist revolved around optimizing the game for mobile performance across a wide range of devices.

  • Unity Addressables - Enabled cloud-based asset loading (heroes, textures, levels), and implemented a data-based approach for traps, turrets, and enemies, significantly reducing prefab counts and simplifying asset management
  • Memory Optimization - Used object pooling for enemies, projectiles, and effects; applied texture compression for minimal memory use.
  • Sprite Packing - Combined sprites into atlases to reduce memory usage and draw times, enhancing performance for a 2D game.