Wildore

Student Project

PROGRAMMER

PROJECT INFO

Duration

6 Monate

Team Size

2 Personen

Platform

PC (Windows)

Engine

Unity

State Machine

Procedural Generation

Context Steering

Procedural map generation featuring animal AI (herd behavior, hunger/sleep states) and targeted performance optimization with clean documentation.

SYSTEM 01

Animal AI

01

MY TASK

My task was to design and implement an AI system from scratch. During development, I came up with the idea of adding forest cows to the procedurally generated world.

IMPLEMENTATION

I built a Finite State Machine in C# where each cow independently manages its own four states. Movement is handled via Context Steering, which allows the cows to navigate naturally around obstacles. Herd behavior is handled through a proximity check, so nearby cows influence each other's decisions and react as a group.

WHAT I LEARNED

I learned to build basic states first to simplify testing, dropping the complex attacking state because it consumed too much time.

TECHNOLOGIES

C# FSM

Context Steering

Herd Behavior

Proximity Detection

Bild / GIF

hinzufügen

Bild / GIF

hinzufügen

C# — STATE MACHINE

Open code

SYSTEM 02

Context Steering

Context Steering

02

MY TASK

The task was to enable the cows to navigate toward a designated target point while dynamically avoiding obstacles. The primary goal was to ensure the pathfinding looks organic and natural, avoiding robotic or rigid movements.

IMPLEMENTATION

Implemented an 8-directional Context Steering system. It casts 8 rays to generate an Interest Map (target) and a Danger Map (obstacles). Obstacles add a danger weight to the respective ray. Blending both maps, the AI steers toward the highest score.

WHAT I LEARNED

I learned how to properly structure the game world and collision layers to ensure reliable AI obstacle detection. This project also taught me to critically analyze tutorials beforehand to check if their specific implementation truly aligns with my goals.

TECHNOLOGIES

Dynamic Obstacle Avoidance

Interest Maps

Danger Maps

Directional Weights

Bild / GIF

hinzufügen

Bild / GIF

hinzufügen

C# — CONTEXT STEERING

Open code

SYSTEM 03

Procedural Generation

Procedural Generation

03

MY TASK

My task was to design and implement a fully procedural generation system to dynamically build the world of my 2D game, ensuring unique and organic environments for every playthrough.

IMPLEMENTATION

I built a layered 2D world generator driven by separate Perlin noise maps. The system utilizes one noise map as a 'heatmap' for biome distribution, a second map to separate water from solid ground, and additional noise layers to scatter props like trees, grass, and cows. Every generation threshold is fully exposed as a tweakable slider in the Unity Inspector.

WHAT I LEARNED

Layering multiple Perlin noise maps taught me how to cohesively combine biomes, terrain, and props. I learned how to design and write custom blending algorithms to achieve smooth, natural transitions along the biome borders. Additionally, utilizing inspector sliders radically optimized my real-time balancing workflow.

TECHNOLOGIES

Perlin Noise

2D Tilemap

Custom Blending Algorithms

Bild / GIF

hinzufügen

Bild / GIF

hinzufügen

C# — PROCEDURAL GENERATION

Open code