I'm working on a RimWorld-like game while also learning Rust, Bevy, and trying out ECS.
I'm trying to decide how to implement tiles.
I see two approaches -
Make each tile an entity and update only the ones that are With<Ticking>, and add relations (Planet -> Grid -> TileLayer -> Tile).
Make the grid a Vec<Vec<Tile>> and handle it the traditional way.
The first one seems to be the Bevy way of handling this, but I'm new to this and am cautious about performance.
The second one seems like it wouldn't allow Bevy to parallelize systems as easily, and would push that responsibility onto me. It would also separate the Tile from the ECS structure, making it just a value I can't add components to, unlike an entity.
What do you think guys?