New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Showing adjacent maps in the same map view #1669

Closed
bjorn opened this Issue Jul 31, 2017 · 18 comments

Comments

5 participants
@bjorn
Owner

bjorn commented Jul 31, 2017

Introduction

Sometimes a game has a large world which is split up into multiple maps to make the world more digestible by the game (less memory usage) or easier to edit by multiple people (avoiding merge conflicts). For the player, the transition between these maps should generally be seamless. It would be nice if Tiled would able to show also the maps adjacent to the current map, to make it easy to ensure their borders fit together.

To do this, I would introduce the concept of a "world". Each map can be part of a single world, to which it would refer from its map file. And each world can list any number of maps. In addition, each map gains an "x" and "y" attribute to store its location within its world (in tile coordinates).

Additional Features

To make it easier for existing projects to start using this system, the location of a map can also be derived from its file name based on a custom regular expression and a multiplier.

In addition to a location, each map could have a "level" attribute, which determines at what level this map occurs. This way, multiple maps could be stacked on top of each other rather than adjacent to each other. It would similarly help with matching up different maps that represent for example different floors of the same building.

Implementation Details

Example world definition file:

<world>
  <pattern regexp="(%d+).(%d+).tmx" multiplier="100"/>
  <map source="1.1.tmx"/>
  <map source="1.2.tmx"/>
  <map source="2.1.tmx"/>
  <map source="2.2.tmx"/>
</world>

