Fallen Tree Dev Log: The Roots of Psychological Horror


Welcome to the first official Dev Log for Fallen Tree, the debut psychological horror project from VOODOO NOOKS. As a small team of passionate developers, we wanted to pull back the curtain and share the intricate process of crafting a game designed not just to startle, but to linger in the mind long after the screen goes dark. Psychological horror is a delicate beast; it thrives on atmosphere, narrative, and subtle environmental cues rather than cheap jump scares. In this log, we will explore the foundational decisions we made regarding the engine, the narrative structure, the soundscape, and the technical hurdles we overcame to bring the haunting world of Fallen Tree to life. Whether you are a fellow developer, a horror aficionado, or simply curious about what goes on behind the scenes, we hope this provides an insightful glimpse into the heart of our process.
The narrative of Fallen Tree began not with a script, but with a feeling. We wanted to evoke the specific dread of losing something irreplaceable in a place that feels actively hostile to human presence. The forest is not just a backdrop; it is an antagonist with its own fractured memory. Structuring the story required careful pacing. We mapped out emotional beats across the environment using Unreal Engine 5's Sequencer to build in-game cinematics that do not tear control away from the player, keeping them rooted in the protagonist's perspective.
Writing for Fallen Tree required a careful balance between providing a coherent narrative and maintaining the ambiguity that defines the psychological horror genre. The protagonist, Elias, is an unreliable narrator. His perception of the forest is filtered through trauma. To reflect this, we built a narrative system in Unreal Engine 5 that dynamically swaps texture arrays for signage and graffiti based on Elias's sanity level. A signpost might read 'Home' when the sanity is high, but 'Nowhere' when it degrades. This allows the environment itself to tell a fractured story without a single line of voiceover.
We structured the narrative into three distinct acts, each focusing on a different form of horror: the uncanny, the grotesque, and the existential. The dialogue system uses a weight-based decision tree. Silence is a valid choice, and often the most terrifying. We found during testing that players who rushed through the narrative missed key context, so we introduced soft barriers using the environment itself—collapsed paths or dense fog—forcing the player to confront the story at the location it unfolds. This design philosophy of purposeful friction ensures that the narrative sinks in deeply, mirroring the slow, creeping dread we aim to instil.
Atmosphere is the lifeblood of Fallen Tree, and our toolkit of choice was Unreal Engine 5's Lumen dynamic global illumination and Nanite virtualized geometry. While high-fidelity graphics are impressive, we needed to ensure that the beauty of the forest felt deceptive and alien. We built a custom material function for the tree bark that subtly pulses with organic light, suggesting the forest itself is breathing. Lighting was a battleground between realism and psychological manipulation. We reused shadow casting and volumetric fog in ways that are technically sound but emotionally disorienting.
The environment art for Fallen Tree draws heavily from the British countryside, specifically the New Forest and the darker woodlands of Scotland. We spent two weeks on a research trip, capturing photogrammetry of roots, moss, and decaying leaves. These assets were processed into high-fidelity textures and then optimised for Nanite. The forest is procedurally generated using a custom blueprint system we call 'The Planter'. It places trees, rocks, and foliage based on biome maps we painted in-engine. We used Landmass for the terrain layers and physically based materials for the ground that react dynamically to rain.
The horror in the environment often comes from subtle incongruities—a tree that has a door built into its base, a glade that is perfectly circular, or a path that loops back on itself spatially. We tied the environment to the Unreal Engine Time of Day system, but we manipulate the 'Sun Angle' independently of the player's progress, making the passage of time feel non-linear. The Foliage system in UE5 was a game-changer for performance, allowing us to render millions of instanced grass blades and small plants without a huge performance hit, provided we were careful with culling distances. Early playtests showed that pure darkness was frustrating, but a well-lit corridor with a single shadow out of place was terrifying. This principle of 'uncanny familiarity' is the core tenet of our environmental art direction.
Sound design in a psychological horror is arguably more important than the visuals. Our audio engineer devised a system built on procedural audio blending. Instead of pre-recorded loops, the forest's ambient hum changes based on the player's proximity to narrative triggers and their psychological state. We recorded hours of Foley in an actual forest in the UK, capturing the specific crunch of wet leaves and the distant drone of insects. The game's core horror comes from the lack of a traditional score. When the player is safe, the forest is quiet. When danger approaches, the soundscape crumples—low-frequency rumbles that we blended with sub-bass oscillators to create a sense of physical pressure.
We elected to use Wwise for our audio middleware due to its robust spatial audio and dynamic mixing capabilities. The score, composed by a collaborator who specialises in dark ambient, is entirely procedural. It has no traditional melody. Instead, it is built from drones, glissandos, and the noise of processed field recordings. We recorded the sound of a dying tree (stressed wood cracking, leaves rustling) and processed it into an instrument. The audio system listens to the same 'World State' manager. When the 'Dread' level increases, the mix dynamically attenuates the high frequencies, giving the player a sense of physical muffling, as if they are being submerged.
We also created a complex occlusion system. In most games, a wall between you and a sound source just lowers the volume. In Fallen Tree, the occlusion is also a filter that adds reverb and delay based on the material of the obstruction. This was a massive undertaking in Wwise, but it results in sounds that feel physically grounded in the world, making the supernatural sounds of the creature even more jarring when they ignore these physical rules. Getting the reverb correct for the underground caverns in Chapter 3 took two weeks of iteration, but the result is an audio environment that feels as oppressive as the visuals.
From a technical standpoint, Fallen Tree presented a unique challenge: how do you script a world that reacts to the player without feeling like a theme park ride? We relied heavily on Unreal Engine 5's Blueprints visual scripting system for rapid prototyping of mechanics. The core loop relies on a 'World State' manager. This manager tracks over 300 boolean variables that control everything from dialogue trees to the position of the sun. The creature's AI is a hybrid of predictive pathfinding and simple Boids-like flocking logic. It does not hunt you directly; it nudges you towards narrative points. We called this 'The Shepherd' during development.
The 'Sanity' system is the core mechanic of Fallen Tree. It is not a health bar. Instead, it is a lens through which the world is rendered. Programmed primarily in Blueprints with some custom C++ functions for performance, the system takes input from the player's actions: staying in the dark too long, witnessing traumatic events, or getting lost. As sanity drops, the system triggers a cascade of effects. The most complex was the 'Reality Bloom' system. This uses a master material parameter collection to drive everything from the brightness of emissive materials to the tessellation of the ground geometry.
Performance was a massive hurdle. Nanite handled the high-poly assets beautifully, but the sheer density of the forest could tank framerates. We had to write custom occlusion culling in C++ for the ground-level foliage because the standard system struggled with the depth of our procedural forests. We also built a dynamic Level of Detail (LOD) system that aggressively reduces geometry when the 'Dread' intensity meter is high, creating a stylistic blurring effect that actually reduces GPU load while enhancing the horror vibe. At low sanity, the world breaks apart visually—geometry stretches, colours invert, and audio stutters. The challenge was ensuring this did not break the game's collision or pathfinding. We had to tie many of the visual effects to a separate visual-only world that overlaps the physical one.
One of our guiding principles was 'less is more'. The entity in Fallen Tree is rarely fully visible. We spent months concepting a creature that felt ancient and arboreal. Its design is based on the negative space between tree branches. When it does move, it uses a vertex animation system we built by blending Skelatal Mesh animation with World Position Offset materials. This makes it look like the forest itself is contorting. The creature in Fallen Tree underwent over 50 iterations. We knew it could not be a standard bipedal monster. It needed to feel like a force of nature. The creature is based on a humanoid frame, but its limbs are unnaturally long and its skin is made of gnarled wood and moss.
The animation uses Unreal Engine's Control Rig extensively. We built a rig that allows the animator to directly control the 'flow' of the creature's movement. It moves by sliding its roots across the ground, never walking. The reveal of the creature is carefully scripted using the Level Sequence system. Most of the time, it is completely invisible. We used World Position Offset in the material to make it blend seamlessly into the bark of trees. When it moves, the player can only tell by a subtle distortion in the background parallax. The true horror is when it stands perfectly still in the middle of a path, looking exactly like a dead tree, until the player steps closer.
VFX played a huge role in bridging the gap between the natural and the supernatural. Our particle systems for the 'Memory Fragments' were built using Niagara, layering noise textures over simple geometry to create ethereal, dissolving shapes. The UI is intentionally bare. We hide health and sanity behind subtle visual cues—screen chromatic aberration, desaturation, and vignette. We believe that a HUD breaks immersion in psychological horror. Removing the numerical feedback forces the player to rely on their own intuition and the protagonist's breathing cues, deepening the connection to the character and the dread of the unknown.
Developing Fallen Tree has been a journey of restraint and discovery. The biggest lesson we learned is that true psychological horror requires a level of patience from both the developer and the player. It is easier to build a dark room than a bright forest that feels haunted. It is easier to script a jump scare than to engineer a slow-burn sense of dread. We had to unlearn many of the standard 'gamey' design principles to achieve the mood we wanted. The most rewarding feedback has been from playtesters who described feeling a profound sense of melancholy and unease, rather than just adrenaline. This confirmed that we were on the right track.
As we move towards a public demo and eventually a full release, we have refined our pipeline significantly. We plan to release more dev logs covering our gameplay mechanics, specifically the 'branching dialogue' system and the puzzle designs that are tied directly to the lore. For now, the forest stands firm, waiting for those brave enough to step inside. We hope this log has provided a valuable look into our process. Happy developing, and stay wary of the dark.