Giter VIP home page Giter VIP logo

yati's Introduction

YATI (Yet Another Tiled Importer) for Godot 4

This is an addon for the Godot Engine for importing files (.tmx, .tmj) created by the Tiled Map Editor.

Please note: This addon is for Godot 4 only and won't work with Godot 3.x

Tested on Windows 10 with Godot 4.2.1 and Tiled 1.10.2 (Tiled maps from older Tiled versions may work too)

Latest version: 1.6.5

New since v1.5.2: Runtime packages are now additionally available.
For installation and usage please refer to the runtime document

Installation

The addon is available in GDScript as well as in C# for the Mono version of Godot 4.

  • Download either the GDScript version or the CSharp version
  • Move the unzipped addon folder with its entire content to your Godot project folder
  • After starting your project in Godot the plugin should appear at Project>>Project Settings...>>Plugins

C# version: Run your project once for building the plugin, otherwise enabling will fail
'Run your project' means 'Press the Play button'. For this to work a main scene must have been configured.`

  • Enable the plugin by ticking the enable checkbox

Usage

  • Place your Tiled map(s) with all its parts (.PNGs/.tsx/.tsj/.tx/.tj/...) somewhere inside your Godot project.
    If you do this by copying a full Tiled project from elsewhere please ensure that its folder structure is preserved.
    (Otherwise, the references stored in the maps and tilesets may be incorrect and errors will occur)
  • Please check: Tiled editor should seamlessly work with all maps inside your project i.e. all its references must be ok

Strictly speaking, only the tiled map files (.tmx/.tmj) and the map resources (.PNGs) need to be inside your Godot project so that they can be recognised and imported by Godot. Tilesets - if they are not embedded anyway - can be outside the Godot project as long as they are correctly referenced in the map file(s). The same goes for template files (.tx/.tj) and Tiled project files.
However, I doubt this to be very useful, as the PNG files referenced by the tileset must also be inside the project.
Thus we'd end up with internal references pointing outwards and external references pointing inwards.

  • Once these requirements are all met, (re-)starting the project lets the import run automatically
  • Important recommendation: Untick "Use multiple threads" in Project Settings (Advanced) Editor>>Import
    Otherwise - if you have more than one Tiled map - Godot may freeze (+crash) during import.

Features

(Hopefully) nearly all Tiled features are supported:

  • all kinds of layers
  • all kinds of objects
  • all map orientations
  • visibility, opacity, tint, offsets, probability
  • parallaxes
  • tile collisions
  • tile animations
  • templates
  • custom properties
    ...

By assigning values to the class attributes and by setting custom properties the resulting scene can be largely customized.

For details please refer to the reference document

Limitations & Particularities

  1. Ellipses are not available in Godot. Where appropriate a capsule is used instead. (Where not appropriate it's skipped)
  2. Tileset animation in Godot requires involved tiles being equidistant and either horizontally or vertically arranged.

    In Tiled you can randomly choose every frame tile, such animations won't map and are skipped.

  3. Godot 4 seems to make a left-down render - at least the 'perspective walls' example from the Tiled github site suggests this.
    I've not yet found anything to change this.
  4. The C# version does not support zstd compression.
  5. I'm currently using Windows 10 therefore I can only ensure the functionality for this OS.

Known issues

  1. Godot may freeze during import, see my recommendation concerning "Use Multiple Threads" in the Usage section.
    Maybe this is only a problem on Windows though...

Support

Support is active i.e. if issues should arise I'll do my best to resolve them.
If you would like to sponsor the project I'd be thrilled if you buy me a coffee.

License

MIT License. Copyright (c) 2023 Roland Helmerichs.

yati's People

Contributors

kiamo2 avatar joelcreatesgames avatar lertsenem avatar lmreef avatar mark-rafter avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.