TESORO
Position
Programmer, Game Designer, Project Manager
Description
Tesoro is a classic single-player 2D side-scrolling platformer driven by a casual design goal: to create an accessible and atmospheric exploration experience for all types of players, featuring a unique Kirby-inspired character transformation mechanic.
Working closely with our art team, I served as the gameplay programmer and project manager, responsible for turning their visual concepts into a playable reality.
My contribution focused on building the core transformation state-machine, integrating the FMOD audio engine with persistent saving, and assembling the levels inside Unity using Tilemaps and dynamic 2D lighting.
Project period
4 month
Project type
2D Side Scroller, Jump'N'Run
Used Software
Unity, Visual Studio, Sourcetree
Team size
5

Level Design
Tutorial Design & Player Guiding
Technical Implementation & Environment Art
-
Safe Learning Environment: Designed the onboarding section to introduce core mechanics step-by-step. Players learn to jump and sprint in risk-free areas before facing actual hazards.
-
Pacing & Rewarding: Structured the progression to build atmosphere, culminating in a vertical climbing section that rewards the player with a scenic viewpoint and the game's title reveal.
-
Efficient Workflow: Utilized Unity's Tilemap System to rapidly prototype, graybox and iterate on the level layout, ensuring precise tile snapping and smooth collision handling.
-
Visual Depth: Programmed a multi-layered Parallax Background System to inject a sense of scale and depth into the 2D space.
-
Atmospheric Lightning: Set up custom 2D cone lights to simulate sunbeams piercing through the forest canopy. Implemented a dynamic lighting transition that shifts from dim shade to bright daylight as the player climbs to higher altitudes.
Programming

Singleton Pattern
Centralized Audio Management
-
Global Accessibility: Implemented a robust Singleton Pattern for the AudioManager class, allowing any gameplay script to easily trigger sound effects and music cues from anywhere in the scene.
-
Data Integrity: Enforced a strict encapsulation model using a public getter and a private setter for the static Instance. This guarantees that only the class itself can initialize or modify the global state, preventing scene-load conflicts.
-
Scene Persistence: Designed the architecture to persist across level transitions, ensuring seamless background music continuity and preventing audio cutting during loading screens
FMOD Integration & Sound Options
-
Adaptive Audio Workflow: Integrated the FMOD Studio middleware pipeline into Unity to control looping, pitch variation and real-time volume modulation directly from the audio events.
-
Dynamic Mix Control: Programmed custom scripts using the FMOD library to interact with the Master, Music, SFX and Ambience buses, giving precise structural control over the game's overall mix.
-
Persistent Player Options: Developed a functional UI audio options menu using Unity's PlayerPrefs class to quickly cache and load player volume preferences across scene changes and game restarts.

Player States
Enum-Based State Machine
-
State-Dependent Physics: Implemented a lightweight, enum-based state machine within the player script to manage character behavior. Used conditional switch statements across the codebase to selectively execute movement, input and physics calculations only for the currently active state, keeping the execution pipeline clean and efficient.
-
Dual-Form Gameplay Mechanics: Engineered two distinct character forms with unique ability sets:
-
Human Form: Handles standard platforming mechanics including running, sprinting and jumping.
-
Blob Form: Actively alters the player's physical capabilities, enabling crouching through tight passages and climbing specific walls.
Animation & Visual Feedback Integration
-
State-Driven Animations: Coupled the gameplay logic directly with Unity's Animation System. The script dynamically updates parameters within the Unity Animator Controller based on player input and state transitions to trigger smooth visual changes.
-
Form Transformation: Wired the shapeshifting action to a dedicated button input, instantly swapping both the underlying gameplay mechanics and the visual representation via the Animator.








