Invisible Bunnies That Power World of Warcraft (2017)
Modern games often rely on invisible NPCs and other hidden entities to drive spells, cutscenes, quests, and even shop inventories, as seen in World of Warcraft’s “bunnies” and Fallout’s spectral cats and train-headed characters. Developers describe these as pragmatic shortcuts that reuse existing systems like pathfinding and combat logic instead of building bespoke effect frameworks, raising questions about when such hacks cross into bad design or technical debt. From there, the conversation broadens into a comparison of object-oriented inheritance versus entity–component systems and data-oriented design, debating which architectures better handle evolving game mechanics, performance constraints, and cross-cutting game logic.
Invisible “Bunnies” and Similar Game Hacks
- WoW’s invisible bunnies are compared to other “hidden actor” tricks:
- League of Legends effects implemented as invisible minions.
- Fallout 4 “spectral kittens” that keep radio stations progressing, then get deleted.
- Fallout 3 subway trains as NPCs wearing train-car “hats.”
- Starfield and earlier Bethesda games using hidden chests for shop inventories.
- Modders and map-makers report doing the same in Warcraft 3 and Marathon, spawning invisible units to cast spells, fire “scripted” shots, or toggle switches.
- Private server operators note that WoW’s bunnies show up as regular NPC models when made visible.
- Some see this reuse of NPC systems as clever, accidental good design; others call it bad design born of engine constraints, but accept that “it works” is what really matters for shipped games.
ECS vs OOP and Composition Debates
- Many commenters argue that patterns like invisible bunnies stem from rigid OOP hierarchies; they see Entity-Component Systems (ECS) and composition as a better fit for games.
- ECS is described as: entities = IDs, components = data, systems = functions operating on sets of components. It’s framed as data-oriented and favoring composition over inheritance.
- Some say inheritance “ontologies” (e.g., deep type hierarchies) are now widely viewed as a mistake, except for narrow use cases like exceptions or IO.
- Others push back: inheritance still works well for some domains (GUIs, library hierarchies), and verbosity or refactor pain also exists in ECS.
ECS Practical Challenges and Spectrum
- Multiple people note ECS is loosely defined, ranging from “game state in a relational database” to cache-focused “struct of arrays.”
- A key open problem: cross-cutting concerns where systems need multiple components (e.g., physics, rendering, and logic all sharing position/velocity). Preserving data locality here is seen as hard or unresolved.
- Examples of real ECS engines (e.g., in Rust or open-source games) are mentioned, but some still feel pure ECS breaks down for complex entities like bosses.
Databases and Game State
- Several commenters experiment with or consider putting all game state in SQLite or an in-memory DB, essentially treating ECS as a query system.
- This approach is liked for flexibility (easier quest/condition logic) but acknowledged to be close to “reinventing databases.”
Invisible Quests and State Tracking in WoW
- WoW reportedly uses hidden quests to track one-off state (looted chests, seen conversations, unlocks).
- Addons can reveal these completions; they can inflate quest-count achievements in ways that confuse players.
Meta: Kotaku and Reading Experience
- Some dislike Kotaku as shallow, sensational, or ad-heavy; others argue its bad reputation is tightly linked to GamerGate and is overstated.
- Several mention needing strong adblocking to make the article readable.