Matter of fact, you can use A* w/out ECS library, I’ve made the cl-astar
to be fully framework-agnostic. The only problem is it does not support sparse worlds, only dense grids; at least I haven’t designed or tried that case.
If you insist on ECS, I’d start with “current room” component (which perhaps points to the room entity) and put it onto player entity, and then perhaps I’d have “exists” component for rooms with four booleans for each direction maybe.
I don’t think cl-fast-ecs
would play nice with symbol-plists, the closest thing to it would be the actual component (you can have arbitrary number of different components set on an entity).