Overview
The Wizard was one of the central systems in Project Strong Arm and was planned from the first week of development. From the beginning, the player was intended to ascend the tower, overcome enemies and environmental puzzles, confront the Wizard in the final encounter, and escape the tower.
Because the Wizard represented the player's final challenge, it became one of the most interconnected systems in the project. I was responsible for nearly the entire Wizard pipeline, including character creation, texturing, rigging, animation, gameplay programming, combat systems, state management, encounter progression, and audio/visual effect integration.
While another team member occasionally assisted with troubleshooting particularly difficult issues, the overall design and implementation of the Wizard and its systems were my responsibility.
Design Goal
The goal was to create a final encounter that encouraged players to actively engage with multiple gameplay systems rather than simply fight a stationary enemy. The Wizard needed to support combat, multiple attack phases, environmental interactions, and clear player feedback while providing a satisfying conclusion to the game.
The character needed to support:
Character Creation
The Wizard was one of the largest asset pipelines I completed for Project Strong Arm. I was responsible for creating the character from sculpting through to the final textured game-ready asset, ensuring it could support animation, gameplay programming, and the final boss encounter.
Development began in ZBrush where I sculpted the base character, establishing the primary forms and proportions before moving into 3ds Max to create the modular clothing, armor, mask, belt, accessories, and game-ready mesh. The character was designed using separate modular components so each piece could be edited, textured, and animated independently while maintaining a cohesive silhouette.
Once modeling was complete, I optimized the mesh for real-time use, ensuring clean topology around major joints to support deformation during gameplay. The finished character was then textured to establish the Wizard's final visual identity, combining cloth, leather, metal, and emissive materials that matched the project's stylized art direction.
Initial high-poly sculpt created in ZBrush to establish the character's overall proportions and anatomy.
Clothing, armor, accessories, and costume pieces were modeled separately to support a modular workflow.
Final optimized game mesh prepared for rigging, animation, and Unity integration.
Completed materials establishing the Wizard's final appearance for the game.
Rigging & Animation
After the character was completed, I rigged the Wizard in 3ds Max using a humanoid skeleton with additional bones for the cape and lower robes to support secondary motion during gameplay.
I created the complete animation set used throughout the boss encounter, including idle, walking, attack, healing, and spawn animations. Each animation was designed to communicate the Wizard's current gameplay state while providing clear visual feedback to the player.
Once imported into Unity, the animations were connected through an Animator Controller. Animation states were driven by gameplay scripts, allowing seamless transitions between movement, attacks, healing and combat phases while synchronizing animation events with gameplay logic.
Gameplay Systems
Phase One
The Wizard enters Phase One as soon as he appears in the game. During this phase, he moves toward the player and checks the distance between himself and the player at set time intervals.
Based on that distance, the Wizard chooses between two attacks. If the player is close enough, he performs a melee punch. If the player is farther away, he launches a fireball toward the player. These attacks only occur when the player is within the Wizard's line of sight.
Transition 1
When the Wizard's health is reduced to the required threshold, Transition 1 is triggered. This moves the Wizard out of the first attack phase and into the healing pause state.
Pause State
The Pause State begins with the Wizard moving toward the center of the Summoning Circle. Once he reaches the correct position, a protective shield is generated around him and the Wizard begins healing.
While this state is active, the player can no longer continue damaging the Wizard directly and must interact with the environment to progress the encounter.
Transition 2
To return the Wizard to a vulnerable combat state, the player must destroy the Orrery positioned above him. The system continuously checks whether the Orrery has been broken.
Once that condition becomes true, the healing state ends and the Wizard transitions into the second attack phase.
Phase Two
Phase Two follows the same basic structure as Phase One, but the attack timing is faster and the Wizard becomes more aggressive.
An additional fireball attack is introduced during this phase. Instead of always firing a single projectile, the Wizard can randomly launch either one or two fireballs toward the player.
Each time the attack logic runs, a random value is generated. That value determines whether the Wizard spawns one fireball or two, adding variation and making the final phase less predictable.
Health System
The Wizard uses a standard health system that receives damage from the player's attacks and reduces the Wizard's current health value.
The Flying Book enemy can also damage the Wizard, allowing another gameplay system to directly affect the boss encounter.
When the Wizard's health reaches zero, the death state is triggered and the Summoning Circle is activated, completing the encounter and allowing progression to continue.
Audio and Visual Effects
Sound Effects
Visual Effects
These effects helped reinforce player actions and communicate combat states.
Challenges
One of the biggest challenges during development was tuning the Wizard's combat timing and damage values so the encounter felt fair, readable, and satisfying. The fireball attacks needed to feel threatening without becoming frustrating, while still giving players enough time to react and reflect projectiles back at the Wizard.
The combat scripts underwent heavy iteration throughout development. Certain systems had to be revisited and rewritten nearly fifteen times before reaching a final implementation that reliably supported attack timing, damage, phase transitions, and player feedback.
Another major challenge involved the Wizard's navigation. When players punched the Wizard, the NavMesh system could occasionally cause the enemy to become stuck against walls, breaking the flow of the encounter. Additional debugging and iteration were required to improve movement behavior, collision handling, and positioning to ensure the boss could recover naturally from player interactions.
These challenges required continuous testing and refinement and provided valuable experience balancing gameplay feel while solving technical issues.













