
Scare Crow
Enemy AI Designer
Project Overview
Scare Crow is a 3rd-person stealth-driven tower-defense game where you play Casey, a crow trying to stop squirrels from stealing her birdseed. Ambush enemies and set traps to scare squirrels away!
INFO:
GENRE: 3rd-person stealth; tower-defense
TOOLS: Unity, C#, Behavior Trees
TIMELINE: May 2024 - May 2025
I was the Enemy AI Designer, where I:
Prototyped, iterated on, and polished 3 enemies and 7+ behaviors
3 Enemies: 1 standard enemy, 1 tanky enemy, 1 speedy enemy
7+ Behaviors: Perception (sight + sound + scent), predetermined pathfinding, reactions to the player, retreating
Defined standards for AI behavior implementation
Implemented 10+ enemy paths and 5+ enemy waves in 2 levels
This team had 35+ developers with 3 total game designers.
My Contributions: Enemy AI
Features I Implemented
Universal AI Behaviors
Perception: Sight and sound detection, scent for acorn lures
Scent: Attracts squirrels towards acorns that the player can throw
Invasion: Move on preset paths towards target bird feeders
Confused: Pause slightly when the player is detected
Taunting: If the player is detected for too long, squirrel enemy laughs
Scared: Squirrel retreats, or runs out of the map if scared with a trap
Enemy Types and Unique Behaviors
Standard Enemy — Basic Squirrel
Runs along path towards bird feeder — uses all universal behaviors
Tanky Enemy — Big Fella
Requires 2 scares to eliminate completely instead of just 1
Speedy Enemy — Picky Eater
Speedily zig-zags along the path, making trap placement harder
Tech Used to Implement Features
Unity, Behavior Trees, and C# Scripting (for custom tree nodes)
Other Responsibilities
Taught 4 teammates how to use Behavior Trees to create AI behavior
Implemented 10+ enemy paths and 5+ enemy waves in 2 levels
My Design Process + Goals
Established design goals and constraints
Wrote feature spec and reviewed it with design + engineering teams
Prototyped behavior with Unity, C#, and Behavior Trees
Iterated and polished feature based on playtest feedback
Enemy AI Design Goals + Constraints
Enemy reactions should be outlandish to emphasize a cartoon world
Players should feel smart when scaring enemies and setting traps
Design Case Study: Enemy Pathfinding
Feature #1 : Enemy Pathfinding
Starting the Process + Rising Issues
Design Constraint: Players should be able to outsmart enemies with traps and scare setups, given they have enough resources to do so
My Task: Create a pathfinding system that gives players enough time to scare enemies away from a bird feeder
Initial Idea: Enemies move from waypoint to waypoint on their way to the bird feeder, selecting their next point when they reach their target
This worked on The Veiled Ones, so why not implement it here?
Design Intent: Players will lure enemies towards traps regardless of the path the enemy is taking
After implementing this initial idea, I watched live playtests and recordings to analyze player behavior, which revealed some problems:
Immediate Effect: Players did not know where enemies were going, even when bird feeders were highlighted on the map
Resultant Effect: Enemies were able to reach the bird feeders without the player being able to set traps and plan scares properly
I realized that these problems arose because the waypoint based pathfinding did not make the paths of the enemies clear enough, due to my assumption that horror game pathfinding (from The Veiled Ones) would work for a tower-defense game. This prompted some action:
Actions I Took to Fix The Feature
Designed a preset-path based system where enemies would navigate along splines placed in the level
Placed 5+ paths for enemies to follow in 2 levels
Results From These Actions
Players understood how enemies moved and players had enough time to place traps intelligently, outsmarting enemies as intended
Key Design Takeaway
Keep the genre of the game in mind when designing systems!
Feature #2 : Bird Feeder Swarm Prevention
Starting the Process + Rising Issues
Design Constraint: Players should be able to easily determine good trap setups and where scares can come from to eliminate enemies
My Task: Make sure preset paths have enough opportunities for players to scare enemies while working with level geometry
Initial Idea: Place extremely long paths alongside traps
Design Intent: Long paths make it easy to scare enemies away
After implementing this initial idea, I watched live playtests and recordings to analyze player behavior, which revealed some problems:
Immediate Effect: Players' birdseed levels dropped quickly due to enemies swarming bird feeders on each path
Resultant Effect: Players felt frustrated that they kept losing, even though they could access traps and determine good scare locations
I realized that these problems arose because paths were too long and enemy spawns were too close together, allowing enemies to bunch up and swarm bird feeders all at once. This prompted some action:
Actions I Took to Fix The Feature
Shortened paths and created more of them (~doubled)
Redesigned and placed 10+ paths in 2 levels
Designed a feature in which invading enemies to move towards a less populated bird feeder at path intersections
Created a wave system that allowed designers to add time between enemy spawns on a path
Staggered enemy spawns in 5 waves in 2 levels
Results From These Actions
Enemies removed less birdseed from bird feeders, which reduced difficulty and allowed players to scare enemies more often
Key Design Takeaway
Multiple changes might be needed to balance a game system

