ndouglas / azymus

An experimental roguelike, written in Rust.
The Unlicense
6 stars 0 forks source link

Refactor Entity? #44

Open ndouglas opened 5 years ago

ndouglas commented 5 years ago

I used Entity as my catch-all, base-class kind of thing and basis for my wannabe ECS architecture. It, like the Object structure in the tutorial, just has a bunch of Option fields.

Which, as mentioned in #43, leads to some ugly code because these components are common to most all critters.

43 is one way of handling this -- destroy the base-class concept altogether and simply have a pure ECS system. This solves a lot of issues, but adds a lot of weirdness -- how do actions and commands work?

Another way to handle this is to refactor these components into a smaller set of things that almost always correlate. For instance, I think all actors have FoV and species and so forth. But I can think of exceptions to any given case. Which is why ECS works in the first place.