Or potentially in JSON (I'd prefer to avoid two formats...):

{
    "pattern": {
        "regexp": "(%d+).(%d+).tmx",
        "multiplier": 100
    },
    "maps": [
        "1.1.tmx",
        "1.2.tmx",
        "2.1.tmx",
        "2.2.tmx"
    ],
    "type": "world"
}

Map with some new attributes:

<map x="100" y="100" width="100" height="100" level="1" world="outside.world">
  ...
</map>

New classes introduced would be WorldManager, which loads and owns each referenced world, and a World class that keeps the list of maps and their locations.

Part of the logic in MapScene will need to be moved to a new MapItem graphics item, so that multiple of those can be instantiated on-demand. Interaction with items shown in "other maps" should be disabled. The other maps should be clickable so that it is easy to open it for editing.

@bjorn bjorn added this to Up Next in Roadmap Jul 31, 2017

@bjorn bjorn added the feature label Jul 31, 2017

@Arcanorum

This comment has been minimized.

Show comment
Hide comment
@Arcanorum

Arcanorum Aug 7, 2017

Sounds cool to me.

This lines up nicely with how I have been handing the space representation in my game.
I think you should consider using "elevation" instead of the somewhat ambiguous and commonly used term "level" when talking about stacking things on top of each other like floors of a building.

Would a map being a part of a "world" be required?
Would we be able to set world-level properties?
If so, how would this interact with the proposed Project #1665 structure?
Project < Worlds < Maps < Layers < Objects ?

Arcanorum commented Aug 7, 2017

Sounds cool to me.

This lines up nicely with how I have been handing the space representation in my game.
I think you should consider using "elevation" instead of the somewhat ambiguous and commonly used term "level" when talking about stacking things on top of each other like floors of a building.

Would a map being a part of a "world" be required?
Would we be able to set world-level properties?
If so, how would this interact with the proposed Project #1665 structure?
Project < Worlds < Maps < Layers < Objects ?

@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn Aug 7, 2017

Owner

I think you should consider using "elevation" instead of the somewhat ambiguous and commonly used term "level" when talking about stacking things on top of each other like floors of a building.

Good point.

Would a map being a part of a "world" be required?

No.

Would we be able to set world-level properties?

I see no reason not to allow custom properties on the world, though that means the world file could be interesting for the game, in which case we'll need to support different formats as done for maps / tilesets (JSON, Lua, ...). I think there's probably a better way of doing this...

If so, how would this interact with the proposed Project #1665 structure?
Project < Worlds < Maps < Layers < Objects ?

I'm not sure if any interaction is needed. Both worlds and maps would be part of a project, and maps can in addition be part of a world.

Owner

bjorn commented Aug 7, 2017

I think you should consider using "elevation" instead of the somewhat ambiguous and commonly used term "level" when talking about stacking things on top of each other like floors of a building.

Good point.

Would a map being a part of a "world" be required?

No.

Would we be able to set world-level properties?

I see no reason not to allow custom properties on the world, though that means the world file could be interesting for the game, in which case we'll need to support different formats as done for maps / tilesets (JSON, Lua, ...). I think there's probably a better way of doing this...

If so, how would this interact with the proposed Project #1665 structure?
Project < Worlds < Maps < Layers < Objects ?

I'm not sure if any interaction is needed. Both worlds and maps would be part of a project, and maps can in addition be part of a world.

@bjorn bjorn moved this from Up Next to Future in Roadmap Sep 26, 2017

@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn Oct 23, 2017

Owner

Just noting here, that the feature was suggested on the forum as well.

Owner

bjorn commented Oct 23, 2017

Just noting here, that the feature was suggested on the forum as well.

@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn Nov 22, 2017

Owner

Started work on this on the wip/multi-map-view branch, but it currently doesn't compile and will still need lots of work. Also, I better finish Tiled 1.1 first.

Owner

bjorn commented Nov 22, 2017

Started work on this on the wip/multi-map-view branch, but it currently doesn't compile and will still need lots of work. Also, I better finish Tiled 1.1 first.

@bjorn bjorn moved this from Future to In Progress in Roadmap Dec 14, 2017

bjorn added a commit that referenced this issue Dec 15, 2017

Added support for showing multiple maps
Currently it works as follows:

* Load one or more "world" files. There are JSON files that need to be
  written manually for now.

* When a map is opened, the scene asks the WorldManager which world the
  map belongs to. If a world is found, the other maps from the world are
  loaded as well and shows in the same view, based on the position
  specified in the world file.

* The other maps are read-only. To edit them, they will need to be opened
  explicitly. In the future, more seamless editing could be implemented.

* There is no way yet to quickly switch to another map in the same world,
  it still needs to be implemented.

Issue #1669
@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn Dec 15, 2017

Owner

So, lots of work later, which mostly meant reducing dependencies on the map scene (fd8dee2...15e9ee5) and then moving a lot of functionality out of the map scene (aaa2eaa) and finally enabling the instantiation of multiple map items within the same scene (8522b1b), we have the first usable version:

002-1 tmx tiled_233

Above you can see three maps displayed, two alongside the 002-1.tmx map that was opened for editing. This is based on the new "world" files, which are currently in JSON format and need to be hand-written for now. Example for the above maps:

{
    "maps": [
        {
            "fileName": "001-1.tmx",
            "x": 0,
            "y": 0
        },
        {
            "fileName": "002-1.tmx",
            "x": 0,
            "y": 3200
        },
        {
            "fileName": "006-1.tmx",
            "x": 3840,
            "y": 4704
        }
    ],
    "type": "world"
}

I've decided to store the position here instead of in the map files. This decouples stuff a bit (so editing the world doesn't mean changing a bunch of map files). Also, the position is in pixels because no assumption can be made about tile size (though we could associate a grid size with the world, and multiply the x/y of the maps with the grid size, for ease of use).

In the screenshot you can also see the new menu items, that allow you to load and unload any number of worlds. Of course when you reopen Tiled, any previously loaded worlds are also reopened.

