· Game Dev  · 4 min read

Arachnid Journey: Building a Spider Exploration Game in UE5

A seamless dive into Unreal Engine 5, combining procedural IK locomotion, custom Blender assets, and AI state machines to bring an eight-legged protagonist to life.

A seamless dive into Unreal Engine 5, combining procedural IK locomotion, custom Blender assets, and AI state machines to bring an eight-legged protagonist to life.

Overview

As part of a collaborative game development course, my team and I set out to build a 3D jungle exploration game from the perspective of a custom-modeled spider. Originally designed as a learning journey to transition our skillset from Unity (and beginner backgrounds) into Unreal Engine 5, the project quickly evolved. It became an exciting technical sandbox for us to test procedural animation, AI behaviors, and asset-creation pipelines.

Character Design & Procedural Locomotion

At the core of the experience is our spider protagonist, modeled and rigged entirely from scratch in Blender. While we initially experimented with keyframed locomotion loops, it became clear early on that static animations couldn’t naturally conform to an uneven jungle terrain.

To solve this, we built a Procedural Locomotion System using Unreal Engine’s skeletal mesh. Utilizing Inverse Kinematics (IK), the spider plants its eight feet dynamically based on the environment:

  • Raycasting: Downward raycasts detect the complex terrain surface ahead of the spider’s path.
  • Curve Interpolation: Foot movement interpolates smoothly along a curve to the new targets, adapting dynamically to the character’s movement speed and maintaining a natural rhythm without traditional animation clips.

Physics & Mechanics

To make the player feel like a true arachnid, we implemented a dynamic Web-Weaving Mechanic. By pressing ‘Q’, a forward raycast detects environmental surfaces, dynamically spawning and connecting Cable Components between hit points to simulate web lines.

The spider itself features a detailed physics asset. Individual leg bones utilize physics bounding boxes, enabling dynamic physical interactions—like physically pushing away smaller enemy ants purely through simulated body collision rather than canned, scripted events.

Environment & Materials

Setting the tone of the jungle relied heavily on custom workflows and lighting:

  • Materials: We utilized Substance Designer to author terrain rock materials, layered and exported with normal, ambient occlusion, and height maps. For the spider’s fuzzy look, we bypassed heavy hair simulations (which presented export overhead from Blender) and opted to build a procedural noise material entirely in Blender, baking it down to stylized textures. Inside UE5, we created a Master Landscape Blend material to smoothly merge our substance rocks with a grassy base.
  • Lighting & Foliage: The jungle comes to life using a directional light and skylight combo. We heavily tweaked the post-processing volume via custom tint, exposure, and bloom. For the flora, after successful but time-consuming experiments with Unreal’s Procedural Content Generation (PCG) structure, we pivoted to the UE5 Foliage System painted with VRS_LowPoly_NatureEssentials assets to deliver a polished environment within our strict academic scope limit.

NPC AI & Audio Systems

To ensure the jungle didn’t feel empty, we populated the environment with custom NPCs:

  • The Ant: Utilizing an imported skeletal model, we authored keyframe animations inside UE for idling and running. Its AI is driven by a state machine that patrols waypoints, chases the player upon line-of-sight, initiates a jumping attack in proximity, and falls back to patrol if sight is lost.
  • The Mushroom: A custom static NPC modeled in Blender (combining stem, head, arms, and eyes, baked to a single mesh) focused on interaction behaviors.

The world is tied together with a comprehensive audio scope containing proximity attenuation (like environmental fire effects), spatialized background ambiance, and action-triggered audio for jumping and web-slinging.

Lessons Learned & Future Work

Transitioning a project of this scale from scratch to UE5 was an incredible learning experience for the team. We quickly realized the difference between simply knowing a feature exists and understanding the exact production pipeline required to export from Blender to Unreal efficiently.

Because tasks like custom AI and physics interactions took longer than anticipated, we learned the importance of aggressive scoping—trimming advanced mechanics like a full spider-vs-ant combat system to ensure we delivered a cohesive, playable build. If time permits in the future, I would love to revisit that combat system and vastly expand the initial level design.

Back to Blog

Related Posts

View All Posts »
Evaluating LLM Outputs at Scale with Python

Evaluating LLM Outputs at Scale with Python

A practical walkthrough of the evaluation harness I built to benchmark LLM response quality, latency, and cost across multiple models — using DeepEval, custom rubric scorers, and OpenLit for observability.