Remote Bomb Shrine

Ongoing Unreal Engine 5 project which recreates the remote bomb mechanics and a shrine style level from The Legend of Zelda: Breath of The Wild.

  • Logic was scripted in Blueprints and cutscenes in Sequencer

  • I used the Third Person Character (TPC) template as a foundation.

  • I used Git / GitHub for source control.

Asset Credits:

UI Elements - Kenny Game Assets

Cube bomb icon - From BOTW itself

Sphere bomb icon - Darius Dan

Reference tutorial, character animations - UE4WithCasey

All vfx - Rimaye.Std

Current Project Goals:

Currently I’m iterating on level design and gameplay beats. I have a first draft complete so please see the breakdown further below.

Longer term, once I’m satisfied with the remote bomb I may move onto more of Link’s abilities! It would be really exciting to have built my own versions of each of them inside the same project.



Level Breakdown

The goals for the shrine-style level are the following:

  • Create a shrine level that captures the gameplay experience & environmental vibe from the real game.

  • Make full use of the remote bomb mechanic.

  • Work with the assumption that the player has no previous experience with the mechanic.

Pre-Blockout

I brainstormed different ideas & gameplay beats that I could do. I wanted to keep the overall experience similar to the real game so I borrowed a few commonly used shrine mechanics. This gave me a bit more to work with.

  • Interaction posts that can be triggered by a bomb’s explosion

  • Cannons that launch bombs far distances

  • Spheres that trigger interactions when they land in a designated hole.

These gave more concepts to play with and I ended up with the concept below.

After I landed on the above concept I created a quick bubble map and worked backwards to determine what the player needed to learn to understand the final challenge.

Blockout

This initial draft simply connects each space represented on the bubble map above. You can see the overall level layout below.

Entrance

We start with a safe space for players to learn and play around with the mechanics and controls. Plenty of objects to destroy and a few gems to collect.

Moving Platform Challenge

The first challenge the player encounters is to get to the chest on the brown platform. They can’t stand on the moving white platform all the way there so they’ll need to use a cube style bomb to destroy the chest’s platform and make it fall down.

Learning how to use interaction posts

This area introduces interaction posts, we communicate the mechanic by having a looping demo open a side area. Bombs continuously fall then detonate the post opening up and then closing a gate.

Final Challenge

The final challenge has the player use a block cannon to launch the bomb onto a platform. They blow up a cube found there which becomes a sphere and rolls into the hole below. Once in the hole the door to finish opens.

Mechanic Breakdown

Players can spawn, drop, pickup, throw, de-spawn, and detonate bombs. There are cube and sphere shaped bombs, there can only be 1 of each bomb present in the world at a time, and both types can exist at the same time.

This was a really great learning project for me because it covered a lot of basic types of player related logic: moving objects around, special abilities (detonate), and changing logic based on UI selection.

BP Example - Detonate Event

The TPC calls a detonate event on the currently selected bomb.

The bomb does the following:

  • A sphere trace to find all nearby actors.

  • Organizes relevant hits only in a clean array.

  • Spawns a Niagra system, handles physics & visibility on the bomb mesh.

  • For each relevant hit: calls an interface function “HandleDetonatedLogic”. Every detonatable object (including remote bombs) has the interface & a event trigger to respond accordingly.

Initially this event was implemented pretty messy. It looped through all actors found by the trace & each actor was run through a list of casts.

By using an interface & cleaning our array this works significantly better than the original.