bevyengine / bevyengine/bevy

First-party tile maps

Open
#13,782 19 comments 5 reactions 0 assignees View on GitHub
A-Editor A-Rendering C-Feature D-Complex X-Needs-SME
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## What problem does this solve or what need does it fill?

Tile maps are a key part of many 2D games, both 2D and 3D.

There is a large amount of complexity here: API design, performance and features are all challenging.

## What solution would you like?

Bevy should make its own tilemap crate (one day) using a working group.

Some features:

- y-sorting
- LDTK and Tiled format imports

## What alternative(s) have you considered?

We could upstream one of the existing tilemap crates:

1. `bevy_ecs_tilemap`: challenging to maintain, complex API, poor performance at high map sizes. Lots of features though.
2. `bevy_tilemap`: dead since Bevy 0.5
3. `bevy_entitles`: a newer candidate, I'm personally unsure how this compares.

None of these strike me as exceptionally good candidates, but the working group should look closely at this for prior art.

## Additional context

This is one of the prime formats for content authoring in the editor. Without a first-party tilemap format, the editor will be much less useful for 2D games.

This is a large initiative, please don't try to tackle this without first forming a working group.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.