So, a lot of work was done (spent about 4 days on this so far), but there still remain a few things to be done (which I'll have to work on later due to other commitments):

  • Add a quick way to switch from one map to another map in the same world. Based on double-click for example, we could either switch tab or change the "active" map within the same view. I would probably prefer the latter, but this does open up a lot more edge cases.
  • Add a way to manage a world file within Tiled, so no manual editing is needed. That's a bunch of UI work of course.
  • Add support for pattern-matching, as described in the first post. The pattern is supposed to capture two values from any matching files, which get multiplied by the multiplier to form the position of the map.
  • There is no support for "level" or "elevation" yet.

I've opened a pull request with the changes (#1836), so that there is a consistent place for downloading a build (Windows builds available on AppVeyor, Linux builds available via a link to transfer.sh found in Travis CI logs). For the current version, builds are available here:

https://ci.appveyor.com/project/bjorn/tiled/build/1.0.2918 (click a job, then click ARTIFACTS)
https://transfer.sh/x6s4L/Tiled.AppImage (available for two weeks)

Once Tiled 1.1 is branched, this change could be merged into master quite soon, so that it will be available in the development snapshots.

Owner

bjorn commented Dec 15, 2017

So, lots of work later, which mostly meant reducing dependencies on the map scene (fd8dee2...15e9ee5) and then moving a lot of functionality out of the map scene (aaa2eaa) and finally enabling the instantiation of multiple map items within the same scene (8522b1b), we have the first usable version:

002-1 tmx tiled_233

Above you can see three maps displayed, two alongside the 002-1.tmx map that was opened for editing. This is based on the new "world" files, which are currently in JSON format and need to be hand-written for now. Example for the above maps:

{
    "maps": [
        {
            "fileName": "001-1.tmx",
            "x": 0,
            "y": 0
        },
        {
            "fileName": "002-1.tmx",
            "x": 0,
            "y": 3200
        },
        {
            "fileName": "006-1.tmx",
            "x": 3840,
            "y": 4704
        }
    ],
    "type": "world"
}

I've decided to store the position here instead of in the map files. This decouples stuff a bit (so editing the world doesn't mean changing a bunch of map files). Also, the position is in pixels because no assumption can be made about tile size (though we could associate a grid size with the world, and multiply the x/y of the maps with the grid size, for ease of use).

In the screenshot you can also see the new menu items, that allow you to load and unload any number of worlds. Of course when you reopen Tiled, any previously loaded worlds are also reopened.

