HILL CLIMB RACING
A 2D Unity prototype where players drive a vehicle across procedurally generated hills, balancing speed and tilt to stay upright as fuel depletes.
Project Type: Unity Game
Role: Game Developer
Date: March 2025
Project Context
For a self-directed Unity assignment, I built a physics-driven game featuring procedurally generated terrain, responsive vehicle controls and a fuel management system—where fuel depletes over time and must be replenished through in-game pickups—plus a restart button, going beyond tutorials to deliver a fully playable prototype.
Live Prototype

Problem Statement
Beginner Unity 2D tutorials rarely combine procedural terrain, physics-based controls, resource management, and UI into a single cohesive prototype, making it hard for developers to practice integrated workflows.
Project Goal
Strengthen my Unity 2D game development skills by building a prototype that ties procedural terrain, physics, fuel management and UI together seamlessly.
My Role
-
Game Developer: Wrote C# scripts for the vehicle controller, terrain generator, obstacle spawner, fuel system, and game manager.
-
Rester & Refiner: Ran playtests, collected feedback, and tuned physics and obstacle pacing for balanced challenge.
Tools Used



-
Unity Engine: Scene building, physics simulation and UI.
-
Visual Studio Code: C# scripting for gameplay logic.
-
GitHub: Version control and collaboration.
Design Process
1. Designing & Planning
Researched Unity’s Rigidbody parameters for realistic vehicle physics and Perlin noise techniques to generate varied hill terrain.
2. Environment Setup & Development
-
Installed Unity and created a new 2D project with the Universal Render Pipeline.
-
Turned each sprite into a prefab with Sprite Renderer and Collider components for physics interactions.
-
Wrote a C# script using Perlin noise to procedurally place hill prefabs at runtime, creating varied, endless terrain.
-
Scripted the vehicle controller in C# for acceleration, fuel drain and pickup fuel canister logic.
3. Testing and Iteration
-
Conducted five playtests to observe vehicle behavior and game pacing.
-
Tuned Rigidbody parameters (mass, drag, torque) and obstacle placement for a balanced challenge.
-
Added a quick-restart button and refined UI visuals based on tester feedback.
Learnings & Outcomes
-
Playable Prototype
Delivered smooth physics, varied terrain, and a functioning fuel system with no major bugs. -
Skill Growth
Deepened my understanding of Unity’s physics API, procedural content generation, and event-driven scripting. -
Design Insights
Fine-tuning physical parameters is an iterative process—small tweaks can dramatically improve “feel.”
Future Improvements & Next Steps
-
Score Tracking & LeaderboardsPersist high scores locally or online to foster competition.
-
Multiple Vehicles & UpgradesLet players unlock or upgrade cars with different physics profiles.
-
Mobile Controls & UI Polish
Adapt input to touchscreens, refine HUD visuals, and add particle effects. -
Level Progression
Introduce themed worlds, obstacles, and checkpoints for deeper engagement.
Conclusion
​Hill Climb Racing demonstrates my ability to integrate physics, procedural generation and UI into a cohesive Unity prototype. It’s a solid foundation for more complex game features and prepares me to tackle full-scale game projects.