top of page

Harvest Onslaught

ROLE

Level Designer / Game Designer

DESCRIPTION

Harvest Onslaught is a third-person mech horde shooter where you play as a former engineer-turned-farmer on Planet B-610. Armed with your self-built combat mech, ISO, you must defend your farm and family from relentless alien insect swarms (the Xylothraks). Fight, repair, and survive as you battle enemies while scavenging parts to fix your generator and restore the protective energy barrier that keeps the aliens out.

Development Time

6 months

GENRE

Third-person shooter

Engine

Unreal Engine 5.4

Level Design

 

In Harvest Onslaught, I designed a farm-themed, outdoor level with an open aesthetic while adhering to time constraints and a linear gameplay flow. To balance these needs, I focused on subtle player guidance techniques to ensure the experience felt natural and engaging.

Frame 7.png

Inspired by Disneyland's design philosophy, I placed the primary objective—a generator—at the map's center and highest point. This ensured the goal was always visible, allowing players to orient themselves intuitively. The gameplay flow revolved around this focal point in a circular path, minimizing backtracking and creating the illusion of a larger map, which reduced player fatigue and enhanced immersion.

Frame 8.png

​​

To further guide the player without making restrictions feel forced, I used natural barriers like rivers, forests, and mountains, alongside one-way paths such as cliffs and broken bridges. These elements shaped the gameplay flow while ensuring players experienced all designed sequences. Additionally, I incorporated two obstacles tied to Commander encounters, which gated progression and provided meaningful challenges.

​​​

One key moment involved a broken bridge visible after the first Commander encounter, hinting at future traversal options. While players initially had to take an alternate route to reach the generator—encountering a second Commander and an avalanche event along the way—the broken bridge later served as a shortcut for backtracking. It also indicated that the cliff ahead could similarly be used as a shortcut for returning to earlier areas. This dual-purpose design not only reinforced the linear flow but also encouraged exploration and rewarded players with a more efficient route upon completing their objectives.

BridgeblockerDissolve-ezgif.com-video-to-gif-converter.gif
Frame 9.png

This level design showcases my ability to combine thoughtful guidance, environmental storytelling, and creative problem-solving to craft an engaging and seamless player experience.

 

Gaea - Unreal

In Harvest Onslaught, I utilized Unreal Engine's Landscape tool to create the foundational structure of the outdoor level. While hand-sculpting terrain offers precise control for level design needs, it can appear artificial and detract from the immersive experience. To address this, I combined the Landscape tool with Gaea’s procedural generation capabilities to produce realistic yet controllable terrain that enhanced visual fidelity while meeting gameplay requirements.

Screenshot 2024-12-02 175440.png

​Gaea proved invaluable for crafting natural-looking landscapes through its flexible node-based system, allowing me to achieve lifelike effects by fine-tuning parameters. However, integrating Gaea with Unreal Engine presented several challenges. For instance, procedural adjustments in Gaea sometimes altered the level design’s intent—such as turning an impassable mountain into a navigable hill. To mitigate this, I rigorously tested and adjusted parameters in Gaea, followed by fine-tuning the terrain in Unreal Engine using the Landscape tool.

Another significant issue involved pipeline compatibility between Gaea and Unreal. The heightmap exported via Gaea’s Unreal output node caused Z-axis stretching error when imported into Unreal, resulting in distorted materials and improper displacement mapping, especially with Nanite assets. Despite a lack of available resources or solutions online, I resolved this through persistent experimentation. Ultimately, I identified the issue as a problem with Gaea's Unreal output node and successfully fixed it by switching to a different output node, restoring the terrain to its intended scale and material fidelity.

Screenshot 2024-12-02 200754_edited.png

This experience highlights my problem-solving skills, adaptability, and commitment to maintaining both gameplay integrity and visual quality in game environments.

 

Blueprint Scripting

As a level designer, I am responsible for using blueprints to implement most of the scripted events and some of the gameplay functionalities. Including:

 

Boss Encounters

image.png

Cinematic events

image.png

Cutscene skipping functionality

image.png

Scripted Events

image.png

Unloading irrelevant sublevels and triggering final encounter

image.png

 

Drown Damage

image.png

Destructible Environment

 

To emphasize the mech's heavy, powerful feel and align with our "unstoppable" design pillar, I made most in-game props destructible. This includes fences, gates, wooden crates, buildings, falling rocks, and more. Even certain enemies explode and break apart upon death, reinforcing the brutality of the mech's impact. The Procedural Content Generation Framework was also utilized to increase efficiency in deploying fences.

image.png
image_edited.jpg

 

I utilized Unreal Engine's Chaos Destruction system to implement these destructibles. Using the Fracture Tool, I divided static meshes into an appropriate number of pieces, then I used an anchor field to anchor the Geometry Collection containing the fragments. A master field was then configured and spawned to trigger breaks dynamically, such as when bullets collide with objects, the mech crashes through obstacles, or explosions occur.

image.png

 

To have better control over when to break, I added the second-level bones and adjusted their trigger parameters within the geometry collection. For instance, when rocks fall in-game, the initial explosion breaks the rock collection into individual rocks, while subsequent player attacks break them further into smaller pieces. Additionally, I adjusted the velocity and torque generated by the master field to control the pieces’ initial movement, ensuring dynamic and visually impactful destruction.

Untitledvideo1-ezgif.com-video-to-gif-converter (1).gif

 

For enemy deaths involving explosions, I retained the original static meshes for compatibility with pre-existing code, removing them only after generating the master field. To further enhance immersion, I integrated dissolution effects during debris removal,  because players tend to care more about the enemy than the environment.

image.png
Untitledvideo2-ezgif.com-video-to-gif-converter.gif

 

To optimize performance, I disabled debris collisions after objects break and implemented aggressive automatic removal timers. For props in larger quantities, like fences or falling rocks, I employed manual removal or customized removal logic to minimize performance impact while maintaining visual fidelity.

image.png
image.png

Niagara Effects

To provide players with better visual feedback, I utilized Unreal Engine's Niagara System to create various VFX elements for our game, including particle effects and flipbook animations. The fire effects in the flipbook were simulated and exported using EmberGen, ensuring high-quality and visually immersive results.

Beam​

Beam.gif
ShockwaveEffect-ezgif.com-video-to-gif-converter.gif

Shockwave, Stomp Effects & Material

Stomp.gif
ShockwaveMaterial-ezgif.com-video-to-gif-converter.gif

Blood Splatter Effects & Material

BloodSplatter.gif
image.png

Heal Transfer Effects, Dissolve Material & Blueprint

HealTransfer.gif
image.png
image.png
image.png

Emerge Effect

Emerge.gif

Blown Away Effect

BlownAway.gif

 

Swarm

Fire

Swarm.gif
FireInGame.gif

Explosion

Explosion.gif
bottom of page