Goal
Add tilemap support to the engine — a common building block for 2D games (platformers, top-down RPGs, puzzle games) that Forge currently has no support for.
Scope (suggested)
- A tilemap component/system for rendering a grid of tiles from a tileset texture (efficient batched rendering, ideally reusing the existing instanced sprite-batching path in
src/rendering).
- Support for a common interchange format (e.g. Tiled's
.tmx/.json export) so games aren't forced to hand-author tile data.
- Collision integration: a way to generate physics colliders from tile layers (e.g. treating solid tiles as static colliders, akin to how
TerrainCollider works for heightmaps).
- Layered tilemaps (background/foreground/collision layers).
Why this is a milestone, not a single issue
This spans rendering (batched tile rendering), asset loading (tileset/map parsing), and physics (tile-derived colliders), and likely needs several sequenced PRs. Break this down into sub-issues as design decisions are made (e.g. "Tiled JSON parser", "tilemap rendering system", "tile-to-collider generation").
Acceptance criteria (top-level)
Goal
Add tilemap support to the engine — a common building block for 2D games (platformers, top-down RPGs, puzzle games) that Forge currently has no support for.
Scope (suggested)
src/rendering)..tmx/.jsonexport) so games aren't forced to hand-author tile data.TerrainColliderworks for heightmaps).Why this is a milestone, not a single issue
This spans rendering (batched tile rendering), asset loading (tileset/map parsing), and physics (tile-derived colliders), and likely needs several sequenced PRs. Break this down into sub-issues as design decisions are made (e.g. "Tiled JSON parser", "tilemap rendering system", "tile-to-collider generation").
Acceptance criteria (top-level)
documentation-site/docs/docswith a demo underdocumentation-site/src/pages/demos