Role: Unity Developer
Technologies: Unity, Firebase
Duration of my involvement: 2 years - during which the game was live on both platforms (mid-2023 - mid-2025)
Team: 2 developers, 1 Artist, Client
Company: Ingenious Studios
Single-player tower defense gameplay
~60 different enemies, ~25 different towers, ~125 campaign maps, ~100 trial maps
Different modes: Campaign, Trials, Arcade
~10 In-game Powerups
A deep upgrades system, with both temporary in-game tower upgrades and permanent upgrades
Seasons with 4 different Leaderboards
Lootboxes
Idle mechanics
In-App Purchases
Implemented a new game mode (Arcade/Flying Platform): The player places the towers on top of a controllable moving platform and tries to destroy as many creeps as possible
Implemented dynamic enemy spawning for this mode, controlled by a simple difficulty curve that the game designer can easily tweak
Implemented the arcade upgrades: platform speed, turret damage, additional tower placements etc.
Implemented most of the UI and in-game screens in the UI rework
Implemented a complex in-game Tower Panel UI with lots of dynamic elements, draggable on 2 axes with snapping, with buttons that react on click and on hold
Streamlined the iOS build process by automating several manual steps
Implemented several in-game features
New tower abilities
Tower snapping during placement
Enemy path indicators
Optimized gameplay performance
Implemented the new in-game effects in collaboration with the artist
Implemented the ironSource SDK for ads
Improved the game architecture so that its systems are more decoupled and the logic is more easily modified
The game architecture was not well structured - the game was functional, but bigger changes in the code required lots of time
Refactored the features as I worked on them, making them easier to decouple and integrate properly
Arcade/Flying Platform mode was very different from the existing gameplay, but it needed to reuse a lot of the existing gameplay functionality
Refactored the existing code where it was necessary, in order to reuse only the functionality that was needed for the new mode
Tower snapping was a challenge because Unity's tilemap, that was used for maps, didn't support getting the closest point to its edge
Came up with a solution that simulates placing the tower in several places and picks the most optimal one. Made sure that the solution is optimized and does not affect the game performance