Do you recommend any strategies for maps with multiple Z-levels? #200
Unanswered
shanesveller
asked this question in
Q&A
Replies: 2 comments 10 replies
-
This is based on an old version of bevy and bevy_ecs_tilemap, but I did something similar in https://github.com/IceSentry/bevy_df it's been a year though, so I don't remember the details. It's mostly contained here https://github.com/IceSentry/bevy_df/blob/master/src/map/renderer.rs |
Beta Was this translation helpful? Give feedback.
4 replies
-
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I am working on a game that can be handwaved as a Dwarf Fortress clone and recently did a rewrite to introduce multiple Z-levels like DF has to represent depth above and below the surface of the larger world, permitting vertical building and navigation. Prior to this it would have played more similarly to Rimworld instead. I'm also currently evaluating bevy_tileset and bevy_tileset_map.
My question here is intended to be limited specifically to integration with
bevy_ecs_tilemap
and not all of the many other knock-on changes that come with 2D->3D transition, since those are obviously my responsibility.I currently am using a brute-force approach:
bevy_ecs_tilemap::Layer
and redraw it from scratch, for each of 3 layers (I currently separate terrain, mobiles, and indicators/overlays).Do you or any of the other users of this library have any pro-tips to share? I'm somewhere around early-intermediate experience level with Rust, and my background is in non-systems languages like Elixir, so anything that seems obvious to a reader may not have occurred to me yet.
One nice-to-have thing I want to adapt from DF is that if you are looking at a Z-level that is sparsely populated, perhaps above the surface, level with the tip of a mountain/hill or tops of trees, you can see through unoccupied space to the layers below. I think I would need to introduce many more
Layers
and treat them more like a ringbuffer. I'm not sure if there's any efficiency to be gained through advice by someone knowledgeable of this crate's internals.Beta Was this translation helpful? Give feedback.
All reactions