mapeditor / mapeditor/tiled

Automap does not work correctly for staggered maps

Open
#3,089 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

missing feature
Dominant language
C++
Stars
12.9k
Forks
2k
Avg merge
4h 27m
Merged PRs (30d)
8

Description

(This is a known problem, but there did not appear to be an issue open for it. Now there is.)

Automapping only works correctly for orthographic and non-staggered isometric maps. Automapping should take staggering into account and work for all supported orientations.

Supporting multiple orientations would open up some UX issues:
- What should happen if automap rules with a different projection from the map are applied? Should rule files with incompatible projections be ignored? Should rule files be interpreted as being of whatever orientation the target map has?
- What about the same projection (e.g. iso) but different orientations, e.g. staggered vs non-staggered, or hex with different stagger indices or axes? Should these be ignored? Should the algorithm attempt a conversion to produce visually consistent results? Can that even be done reliably?
- How and when should the user be warned if some of their rules are ignored or reinterpreted due to incompatibility?

For all of these, I suppose the answers should be consistent with whatever is done when attempting to paste across maps with different orientations.

Tiled has some issues with different stagger values (e.g. #2874), those should probably be tackled first to avoid those bugs propagating into Automap.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing automapping behavior and the handling of map orientation, then compare it with how pasting across differently oriented maps is handled. Read issue #2874 before defining the scope. Done should mean automapping supports staggered and other supported orientations, with an explicit compatibility and warning behavior for mismatched rules.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.