Which Engine Proper Isometric Layer Rendering?

(TheNewb) #1

I’ve gone through SFML and the loaders people made for those. Tried using Unreal, tried using Libgdx now.

Is there ANY engine that already has the code to render the Layers properly? Or should I just give up. Been trying to get a god damn iso map to work for months now.

I can’t figure out if it’s Tiled or the Engines that aren’t working, or both. I see lot’s of people seem to have it working, or say they do at the end of their issues. But they never post what they did to solve it.


(Sebbu) #2

most of what you cite are libraries to handle the map format, so it allows you to read the map’s data, after that it’s up to you to render it.
you aren’t searching for a map library or simple loader, but a game engine (possibly with a tmx loader)

http://doc.mapeditor.org/reference/support-for-tmx-maps/#support-by-framework only the second part (by framework) interests you
otherwise, tmxlite or STP has a small example with SFML to render a map

(TheNewb) #3

Ya I’ve tried tmxlite it only has an orthographic example. I consider SFML and Libgdx to be engines somewhat, seeing as all the backend stuff is already done.

These libraries, SFML and Libgdx, especially libgdx has everything already written for Orthographic layer rendering. I just need it for Isometric, and there is so much code in there I wouldn’t know where to begin to edit it, all I want is the layer offsets to work out of the box like the orthographics do.

Just want to get making my games, that’s why I chose libgdx in the end, it’s already set up so I can just get going. Except for this ONE issue I’ve been having with all the engines and libraries and parsers I’ve tried.

(TheNewb) #4

Alright well I think I may have finally found the solution for getting Libgdx to render the layers properly, once I edit the code, I will post it here, as well as on the Libgdx Forums.


FWIW, I use Construct 2 using Rex’s TMX Loader. I also maintain a modified version of the the code for my personal use. Layer rendering in C2 is not so much of a problem. There is z-sorting (layering within a single layer), and C2 layers. Anything that must be sorted are put into one C2 layer.

But I wouldn’t consider it a ‘plug-and-play’ situation because there are other things to consider like how elements are arranged for programmatic access, tile movement (if applicable), how to properly correspond tile image paths between Tiled and C2, etc. You still need a fair bit of time to invest on learning it, but I’ve been quite happy developing an iso (hobbyist) game in C2 for more than a year now. The typical worry C2 users have in C2 (I’m too uninformed to really have an opinion myself) is performance.

I write an ongoing documentation for my own reference as I progress, which takes form as a blog. Admittedly, much of it is rather opaque.

(Chilli Bear) #6

Sorry there is nothing that I have found. Problems with EVERYTHING. So far I have used Nez (does maybe 50%) and modified this to work for what I need. Its horrible but nothing has 100% support for isometric.

(Thorbjørn Lindeijer) #7

Note that most of these libraries are coded by people in their spare time, and even for those lucky enough to get paid they would prioritize the parts they need themselves. But in all cases, they spent extra effort to make their work available to all of us.

All I would ask is to please also share your work, either sharing your library or to contribute your improvements to the library you’re using, so that others will find things in a better state.

(Chilli Bear) #8

Whilst I would love to share what I have, I really have only hacked together a solution for myself, and my solution isn’t even complete yet (mainly due to issue here: How to associate tiles in different layers (isometric)?). If its ever working well I will be sure to upload what I have.

Of course there are some other considerations:

-Tiled itself isn’t fully compatible with all isometric styles and goals.

-Indeed, no engine is fully compatible with Tiled isometric.

-Most engines are missing critical features for beyond very basic isometric support.

-The nature of isometric is exceedingly complicated, and there are different goals for every game therefore making an engine/editor that supports all of this is overwhelming.

Personally what I want to see is more isometric support in Tiled and an Engine that “just works” out of the box with isometric Tiled.

(Thorbjørn Lindeijer) #9

Yeah, that would definitely be nice! Any contributions are welcome, as well as just opening issues for things you consider missing in Tiled (when there isn’t an issue for it yet, of course).

(Snowminx ) #10

For LibGDX, you must write your own method to switch between layers in order to use the isometric perspective. When I was using libGDX I had to write my own Isometric renderer because theirs used a batch version, and that didn’t all me to switch things around on run time. I switched to Monogame/Nez because monogame, in my opinion, has a better way to interact with shaders. With Nez, I wrote my own IsoTiledMapComponent and had that write depths to the depth buffer :slight_smile: You have to roll out your own method of drawing isometric maps, checkout the source code for FLARE on github, an isometric game, they render the tiles back to front in a diamond pattern :slight_smile: