zircon-tiled

Bindings for Zircon to be able to read Tiled data.

License

License

GroupId

GroupId

com.github.nanodeath
ArtifactId

ArtifactId

zircon-tiled
Last Version

Last Version

0.1.1
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

zircon-tiled
Bindings for Zircon to be able to read Tiled data.
Project URL

Project URL

https://github.com/nanodeath/zircon-tiled
Source Code Management

Source Code Management

https://github.com/nanodeath/zircon-tiled

Download zircon-tiled

Dependencies

compile (2)

Group / Artifact Type Version
org.hexworks.zircon : zircon.core-jvm jar 2020.2.0-RELEASE
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.31

runtime (4)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.25
org.hexworks.zircon : zircon.jvm.swing jar 2020.2.0-RELEASE
com.fasterxml.jackson.core : jackson-core jar 2.12.2
com.fasterxml.jackson.module : jackson-module-kotlin jar 2.12.2

Project Modules

There are no modules declared in this project.

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.

  1. Download Tiled.
  2. Create a map in Tiled. Don't check Embed in map when creating your tileset.
  3. Choose File > Export as... and save your map as a Tiled JSON file.
  4. 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

Versions

Version
0.1.1
0.1