Tiled support for Zircon [Experimental]
This is an experimental module for adding support for Tiled to Zircon.
How to Run
You'll need this fork of Zircon for this to work.
- Download Tiled.
- Create a map in Tiled. Don't check
Embed in map
when creating your tileset. - Choose
File > Export as...
and save your map as a Tiled JSON file. - Run
org.hexworks.zirconx.examples.GameKt.main
and pass in the absolute path to your JSON file as the first argument.
Supported
- Basic tile layers
- Multiple tile layers
Limitations
- Most things that Tiled supports are unsupported.
- Embedded tilesets
- Layers with a type other than Tile layer
- All layer properties, including visibility, opacity, tint, and offset
- Most tileset properties, except grid height/width
- Tile collisions
- Tile/tileset/map metadata
Other TODOs
-
Switch over to kotlinx.serialization. This depends on being able to switch all of Tiled's outputs to JSON, which I think we can do.Switched over to naive Jackson object deserialization, which should be easy to replicate in JS implementations. - Support object layers. See #1.
- Support tile collision data.
- Implement the Right Way to handle asset loading instead of just loading files.
License
See LICENSE
.
Notes
Originally branched from zircon.skeleton.kotlin.
Internal
Publishing
Publish using
gradlew publish --no-daemon --no-parallel
gradlew closeAndReleaseRepository