Solo Unreal Engine 5 prototype — Norwegian forest horror where you outsmart the Huldra instead of fighting her. On hold since 2022, but better scope than Project Babel and a clearer antagonist.
You are alone in a photoreal Nordic forest that feels wrong in quiet ways — light that does not reach the ground, paths that seem to rearrange, sounds that mimic something familiar. The Huldra watches. She does not announce herself with a health bar. She tests whether you notice the trap before you walk into it. Survival is navigation, observation, and nerve.
Unreal Engine 5 is the backbone — Lumen for dynamic lighting in dense forest scenes, Nanite for high-fidelity geometry without hand-authoring every LOD transition. Assets move through a familiar pipeline: sculpt and block in Blender and ZBrush, surface in Substance Painter, assemble and light in-engine.
In folklore the Huldra is beautiful from the front and hollow from behind — a metaphor for temptation and consequence. In the prototype that translates to mechanics: she draws you toward shortcuts, sounds, or glimpses that feel like progress but cost distance from safety. The design question is never "can you shoot her?" It is "did you understand what she wanted you to do?"
Development started in June 2022. For two years it was my primary personal game project — learning UE5 as the engine matured, rebuilding environments as the art bar moved, and prototyping the core loop in parallel. It went on hold in mid-2024 when client work and life bandwidth made a solo horror prototype hard to sustain at the pace it deserved.
Pausing was the right call. Huldra is not cancelled — the folio, the assets, and the design notes stay. When it resumes, it resumes with a vertical slice mindset, not an open-world one. Project Babel taught me that lesson the expensive way.
The next chapter, whenever there is room for it, is a playable vertical slice: one forest route, one Huldra behaviour set that feels unfair in the right way, and one escape sequence that proves the loop. Everything else waits until that loop is fun to lose in.