I’m trying to get a feel for what’s out there (in terms of game engines / render libraries) and specifically those that are popular with Tiled users. Please post your comment here which engine your are (or have been) using together with Tiled.
To explain: as I’m currently porting TilemapKit to C++ and Cocos2d-x I’m already starting to wonder where to go next - and I keep coming up either empty-handed or confused as to what would be most viable (it’s probably not the most obvious candidates).
Well, let me summarize:
Unity: already has TMX solutions, using ext. tools with it is a suboptimal workflow, Unity are working on their own tilemap editor (seems to be ortho only for now), and related assets mainly focus on the 3D aspect (ie generate a grid of 3d models/prefabs).
Unreal: 2D anyone? No? Okay.
Havok / Project Anarchy: are these still alive? For PA the forum links are broken. Not a good sign.
LibGDX: It’s a popular game engine written in Java an… (connection lost)
Andengine: already poked fun at Java, have I not?
SDL? SFML? Allegro? Maybe as basis for a more integrated engine … no idea how popular and capable they (still) are.
XNA: I wish …
Game making tools: too integrated / walled-off.
So, any game engine you throw at me that might seem like a good idea to have TilemapKit support it, don’t hesitate, spit it out!
Right, MonoGame. Thanks for the tip! I always found this to be interesting, now more so since XNA is deprecated. I’ll post on their forums whether they’d like a port of TilemapKit. MonoGame seems like a better fit than Unity however if the code were already ported to C# that would make a Unity port more viable too.
I am currently learning Unreal Engine, and I plan to start in 2D since I have more 2D assets and do not want to invest in buying 3D assets till I make something. I’m sure there are others that would use it if there was a tool for tilemaps. I have worked with XNA but have not yet ported it to Monogame, it is in my plans though.
Do you think (or know) whether 2D (and specifically tilemaps) is a thing for Unreal? In my perception, Unreal is the “Wow, awesome visuals!” kind of engine that would be wasted on 2D. Most popular 2D entry seems to be Paper 2D.
But judging by the forums, TMX is almost entirely absent and “tilemap” (when it does not refer to Unreal’s terrain map) mentions are rare. Which could mean there’s a gap to be filled.
While Paper 2D comes with its own experimental Tile Set and Tile Map structures (along with its own map editor), it does allow importing a Tiled map using the JSON format (I don’t understand why these docs mention Tiled alongside Adobe Flash CS6, btw). I have not tried this, because the Unreal Engine was just taking too much space.
To answer the original question personally, I’ve normally written my own TMX parser and renderer in C++, based on Allegro, SDL (with OpenGL), QPainter (Tiled) and most recently Qt Quick (using the Qt Scene Graph). In terms of 3rd party libraries, I’ve played around with melonJS (HTML5), Love2D (with STI) and most recently Urho3D (a free and open source 3D engine which also has 2D primitives and native TMX support). I don’t think it makes sense to port TilemapKit to any of these engines, though.
I use it with Game Salad, making an old-school style RPG.
Since Bjorn added the ability to export as a CSV, it works fantastically as a tool for Game Salad (which can import tables from CSV data only).
I’m trying to think of ways that I could move a lot of my other workflow (basically using Excel for other layers of data) into Tiled, to make the whole process of creating content, and hooking up popup readables, teleports, triggers for quests etc, all into Tiled on different layers. That would be really awesome.
The whole idea about editing gameplay data in Tiled is something of value, I always wanted that (and I believe there are several issues regarding that). Of course not being tied to a game or engine means that kind of data would have to be generic, but it could still be useful and saving time.
For all of the things you mention, you can use an object layer and place objects with custom properties, either plain/colored rectangles or images (tile objects). The main problem for you I guess, is that it won’t currently export as CSV and in general can’t because objects are positioned freely and can overlap. Still, if you avoid overlap and snap them to the grid, you could just ignore this and convert it to tile-based CSV data.
Well, its not an answer to your question, but its 2015 and I’m still using XNA. I started my own 2d engine to make a rpg a few years ago, and I’m so far in that I don’t want to spend the time switching to anything else :). Eventually Ill change it over to mono.
If you’re doing this solely for a hobby/passion (which I am, I’m a professional dev by day), then XNA/C# with XTiled to import TMX files is a dream.
I love XNA. Shame it’s been discontinued along with the Xbox Indie program. Such a great API, such promise. But I guess Microsoft realized they aren’t doing themselves a favor bringing in all the script kiddies’ games on the Xbox, where those apps compete for user’s time with AAA and XBL Arcade titles.
I’m hoping that MonoGame will grow in popularity to fill that hole.