Google Summer of Code 2022 - The ENIGMA Team

My GSoC Logs

Contributor: Kartik Shrivastava
Project: Add Tiled compatibility to/from Enigma
Mentored by: bjorn, fundies and Josh



Guidelines to compile and test my project work:

In A Nutshell - This project implements two importers: .tmx file importer in RadialGM and .egm file importer in Tiled

My GSoC project spans into three PRs in three different projects of two separate organizations. The two organizations involved are Enigma-dev and Tiled. fundies and Josh are my mentors from Enigma-dev and bjorn is my mentor from Tiled.

Requirement: You have to use Arch linux OS specifically, as Enigma-dev's RadialGM only compiles in Arch linux at the time of writing these steps. Compiling RadialGM can be tough, so feel free to ping in enigma-dev discord server.

Steps to test the project:

  1. Compile Enigma-dev's RadialGM project and Tiled projects. (Note that Enigma-dev's enigma-dev project is a submodule of RadialGM so it gets included with RadialGM)
  2. Open terminal and change directory to RadialGM, checkout to PR #228
  3. Change directory to RadialGM/Submodules/enigma-dev, checkout to PR #2302
  4. Setup a system environment variable named ENIGMA_PATH and set its value to RadialGM/Submodules/enigma-dev. This path will be used by Tiled editor's "enigma" plugin.
  5. Change directory to Tiled, checkout to PR #3435
  6. Compile RadialGM and Tiled projects separately
  7. Run RadialGM project to open RadialGM editor, test the TMX importer by importing some .tmx file
  8. Run Tiled project to open Tiled editor, enable "enigma" plugin by checking it in Edit-Preferences-Plugins tab and finally test the EGM importer by importing some .egm file

Short demo video of the final outcome: https://www.youtube.com/watch?v=ZUJd5VhqQo8



Week 1: Importing Tiled .tsx files, the better way


Week 2-3: Importing Tiled .tmx files, the first iteration


Week 4: Fixing tile transformations and adding compressed data support


Week 5: Refactors, bug fixes and Glib, Csv, Zstd layer data support


Week 6: Hexagonal map support and some bug fixes


Week 7: Documentation and isometric map support


Week 8-9: Roadblocks, confusion and finally a conclusion


Week 10-12: EGM Importer, Testing and Wrap Up