Farm Rush is a 3D endless runner game developed in C++ and OpenGL.
Heavily inspired by the classic Subway Surfers, this project reimagines the genre in a rural, nocturnal setting. You take control of a tractor charging through an endless farm, dodging hay bales, scarecrows, and horses, all while navigating a world that dynamically curves beneath your wheels.
Project Context: This game was developed for the Introduction to Computer Graphics course, fulfilling the requirements of the 2025 Project Assignment.
- Procedural Level Generation: Utilizes a deterministic pseudo-random hashing algorithm to spawn environmental assets (trees, windmills) and a randomized pooling system for obstacles, ensuring a unique layout for every run.
- Curved World Effect: A custom vertex shader bends the geometry of the world, recreating the iconic "horizon" effect found in Subway Surfers.
- Lighting & Atmosphere: A rich night-time environment featuring toggleable tractor headlights (Low/High Beams), illuminated street lamps, and glowing windmills.
- Shadow Mapping: Implemented custom shadow mapping using Framebuffers and PCF, allowing obstacles to cast dynamic shadows on the ground based on the tractor's high beams.
- Continuous Animations: Features smooth animations including interpolated steering, velocity-based wheel rotation, and dynamic chassis rumble (engine vibration) that intensifies with movement.
- Collision System: Utilizes a radial distance-based detection algorithm to calculate precise impacts between the player and obstacles.
- Progression Mechanics: Distance-based scoring system with dynamic difficulty scaling - the tractor's forward speed automatically increases as the score gets higher.
| Key | Action |
|---|---|
| W / S | Accelerate / Brake |
| A / D | Steer Left / Right |
| F | Toggle Headlights (Low Beams) |
| G | Toggle High Beams |
| R | Restart Game (After Game Over) |
| ESC | Quit Game |
You can download the latest playable build from the Releases tab of this repository.
- Go to the Releases section on the right sidebar of this page.
- Download the latest
.ziparchive. - Extract the archive to a folder on your computer.
- Run
Farm Run.exeto start the game.
If you want to build the project from source or modify the code, you need to configure the development environment first.
Please refer to the internal documentation found in the framework folder or check the official setup tutorial:
- 📖 Framework Documentation: Read the Framework README
- 🎓 Step-by-Step Tutorial: OCW Setup Guide
- C++
- OpenGL
- Custom Shaders (GLSL)
- GFXFramework
Drive safe and watch out for the horses! 🐎