So, a lot of work was done (spent about 4 days on this so far), but there still remain a few things to be done (which I'll have to work on later due to other commitments):

  • Add a quick way to switch from one map to another map in the same world. Based on double-click for example, we could either switch tab or change the "active" map within the same view. I would probably prefer the latter, but this does open up a lot more edge cases.
  • Add a way to manage a world file within Tiled, so no manual editing is needed. That's a bunch of UI work of course.
  • Add support for pattern-matching, as described in the first post. The pattern is supposed to capture two values from any matching files, which get multiplied by the multiplier to form the position of the map.
  • There is no support for "level" or "elevation" yet.

I've opened a pull request with the changes (#1836), so that there is a consistent place for downloading a build (Windows builds available on AppVeyor, Linux builds available via a link to transfer.sh found in Travis CI logs). For the current version, builds are available here:

https://ci.appveyor.com/project/bjorn/tiled/build/1.0.2918 (click a job, then click ARTIFACTS)
https://transfer.sh/x6s4L/Tiled.AppImage (available for two weeks)

Once Tiled 1.1 is branched, this change could be merged into master quite soon, so that it will be available in the development snapshots.

@bjorn bjorn self-assigned this Dec 17, 2017

@HeadClot

This comment has been minimized.

Show comment
Hide comment
@HeadClot

HeadClot Jan 3, 2018

This is really cool!

HeadClot commented Jan 3, 2018

This is really cool!

@NazdarGit

This comment has been minimized.

Show comment
Hide comment
@NazdarGit

NazdarGit Jan 3, 2018

Agreed! Very nice!

NazdarGit commented Jan 3, 2018

Agreed! Very nice!

@bjorn bjorn added this to the Tiled 1.2 milestone Mar 1, 2018

bjorn added a commit that referenced this issue Mar 6, 2018

Added support for showing multiple maps
Currently it works as follows:

* Load one or more "world" files. There are JSON files that need to be
  written manually for now.

* When a map is opened, the scene asks the WorldManager which world the
  map belongs to. If a world is found, the other maps from the world are
  loaded as well and shows in the same view, based on the position
  specified in the world file.

* The other maps are read-only. To edit them, they will need to be opened
  explicitly. In the future, more seamless editing could be implemented.

* There is no way yet to quickly switch to another map in the same world,
  it still needs to be implemented.

Issue #1669
@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn Mar 21, 2018

Owner

A new build is available that adds support for defining the maps using pattern matching:

https://ci.appveyor.com/project/bjorn/tiled/build/1.1.3155
https://transfer.sh/dh3ss/Tiled.AppImage

Example of a world defined by pattern matching:

{
    "patterns": [
        {
            "regexp": "ow-p0*(\\d+)-p0*(\\d+)-o0000\\.tmx",
            "multiplierX": 6400,
            "multiplierY": -6400,
            "offsetX": -6400
        },
        {
            "regexp": "ow-p0*(\\d+)-n0*(\\d+)-o0000\\.tmx",
            "multiplierX": 6400,
            "multiplierY": 6400,
            "offsetX": -6400,
            "offsetY": -6400
        },
        {
            "regexp": "ow-n0*(\\d+)-p0*(\\d+)-o0000\\.tmx",
            "multiplierX": -6400,
            "multiplierY": -6400
        },
        {
            "regexp": "ow-n0*(\\d+)-n0*(\\d+)-o0000\\.tmx",
            "multiplierX": -6400,
            "multiplierY": 6400,
            "offsetY": -6400
        }
    ],
    "type": "world"
}

The "regexp" should have two captures, the first is taken to be the X and the second the Y coordinate (we can enhance this to allow named captures like (?<x>\d) and (?<y>\d)). The resulting values are then multiplied by multiplierX and multiplierY respectively, after which the offsetX and offsetY are added to make up the final pixel position of the map.

The pattern matches against all files in the same folder as the world file. If it's preferable to put the world files somewhere else, we can allow a base directory to be configured.

I've written the above world file for the Invertika maps. However, its outside world contains no less than 2500 maps (50x50 maps, each 200x200 tiles), and initially Tiled was quickly running out of memory. Then I implemented an image cache (9202e25), which helped and allowed Tiled to display the whole world while consuming about 10 GB of RAM:

ow-p0001-n0001-o0000 tmx tiled_246

However, for this kind of scale there would be a number of other changes necessary, for example to make the loading asynchronous and the rendering asynchronous and cached when zoomed out. Alternatively, we'd load only the direct neighbors of the current map.

Owner

bjorn commented Mar 21, 2018

A new build is available that adds support for defining the maps using pattern matching:

https://ci.appveyor.com/project/bjorn/tiled/build/1.1.3155
https://transfer.sh/dh3ss/Tiled.AppImage

Example of a world defined by pattern matching:

{
    "patterns": [
        {
            "regexp": "ow-p0*(\\d+)-p0*(\\d+)-o0000\\.tmx",
            "multiplierX": 6400,
            "multiplierY": -6400,
            "offsetX": -6400
        },
        {
            "regexp": "ow-p0*(\\d+)-n0*(\\d+)-o0000\\.tmx",
            "multiplierX": 6400,
            "multiplierY": 6400,
            "offsetX": -6400,
            "offsetY": -6400
        },
        {
            "regexp": "ow-n0*(\\d+)-p0*(\\d+)-o0000\\.tmx",
            "multiplierX": -6400,
            "multiplierY": -6400
        },
        {
            "regexp": "ow-n0*(\\d+)-n0*(\\d+)-o0000\\.tmx",
            "multiplierX": -6400,
            "multiplierY": 6400,
            "offsetY": -6400
        }
    ],
    "type": "world"
}

The "regexp" should have two captures, the first is taken to be the X and the second the Y coordinate (we can enhance this to allow named captures like (?<x>\d) and (?<y>\d)). The resulting values are then multiplied by multiplierX and multiplierY respectively, after which the offsetX and offsetY are added to make up the final pixel position of the map.

The pattern matches against all files in the same folder as the world file. If it's preferable to put the world files somewhere else, we can allow a base directory to be configured.

I've written the above world file for the Invertika maps. However, its outside world contains no less than 2500 maps (50x50 maps, each 200x200 tiles), and initially Tiled was quickly running out of memory. Then I implemented an image cache (9202e25), which helped and allowed Tiled to display the whole world while consuming about 10 GB of RAM:

ow-p0001-n0001-o0000 tmx tiled_246

However, for this kind of scale there would be a number of other changes necessary, for example to make the loading asynchronous and the rendering asynchronous and cached when zoomed out. Alternatively, we'd load only the direct neighbors of the current map.

bjorn added a commit that referenced this issue May 2, 2018

Clicking on a read-only map switches to an editable view for that map
This is a major usability improvement and an important part of the
multi-map view feature.

It may be that a modifier key like Control will be needed to avoid
clicking to another map too easily. Also, a solution will need to be
found for when maps have some overlap, since it is currently not
possible to interact with the part of the current map that has overlap
with a neighboring map.

Issue #1669
@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn May 2, 2018

Owner

There is a new build available now, that adds the ability to click on a neighboring map to make that the active map being edited:

tiled-neighbor-maps

https://ci.appveyor.com/project/bjorn/tiled/build/1.1.3216 (click a job, then click ARTIFACTS)
https://transfer.sh/rnMpV/Tiled.AppImage (available for two weeks)

It also includes a memory management cleanup that fixes a crash in the Tile Collision Editor (0971ade) and an option to show only adjacent maps (dbefe48), as well as all the latest fixes and changes made on the 1.1 and master branches.

I'm confident that I can merge this branch to master soon, latest next week.

Owner

bjorn commented May 2, 2018

There is a new build available now, that adds the ability to click on a neighboring map to make that the active map being edited:

tiled-neighbor-maps

https://ci.appveyor.com/project/bjorn/tiled/build/1.1.3216 (click a job, then click ARTIFACTS)
https://transfer.sh/rnMpV/Tiled.AppImage (available for two weeks)

It also includes a memory management cleanup that fixes a crash in the Tile Collision Editor (0971ade) and an option to show only adjacent maps (dbefe48), as well as all the latest fixes and changes made on the 1.1 and master branches.

I'm confident that I can merge this branch to master soon, latest next week.

@HeadClot

This comment has been minimized.

Show comment
Hide comment
@HeadClot

HeadClot May 2, 2018

Super happy this is being worked on :)

