Go Back
Up on the Hill
Project Info
Project Status
Project Type
Project Duration
Game Engine
Language(s)
Platform
Primary Role(s)
Team Size
Active
Personal Project
4 Weeks (April 2024 - May 2024)
Unity
C#
WebGL
Designer, Gameplay Programmer, VFX Programmer, UI/UX Programmer
2 (1 Artist, 1 Programmer)
About
Up on the Hill is a short and cozy 2D adventure puzzle game that captures a poignant day in a little girl’s life as she journeys up a hill. This is a personal project that I started because of an artist friend, and it is one of the few personal projects that I fully completed. This game will be published by Make With Friends with an update planned for next year, 2025 before May.
Roles and Responsibilities
-
Project Setup and Source Control
-
Collaborated with lead designer to improve existing ideas and contributed to new ideas
-
Imported all the 2D textures and animations
-
Built the level according to designer's level mockup
-
Designed and Implemented Gameplay Mechanics, including:
-
Simple creature random roaming behavior
-
Animations for player, creatures, and interactable (NPC)
-
Implemented Dialogue System
-
-
Developed and Integrated UI Elements such as:
-
Splash screen
-
Tutorial UI
-
Dialogue UI (letterbox effect, NPC icon, animated next indicator)
-
Obtained item UI
-
Animated speech bubble UI for interactable.
-
Credits screen
-
-
Implemented Audio Systems for:
-
Player's randomized footsteps
-
Spatial ambient sounds
-
Item audio cues / dialogue sound effects
-
-
Created Visual Effects, including:
-
Leaves and grass swaying shader.
-
Particle systems for falling leaves.
-
Player Movement
Player movement allows player to have horizontal movement with adjustable speed. Sprinting (by holding left shift) increases speed via a sprint multiplier, with animation speed dynamically syncing to movement. The player sprite flips based on movement direction for correct orientation. The script also adjusts ground interaction, using a smooth material while moving and a friction material when stationary to prevent sliding.


Creature Roaming Behaviour
Creature roaming behavior enables the creature to moves back and forth within set boundaries. The creature randomly chooses a direction, moves for a randomized time, then idles briefly. If it reaches the roaming limit (end of a radius), it flips direction and idles before resuming movement. Randomized walking and idle times make the behavior appear random and unpredictable, with the sprite flipping visually to face its movement direction.


Dialogue System
Dialogue system has a letter-by-letter typing effect with adjustable typing speed. The system supports multi-line dialogue stored in an array that players can advance through by pressing a key, with a brief delay and an animated next indicator icon signaling when they can proceed. Each NPC has their own icons and it dynamically positions itself next to the dialogue box to ensure proper alignment with the dialogue text.



Randomized Footsteps Audio
Footstep audio system syncs with the player’s movements done through animation event and alternates left and right sounds for a natural feel. The default set of footstep audio are for outdoors and when players collides with the indoor trigger, the set of footstep audio will be changed to indoors. It also randomly selects footstep sounds to avoid repetition.


Spatial Audio
Spatial audio system adjusts ambient sound volume according to the player's distance from the source. Within a set range, the volume remains steady up to a certain point, after which it smoothly fades to zero as the player moves toward the edge. This adds a natural, immersive audio experience to the game.


UI / Menu
-
Splash Screen
-
Tutorial UI
-
Dialogue UI
-
Letterbox Effect
-
NPC Icon
-
Animated next Indicator
-
-
Animated Speech Bubble UI
-
Obtained Item UI
-
Credits Screen




Shaders / VFX
Sway Shader
This shader creates a gentle swaying motion for objects like grass or trees, simulating wind. It smoothly shifts surface positions with adjustable speed and strength, adding randomness for natural variation.


Falling Leaves Particle System
Two types of particle system were implemented to simulate falling leaves, enhancing the atmosphere of the game's nature environments. Randomized sizes, rotations and fall patterns through the use of noise was utilized to create the effect.


