Invisible Bunnies That Power World of Warcraft (2017)
1–10 of 104 posts
Re: Invisible Bunnies That Power World of Warcraft (2017)
#2Re: Invisible Bunnies That Power World of Warcraft (2017)
#3Re: Invisible Bunnies That Power World of Warcraft (2017)
#4Of course, this can happen with ECS, too, but it feels easier to avoid. Systems which are coupled to individual components of entities, rather than whole objects, provide an extreme degree of flexibility as long as the components stay small.
(bonus: another example of this occurring in Fallout 3 - https://www.pcgamer.com/heres-whats-happening-inside-fallout...)
Re: Invisible Bunnies That Power World of Warcraft (2017)
#5Reminds me of how, for a very long time, almost every effect in league of legends was invisible minion(s) under the hood: https://technology.riotgames.com/news/taxonomy-tech-debt
Re: Invisible Bunnies That Power World of Warcraft (2017)
#6The “bunnies” usually used the default infernal NPC graphic
Re: Invisible Bunnies That Power World of Warcraft (2017)
#7I think the prevalence of these sorts of issues is why ECS is such an appealing architecture in game design. OOP seems to always devolve. A new feature is needed for the game, the feature breaks some well established design rule, it's challenging/slow to refactor everything to make sense while considering the new feature, and so a kludge is implemented where existing objects are forced to be more flexible than planne…
…but it turns out that the ‘world is not made of class hierarchies’ observation is not limited to games, hence Rust’s and go’s approaches to OOP: ditch inheritance at the language level.
Re: Invisible Bunnies That Power World of Warcraft (2017)
#8I've created a custom map turning the system a round, where you played the invisible critters instead of the hero :D
Re: Invisible Bunnies That Power World of Warcraft (2017)
#9Re: Invisible Bunnies That Power World of Warcraft (2017)
#10I think the prevalence of these sorts of issues is why ECS is such an appealing architecture in game design. OOP seems to always devolve. A new feature is needed for the game, the feature breaks some well established design rule, it's challenging/slow to refactor everything to make sense while considering the new feature, and so a kludge is implemented where existing objects are forced to be more flexible than planne…
ECS follows the principle of composition over inheritance, meaning that every entity is defined not by a type hierarchy, but by the components that are associated with it. Systems act globally over all entities which have the required components.