EGM is intended to support multiple room formats. Currently, the formats we support are specific to ENIGMA; they are a high-entropy ASCII representation of room contents based on the svg_path specification.
Tiled is an open-source level editor that has become popular in the Indie dev community. The team would like to add support for exporting to .tmx (Tiled) editor files, and importing back from them.
Tiled already supports exporting to gmx (https://doc.mapeditor.org/en/stable/manual/export/), so exporting to tmx should also be possible, but again, the team has not done detailed research on this.
This will give users further options outside of RGM for editing levels.
Some discussion is due with the Tiled team to determine the best approach for spanning this gap.
- Should ENIGMA export .tmx, or should Tiled support importing EGM's room specification? This doesn't make much difference from ENIGMA's standpoint, and comes down to two points:
- Whether Tiled team is interested in another importer.
- Whether ENIGMA's room importer can be generalized in a way to make maintaining a Tiled importer maintainable.
- Should ENIGMA import .tmx files, or should Tiled export ENIGMA's room format? We believe Tiled should export its own format, and ENIGMA should just be compatible with it.
- Compatibility: ENIGMA's intermediate format is Proto; any data that can be serialized into our protocol buffer representation can be exported or imported.
- What does Tiled use as an intermediate representation?
- Is there stark feature disparity between Tiled and ENIGMA's raw data?
The answer to that final question should help inform the questions above. It may be that Tiled's data layer is sufficiently mature to easily support importer and exporter re-use between the projects, which would be the best possible outcome.
- Determine the structure of Tiled's data layer and note any incompatibilities between it and EGM. (2-3 weeks)
- If possible, write a translation layer to move between ENIGMA's intermediate format (Room protocol buffers) and Tiled's intermediate format (1-2 weeks).
- Discuss support for ENIGMA-compatible export with Tiled team. This may enable them to simplify their GMX importer using ENIGMA infrastructure (1-2 weeks; an ENIGMA Mentor will help).
- Use the translation layer to enable one or both projects to import/export to the others' formats (<1 week).
Mentors: Josh, Greg
Expected size: 350h
Skills required: C++ fundamentals
Skills preferred: Experience with scene layout and scripting in video game engines, experience with serialization formats
sir i want to work on this issue
Best to discuss gsoc projects on discord
sir i want to ask that assigning the issue is on the discord channel or we can have it here