I'm about to start making a pseudo-ASCII Oubliette-style RPG, and I've been reading about Entity Systems, which I find make a quite compelling case vs using straight OO programming.
Anyone has used that? Right now I'm having trouble figuring out exactly what Entities are supposed to be.
- Game "tokens", as in, just characters?
- Everything including levels, regions, rooms?
There are some clear hierarchies of objects in this game: there are Regions/Areas (ex: The Forest), which contain Locations (ex: Wizard's Tower) which contain Levels, which contain Tiles or whatever. There's also the player Roster, which contain PCs. There's also a Squad/Party, which also can contain PCs (but smaller). PCs are also in a location, individually in the roster, or as part of a Squad (let's say a Squad can be visiting a location but the PC's "location" variable itself is the home location).
Sooo... thus far, I'm thinking that Entities are just the PCs, and everything else is just data that involves plain Objects? Like, a Location, detailed as it may be, is just an object with member variables in it, as opposed to an Entity with Components that operates in a separate level than PC entities?
OTOH, if the active map in a "quest" has tiles and these have to be drawn on screen, it would make sense that these tiles are also Entities that are looped by the Render System, right? OTOH, Locations are mostly just shown in list format. Then again, so are PCs in certain instances (the roster list, or the Party Screen, and this also could be a separate "system").
Opinions?
EDIT: I'm considering ECSs are maybe overkill for what is a turn based game with a really small amount of "rendered" entities (unless I decide to make it multiplayer somehow
)