Harvest Rush cover

Harvest Rush

Released: Aug 2026

Description

Harvest Rush is a one or two player farming game about running out of time, built in the multitasking tradition of Overcooked. A delivery truck docks at the edge of a tile-based farm with an order to fill, and you have until it leaves to fill it. That means tilling soil, sowing seeds, watering crops through their growth stages, and carrying finished carrots, wheat, and tomatoes to the loading dock. Pests burrow up from the corners to steal produce, and fires spread across the field and block the paths you were counting on. With two players the whole thing becomes a shouting match about who is doing what.

Key Responsibilities

Architected and implemented a high-performance 2D game engine in modern C++ (C++20) and SDL3 using a cache-friendly Entity Component System (ECS) pattern.


Engineered grid-locked tile glide movement, directional facing systems, and unified context-sensitive interaction resolution for independent dual-player keyboard control.


Implemented A* pathfinding for pest AI navigation, integrating dynamic obstacle avoidance via blackboard coordinate sets to navigate around live fires and fellow critters in real time.


Developed a recursive backtracking procedural order generator with reachability pruning, ensuring wave orders match balanced labor budgets without deadlocks or impossible requests.


Designed and built a modular interaction timer system supporting player-freezing channels, partner abort safety, and flood-fill fire extinguishing logic.


Created custom TTF font rendering with dynamic outline generation, color-flash shader effects, and atomic file I/O pipelines for persistent high-score serialization.


Built automated Python sprite-sheet packing scripts and configured cross-platform CMake build systems and automated test harnesses.

Technology Used

icon_cpp.svg

C++

icon_sdl.svg

SDL3

icon_cmake.svg

CMake

icon_python.svg

Python

icon_aseprite.svg

Aseprite

icon_photoshop.svg

Photoshop

Features

Frantic Couch Co-op & Solo Play

Two people share a keyboard, or one person runs the farm alone. Three game lengths (Short, Medium, Long) change the wave budgets and how hard the hazards push, so a solo run is tuned differently rather than being the same game with fewer hands.

Context-Sensitive Tool Pipeline

There is a single action button. What it does depends on the tile you are facing and what you are holding: tilling with a rake, planting from a reusable seed bag, watering a plot, pulling a crop up by hand, or setting produce down on a work table. You never hunt for the right key.

Dynamic Farm Hazards: Pests & Spreading Fire

Pests come up from burrows in the corners and take crops off plots and tables. Fires scorch neighboring tiles and cut off paths. A rake sweeps the pests away and a watering can puts out fire, so the tool you need for the emergency is usually the one you just put down.

Wave-Based Delivery Truck & Score Chasing

Waves run back to back. The truck arrives at the loading bay wanting specific produce, and filling the order pays out per crop plus a completion bonus that grows as you keep up. The day ends on a results board that keeps top runs per farm and mode.

Vibrant Countryside Atmosphere & Feedback

A 16:9 pixel-art farm with animated growth stages for every crop. Color-tint pulses, fill meters, and audio cues tell you what changed, which matters when both players are watching opposite corners of the screen.

Screenshots

Additional Information

This was my capstone final project for CS 5850 (Building Game Engines) at Northeastern University, built on top of an engine I wrote from scratch over the semester.


The design borrows the co-op panic of Overcooked and the farming loop of Stardew Valley.


The decorative background art on the title screen, help menu, and end-of-day scores screens is generative AI. I ran out of time to illustrate three full-screen images before the deadline. Everything in the game itself, the sprites, tiles, and HUD, is a mix of my own assets and public assets from itch.io.


Playtesting cut two mechanics I had been attached to: running to a central water trough, and stockpiling produce in storage bins. Both slowed the game down. Passing tools hand to hand and staging crops on tables replaced them.


It used to have a hard quota you either met or failed. That made the fires and pests feel punishing instead of funny, so I moved it to a score attack where every crop you load still counts for something.


I wrote a headless test harness that ran 50,000 simulated wave generations to check that the procedural delivery algorithm was actually fair, rather than trusting that it looked fine in play.


Solo and two-player runs have separate tuning profiles across the three lengths (Short, Medium, Long).

Get in Touch:

Copyright2025 - 2026 | All rights reserved