CD Projekt Red’s Witcher 3 NPC panic bug let villagers harm babies during dev
During the development of The Witcher 3: Wild Hunt, CD Projekt Red was building increasingly autonomous day-to-day routines for non-player characters in its open villages—only to discover that one “panic” behavior could create a bizarre, gruesome side effect. A safety script meant to make villagers react realistically to danger ended up triggering terrifying actions tied to a mother’s routine, forcing the team to fix the logic before launch.
How CD Projekt Red tried to make towns feel truly lived-in
CD Projekt Red quest designer Philipp Weber explained that the team put major emphasis into making villages and small settlements feel like they contained real people, not static scenery. The goal was to avoid the “cinematic set” feeling—where everything looks busy but doesn’t behave like a world.
- Autonomous activity routines: The studio designed complex, self-directed behavior patterns for NPCs so they could carry out believable activities on their own.
- Interest points instead of fixed routes: Rather than forcing the same travel paths, NPCs were given points of interest where they could choose what to do next.
- Example of flexible behavior: A villager could cut wood and then decide to switch to carpentry in front of their own home.
- Port-Lorient scaling: For Port-Lorient, the team created 200 points of interest to support varied behavior for 50 sailors.
The panic mechanic—and the unintended “logic” that followed
Weber noted that the danger response still needed more finesse early on, especially when players disrupted NPC routines. Even with day-and-night simulations working well, the team added an emergency behavior: when threatened, characters were programmed to drop whatever they were holding immediately and run away.
- Emergency rule: If danger occurs, NPCs must instantly drop the item in their hands and flee.
- Intended effect: Villagers would react with fear, leave their tasks behind, and escape after the object falls to the ground.
- Unplanned interaction: One mother’s routine involved holding and rocking a baby—so the panic behavior caused her to throw the baby onto the ground.
Fixing the scripts before it could become “part of the game”
Because the issue could have turned Velen’s hamlets into something far darker than intended, the developers corrected the behavior quickly. Weber described the period where the mothers’ scripted panic actions led to brutal baby-throwing “for a few weeks,” and emphasized that the team adjusted the panic scripts to maintain universe consistency and avoid the settlements becoming a horror-like scenario.
- Rapid correction: The team fixed the problem soon after it appeared.
- Why it mattered: They wanted to prevent Velen’s hamlets from turning into a nightmare-like “baby” scenario.
- Outcome: The scripts were adjusted before release to preserve coherence and prevent the sequence from becoming a persistent, repeatable behavior.