HeadClot commented May 2, 2018

Super happy this is being worked on :)

@hexus

This comment has been minimized.

Show comment
Hide comment
@hexus

hexus May 9, 2018

Yeah, this looks incredible. I was considering using an infinite map, splitting up the regions, and loading them in myself. Now it looks like I won't need to. :)

hexus commented May 9, 2018

Yeah, this looks incredible. I was considering using an infinite map, splitting up the regions, and loading them in myself. Now it looks like I won't need to. :)

@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn May 9, 2018

Owner

Yeah, this looks incredible. I was considering using an infinite map, splitting up the regions, and loading them in myself. Now it looks like I won't need to. :)

It is true that these features have some overlap. It does not really make sense to use this feature in combination with infinite maps, which would lead to a very confusing editing experience.

The main reasons this feature is still interesting even though we have infinite maps are performance (the entire infinite map may slow down Tiled too much) and collaboration (changes to tile layers do not merge very well, and splitting up the world helps to avoid merges or blocking each other).

Actually with the way infinite maps are stored, they should merge quite well provided you don't edit the same 16x16 block as somebody else, but there is no easy way to avoid doing this whereas it is possible to communicate about separate map files.

Owner

bjorn commented May 9, 2018

Yeah, this looks incredible. I was considering using an infinite map, splitting up the regions, and loading them in myself. Now it looks like I won't need to. :)

It is true that these features have some overlap. It does not really make sense to use this feature in combination with infinite maps, which would lead to a very confusing editing experience.

The main reasons this feature is still interesting even though we have infinite maps are performance (the entire infinite map may slow down Tiled too much) and collaboration (changes to tile layers do not merge very well, and splitting up the world helps to avoid merges or blocking each other).

Actually with the way infinite maps are stored, they should merge quite well provided you don't edit the same 16x16 block as somebody else, but there is no easy way to avoid doing this whereas it is possible to communicate about separate map files.

@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn May 24, 2018

Owner

This issue will remain open until this feature is more complete, but it is available in today's new development snapshot and added to the documentation!

Owner

bjorn commented May 24, 2018

This issue will remain open until this feature is more complete, but it is available in today's new development snapshot and added to the documentation!

@HeadClot

This comment has been minimized.

Show comment
Hide comment
@HeadClot

HeadClot May 25, 2018

Thank you @bjorn - I am going to contribute to the patreon campaign hopefully at the end of the month.

HeadClot commented May 25, 2018

Thank you @bjorn - I am going to contribute to the patreon campaign hopefully at the end of the month.

@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn May 29, 2018

Owner

@HeadClot Thanks! This feature was put on the priority list by @tomcashman, who is also a major patron. I've just reached my two-days-per-week goal again, but I still need more support to be able to afford the small office room I work in!

