Skip to content

[Epic] Tilemap support #565

Description

@stormmuller

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)

  • A tilemap can be loaded from a standard interchange format and rendered efficiently
  • Solid tiles can generate physics colliders
  • Documented in documentation-site/docs/docs with a demo under documentation-site/src/pages/demos

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions