• jan@cosmigo.com

Is there a way to embed tile sets in JSON?


#1

Greetings,

I’m trying to use PMNG to build my tile maps and import them directly into Unreal without having to rebuild the map. Unreal apparently support this as you cant see here at 1 minute to about 2:30. T

heres an explanation. I’ve tried the various export features on PMNG and UE4 seems to always import it as a data table. I have posted on UE4 as well.

My guess is that we need an embed feature for the tilesets in the JSON file. Any thoughts on adding a feature like this?


#2

This is probably best to implement via a plugin instead of a native feature — there are too many game engines in the wild, and adding native support for each of them would bloat PM, not to mention that some of these engines might soon become deprecated, or change their standards.

If you could post a link to the specs of the JSON file format used by UE4 it would be a good start.


#3

Valid on all accounts. I’m not a programmer by trade so I wouldn’t really know where to find the specs that would be required, however, the official DOCs are here and I know there is some JSON info in there. I’ve looked through some of the forums as well but I’m not sure any of those would be useful. Epic does an “answer hub” that is moderated by devs themselves so I could ask there as well.


#4

If you could find a direct link to the specs of the JSON format that UE4 uses for importing tiles it would make the whole task much easier — I’ve looked at the documentation you linked above, but it’s rather huge to sift through, and seems more a user manual, which might not necessary contain these specs.

The video from YouTube clearly shows that Tiled map editor supports exporting to that JSON format. Since Tiled is open source, as a last resort one might peek at the source code to gain info on how the tile image are serialized to JSON:

The project is quite big and contains sources in C++, Java, Python and Lua (since plugins seem to be codeable in various languages). Probably the export to JSON functionality is to be found somewhere inside the src/plugins/ folder (src/plugins/json/ and src/plugins/json1/ being good candidates).

Needless to say, this involves much more work than reading the specs of the JSON format required by UE4, which are language-agnostic and don’t require unraveling the code. As a last resource, you could open an Issue on Tiled repository and ask its author where to find those specs (he, or whoever wrote the plugin should be able to indicate the specs doc to you).

Once you have the specs, it’s a matter of working out how to create a plugin (DLL) that can export to UE4 via JSON. This should be pretty doable, unless you need to use True Colour (since the current plugin interface is not documented for True Color, and seems to be buggy too).