Regarding what's next for this feature until the Tiled 1.2 release, he's a short list of things I plan to work on next:

  • Darken inactive maps instead of making them transparent, which should make them easier to read since the transparency is causing the various layers to blend into each other.
  • Render a border around each map.
  • Highlight a hovered inactive map (in addition to the cursor change) to make it clearer that clicking there will select it, and which one (in case of multiple overlapping maps).
  • When loading/unloading/reloading a world, update maps shown alongside existing open files.
  • Automatically reload a world when its file changes on disk.

Editing the actual world definition in Tiled is probably not worth squeezing into Tiled 1.2, but it can always be worked on for a future release.

Owner

bjorn commented May 29, 2018

@HeadClot Thanks! This feature was put on the priority list by @tomcashman, who is also a major patron. I've just reached my two-days-per-week goal again, but I still need more support to be able to afford the small office room I work in!

Regarding what's next for this feature until the Tiled 1.2 release, he's a short list of things I plan to work on next:

  • Darken inactive maps instead of making them transparent, which should make them easier to read since the transparency is causing the various layers to blend into each other.
  • Render a border around each map.
  • Highlight a hovered inactive map (in addition to the cursor change) to make it clearer that clicking there will select it, and which one (in case of multiple overlapping maps).
  • When loading/unloading/reloading a world, update maps shown alongside existing open files.
  • Automatically reload a world when its file changes on disk.

Editing the actual world definition in Tiled is probably not worth squeezing into Tiled 1.2, but it can always be worked on for a future release.

bjorn added a commit that referenced this issue May 30, 2018

Worlds: Report errors and refresh on load/unload
Added error reporting when loading a world fails.

Also added a worldsChanged signal, which is used to immediately update
the map scenes. While refreshing a scene, existing MapItem instances are
now reused when applicable.

Issue #1669

bjorn added a commit that referenced this issue May 30, 2018

bjorn added a commit that referenced this issue May 31, 2018

Worlds: Only jump to another map with left mouse button
Avoids interfering with right mouse button interactions.

Issue #1669

bjorn added a commit that referenced this issue Aug 6, 2018

Improved interaction feedback for switching between maps in a world
* Added borders to the maps.
* Added hover highlight.
* Darkened other maps instead of rendering them partially transparent,
  which avoids confusion due to multiple layers starting to show
  through.
* Layers or tiles that go beyond the basic map size no longer contribute
  to the interaction area of the other maps.

Still, the main issue to address is the conflicting input handling between
the tools and the clicking of another map.

This change also adds the map border to single opened maps, which I
think is generally useful (closes #630).

Issue #1669
@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn Aug 7, 2018

Owner

Today's new development snapshot improved the interaction with other maps, implementing all the points I had listed above. I hope it is now ready for the Tiled 1.2 release. Any feedback and help with testing would be really appreciated!

Owner

bjorn commented Aug 7, 2018

Today's new development snapshot improved the interaction with other maps, implementing all the points I had listed above. I hope it is now ready for the Tiled 1.2 release. Any feedback and help with testing would be really appreciated!

@bjorn

This comment has been minimized.

Show comment
Hide comment
@bjorn

bjorn Aug 22, 2018

Owner

Closing this since the feature is available in the snapshots now, and doing an editor for the world files is out of scope for Tiled 1.2. An editor can be done in the future, but only if there is demand for it (same for the additional "level" or "elevation" support).

Feedback is still welcome, there should be about two more weeks until the Tiled 1.2.0 release.

Owner

bjorn commented Aug 22, 2018

Closing this since the feature is available in the snapshots now, and doing an editor for the world files is out of scope for Tiled 1.2. An editor can be done in the future, but only if there is demand for it (same for the additional "level" or "elevation" support).

Feedback is still welcome, there should be about two more weeks until the Tiled 1.2.0 release.

@bjorn bjorn closed this Aug 22, 2018

Roadmap automation moved this from In Progress to Recently Completed Aug 22, 2018

@hexus

This comment has been minimized.

Show comment
Hide comment
@hexus

hexus Aug 22, 2018

I would personally love to see an editor, but until then I'll see what I can get done without one.

Super exciting feature! 🎉

hexus commented Aug 22, 2018

I would personally love to see an editor, but until then I'll see what I can get done without one.

Super exciting feature! 🎉

bjorn added a commit that referenced this issue Sep 16, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment