Harvest Horizon
Solo Project Developer
Engine & Tech Stack: Unity (C#)
Project Type: Solo Project
Development Cycle: 1-Month Dev Cycle
Platform: Web / Itch.io / PC / Mobile
Harvest Horizon combines resource gathering, crafting, and puzzle-solving into a tense race against the clock to restore an abandoned mining station. With only 20 minutes before your fuel runs out, how efficiently you manage your time and materials determines which of the two endings you trigger.
High-Stakes Time Limit: Race against a strict 20-minute countdown to repair the station before your transport runs out of fuel.
Resource Collection & Crafting: Gather materials across the asteroid and craft essential repair tools and security access badges.
Environmental Puzzle Solving: Repair critical systems on the rig to restore it to operational capacity.
Branching Outcomes: Experience two distinct endings determined by your choices, efficiency, and time management.
Dystopian Sci-Fi Narrative: Step into the boots of an expendable engineer operating under a cold, profit-driven corporation.
1. Resource Collection / Management:
Modular Inventory Architecture: Implemented a decoupled inventory system utilizing Unity ScriptableObjects. This allows the standalone mining minigame to modify a runtime-saved resource collection, which is then independently queried by the main crafting manager for recipe verification.
Illusion of Movement & Rendering Optimization: Designed a 2D vertical digging minigame using dynamic background sprite manipulation. To maximize performance on low-spec target platforms, the player character remains fixed along the Y-axis while background slices, hazards, and ore nodes shift upward. This kept the active background footprint down to just three recycled tiles.
State-Based Extraction: Engineered extraction states based on player risk tolerance (voluntarily ending the run, filling the robot’s capacity, or failing due to structural integrity loss, which forfeits collected yield).
2. Puzzle Solving:
Game Win Condition: Completing the game requires solving all four puzzle systems.
Electrical: Built a Flow-style grid-based node-connection algorithm. The manager detects drag vectors to dynamically instantiate specific line shapes, detects intersections to sever existing paths, and calculates win conditions by verifying full grid coverage and valid endpoint pairing across three escalating stages.
Fuel: Developed an 8x8 tile-rotation puzzle generator with guaranteed solvability. Upon initialization, the system generates a fully connected grid solution first, validates execution, and then applies random rotational offsets. A completion-percentage float dynamically drives the UI fuel gauge until total alignment (100%) is reached.
Circuit Breaker: Implemented a Lights Out puzzle system where each dynamic lever switch maintains arrays for connected target states (LeversToEnable / LeversToDisable). Toggling a switch flips adjacent dependencies to test logical state management.
Communications Terminal: Created a contextual terminal system inspired by classic command-line hacking. Text UI elements interface with a dynamic puzzle manager to parse player hover/touch inputs, providing instant visual feedback (color-coded state changes) based on riddle resolution.
3. Atmosphere:
Music: Built a time-driven dynamic audio manager. Every five minutes, the MusicManager executes dynamic crossfades between multi-track stems to elevate tension as the 20-minute countdown progresses.
Timer: Engineered a global TimerManager running continuously across all game states, scene loads, and sub-minigames. Time values are formatted from float deltas into a custom MM:SS:MS string display. Reaching zero instantly triggers the failure state sequence.
Help Guide: Authored system documentation and in-game help text as an in-universe corporate training manual, preserving player immersion through diegetic UI design.
Optimized for Mobile and Web: Reduced draw calls and physics overhead across web and mobile targets by replacing complex compound colliders with primitive shapes (boxes and spheres) and baking lightweight lighting/shadow profiles.
Input Optimization: Refactored the core input layer to detect active runtime platforms dynamically. The system automatically switches graphics presets and toggles contextual touch controls or mouse/keyboard schemes on boot.
Ideation and Prototyping
Mining and Puzzle Minigame Development
Graphics Development
Level Design
Particles/Lighting
Music/SFX
Marketing and Release
Platform Change: Originally this game was developed just for PC. However, after multiple public conference demos, I ported it to Android.