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
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
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
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