88  88 88   88 .dP"Y8 88  dP Yb  dP 
88  88 88   88 `Ybo." 88odP   YbdP  
888888 Y8   8P o.`Y8b 88"Yb    8P   
88  88 `YbodP' 8bodP' 88  Yb  dP    

Soulfyre
2026
6 month development time
Gameplay Programmer

What is Husky?

Husky was the first project that was meant for a the start-up studio Soulfyre that at current time sadly hasn't found it's funding and was there for cancelled after 6 months in developement. For this project I took on the role as the companies sole programmer, in charge of getting the prototype ready for getting funding and after that laying out the definite layout for its code base.

Since the projects design wasn't done by me I won't speak much on it so I'll keep this brief. The game was a top down, turn based stragegy game that utilized a hex grid map.
My work on the projects prototype

When I first joined the project it already had a substancial amount of code created for its prototype. While this code wasn't up to standert in terms of using it for a long term project. It would have been good enough to use for the games prototype in use of showing potential investers. So my first goal would be to finish some of its lacking features. For this I worked on the following

- Made the turn order sorting more dynamic so that it sort based on each units initiative value.
- Added an animation state system using the Animancer unity plugin. This system changes the units animation when moving, using an ability, taking damage or dying.
- Created a bark system that plays a certain audio clip when an action is performed such as using an ability or starting an units turn.
- Created a way to play VFX when using an ability or taking damage.
My goal with the projects system design

With this project I wanted to create a system that was highly flexible in its funtionality. So that most of it's systems can easily be reused by design for whatever purpose they may need. For this goal I have done the following:

- Tiles contain an abstract class called TileType that determines the functionality of a tile when for example: stepping onto or off a tile
- Tile object functionality is split into multiple modules, making it so that each tile object can have different functionality simple by assigning different modules to it
- Numbers used are from an Interface, making it possible to use different numbers from different sources. For example: numbers can be gathered from the units stat component
- Damage calculations are a composet value, making it easy to change to way damage is calculated or even make it different for each unit

If desired you can view the code I had written for the project in the following github repository.
UML outlining a part of the games system design. Showcases how the grid was suppose to be setup and work together with other systems