Under the Hood
Escape from Pinehaven is built on GECS, a Godot Entity Component System framework. Every object in the game world — players, zombies, doors, bullets — exists as an entity with composable components. Systems query and transform this data each frame. Observers react to changes. The result is a codebase that’s modular, testable, and extensible.
Saves capture the complete world state, including entity relationships, behavior states, and deletion tracking. Load a save and everything is exactly as you left it — down to which zombies you’ve killed and which doors you’ve unlocked.
Reusable Systems
Combat & Health
Health System — Damage processing, armor multipliers, healing, death triggers
Projectile System — Raycast collisions, surface-specific impacts, physics impulses
Screen Effect System — Timed visual overlays (damage, underwater, fire)
Movement & Navigation
Movement System — Velocity processing for all body types (Character, Rigid, Static)
Footstep System — Surface-aware footsteps with velocity-adjusted timing
Stamina System — Drain on sprint/jump/attack, recharge when idle
World Interaction
Door Component — Proximity, touch, or use triggers; auto-close; rotation animation
Lock Component — Key-based unlocking, property change notifications
Button Component — Push/toggle modes, cooldowns, integration with action system
Portal Component — Level transitions with target level and spawn point
AI & Behavior
Attention System — Stimulus input queue, decay over time, perception buffers
Behavior System — FSM ticking integrated with ECS, persistent blackboards
Horde Behavior — Zombies follow other aggressive zombies toward targets
Tools & Extensions
Action Nodes — Visual scripting for triggers, conditions, and effects
Trenchbroom Integration — Quake-style brush mapping via FuncGodot
Custom Campaigns — Load additional PCK files with new levels and assets