top of page

Forests and Ruins

Platform | Halo Infinite

Engine | Halo Infinite Forge

Role | Level Design

Team Size | 1

Overview

Halo: Forests and Ruins was created as a study piece to practice my combat encounter design and blockout skills. The overall level was designed to replicate the feel of a standard Halo level with a largely linear path set with encounter beats and controlling a gradual ebb and flow of intensity before a final holdout.

​

As part of this project, I focused on the tasks:

  • Level layout and landmark centered design

  • Level blockout

  • Node-based gameplay scripting

Gameplay

Planning

From the start, I wanted this level to feel like something that would seamlessly fit into a campaign from Halo, with a focus on a level that progressed in a linear way, but provided interesting encounters and locations to keep everything feeling fresh.

​

I took inspiration in my initial planning from levels such as 'Sierra 117' from Halo 3 with it's winding jungle and use of verticality to show new locations. I know I also wanted a final holdout section where the player had to defend themselves through increasingly difficult waves of enemies, where I referenced 'NMPD HQ' from Halo 3 ODST  and 'Pillar of Autumn' from Halo Reach with each respective level culminating in a desperate last stand.​

To start my own planning, I put together a diagram with the key gameplay beats I wanted to ensure were carried into the final design. This included the lookout from where the player would first be introduced to the level, the gates where the player would be introduced to the switch mechanic for opening them, later to increase in difficulty, and to the final wave holdout at the radio tower.

Forests and Ruins Diagram.png

Finally, I sketched out a rough draft map of the level, outlining the spaces with initial plans. While this would later be changed through iterations, I made sure to label sections that I wanted to remember, such as patrol encounters, snipers alleys, and where certain viewpoints would be.

Forests and Ruins - Cropped Map.png

Blockout

Stepping into the forge editor, I started outlining the main paths with primitive shapes to give a sense of the level's flow.

​

One key point I wanted early on was the viewpoint of the radio tower and factory building, highlighting the player's end objective, as well as showcasing the rest of the map. To ensure I kept scale in mind while building, I used a stand in object to act as the factory, lining up paths to keep this in view at key locations.​

Halo_ForestsAndRuins_Overview.png

Level Opening / Forest

The opening I wanted to be tight and close quarters to give the player the sense they were sneaking around, truly in enemy territory, before having the reveal of the radio tower and an open valley. A one way valve forces the player onwards, as well as foreshadowing the switch mechanic with a broken switch and gate (I also added functionality to this switch so if the player does try to interact with it, they have a small alarm play and sparks, teaching them this is an interactable feature).

For the radio tower reveal, I framed the radio tower with cliffsides to draw the player's focus, and used lines from the cliff fencing to add to the effect. This viewpoint also reveals the lower village as the player approaches the edge, which I later drew attention to with a Phantom dropping off enemy AI.

Cave Patrol

The player first encounters a patrol of enemies in a narrow corridor obfuscated with plenty of rocks for cover. The enemies were selected as a simple encounter, easing the player into gameplay

The cave gives a small amount of breathing space, using a small stream to lead the player to the exit. A small pocket at the stream's origin rewards exploration off the primary path with a short range weapon. At the exit, the player gets a lookout point of the abandoned village, giving the player time to survey the area and form a plan of attack.

Abandoned Village

Before entering the village, the player has a viewpoint from the cliff top the cave exits onto, giving them time to evaluate the landscape below them and form a plan before leaping in.

The village initially was designed symmetrically, but I decided to rework it to have some variation between the two sides of the village to give the fight some variation. The southern side features cover with a small ledge for a height advantage, while the northern river side has powerful equipment, but puts the player in a position with little cover against the sniper across the water.
​
Once the encounter is complete, the player interacts with a switch to begin opening the gate. This triggers a squad of Elite reinforcements to drop in from behind the player, reversing the battlefield and placing the player on the defensive.

Sniper Alley

Winding, narrow corridors to inspire anxiety and caution as the player is unsure where the attack may come from. Short ledge to give player advantage of height.

​

Opens to circular area to give breathing space, encouraging the player to loop around and spot the new exit via climbing. Radio tower is once again framed to showcase their progress.

Factory

Exterior provides a short encounter in a tighter space, cover important to keeping the player moving and safe. Switch has been moved to add additional layer to switch mechanic, requiring player to follow the wires to the building interior. Once switch is used, they are able to see the silos burst open to reveal a pair of hunters.​

​Inside, the building is laid out in a symmetrical way, allowing the player to spend less time working out their direction and plan, and instead leap into the action. Small alcoves provide space to catch their breath and health, while verticality is supported with catwalks and moving overhead crates.

Landing Pad

Final holdout section broken into 4 key sections, with gameplay centered around central upper and lower platforms. Upper platform open space with sightlines on side platforms where enemies arrive, lower platform offering more shelter while restricting visibility.

​

Multiple paths provided to encourage movement. Culminates in final boss arriving on central platform. Ends with Pelican rescue arriving to collect player.

Scripting

Visual node based scripting used to create a custom level.

​

* Switches for doors

* Dynamic player spawn points

* Dynamic non-diagetic music

* Enemy design and encounters (patrols, reinforcements, etc.)

* Final wave based holdout

Switches

One key element I wanted for the level were switches that were connected to doors gating player progress. I wanted to make this a gradually introduced mechanic to the player, so I broke it down into three key parts:

​

1. Introduce the mechanic

2. Increase the mechanic's importance

3. Place the mechanic in a new way

​

The mechanic is first introduced more subtly, with the player passing through a broken gate with a switch. The player can still interact with the switch, though it only plays a small alarm and triggers sparks, acting more to foreshadow the later mechanic.

At the abandoned village, the player is faced with the switch right before the gate, a clear wire connecting the two objects. On interacting, the door begins to slowly open, and reinforcements are dropped in for the player to defend against.

At the factory entrance, I added a level of complexity to the gate obstacle by having the switch not be immediately visible. Instead, the player is required to follow the wire running from the factory door to a nearby building to locate the switch and progress.

Enemy Encounters & Waves

In Halo Infinite's Forge engine, the game can handle a maximum of 32 active AI characters at one time. To ensure too many weren't being loaded in at any given time, area triggers were used to monitor the player's progress and to spawn in enemies at the correct time, while also clearing any previous leftover enemies.

The final holdout was the most complex, consisting of multiple reinforcement waves, a boss, and looping final waves. This was scripted with 4 distinct phases

Final Thoughts

Overall I was happy with the outcome of this blockout, and during testing it felt like I'd achieved something that carries the feeling of a campaign level.

​

While constructing the layout, I identified a few areas I'd like to revisit with the skills I'd learned in this piece, including giving more breathing room between the factory interior and exterior combat encounters to avoid having too high an intensity for too long, as well as improving the cover placement in combat to give the player more options as well as supporting a more natural flow to movement between spaces. Enemy balancing also needs some refinement, as it can get a little chaotic at the end!​​

​​All in all, I'm happy with the outcome and achieved my learning goals around blockout practices and working on my encounter designs.

 

Thanks for coming along on this journey!

bottom of page