What is the recommended way to create tile maps?

Creating tile maps in the editor (Defold ver 1.4.3) is not practicable by the process described in the War battle tutorial. That is layer- to select a singer tile and then paste onto the layer, very slow… Shift select works on the tile-map but not on the tile-source. What existing approach is recommended?
An editor extension of some sort?
A conversion script to turn a tile-source file into a tile-map layer?
Other software such as Tiled?
Or am I missing something here (likely:-)?
Thanks.

Correct. Shift-select on the palette/tilesource would be convenient. What I usually do is to draw shapes that I need onto the tilemap and then shift-select these.

Interesting. What would that solve? All Defold data files are in a human readable format (protobuf text format) and as such are easy to work with. The protobuf message definitions exist in the Defold source repository (search for .proto files).

Tiled is a great alternative and it exports directly to Defold tilemaps. Tilesetter also export to Defold.

It would make it easier to work with if all the tiles were on the layer as you could select multiple tiles that make up an object, as in these cases selection (and paste) as an arranged group is what is needed.

Since Defold 1.9.0 we have a possibility to select multiple tiles to use them as a brush: :paintbrush:

Added the ability to select a tile region in the palette map as a brush
Now it is possible to select a few tiles in the palette as a brush.”

1 Like

Yeah just a heads up, thats exactly where I am now.

I’m trying out Defold, look at the most basic tutorial “War battles tutorial” and litterally 5 minutes in, trying to paint a map I realize that’s just impossible.

1/ Can’t drag & drop layers to reorder them, you have to enter Z manually
2/ You expect the highest Z to be at the top but no, here it’s the other way around
3/ While trying to paint something, your tile selection is hidden bellow every other tiles already painted

So it’s unusable and you have to use (learn?) another software to get the job done.

That’s a lot for newcomer trying to complete a tutorial, 5 minutes in…

1 Like

@Emile_Parouty hello, welcome and thank you so much for the feedback on your first impressions! I believe it’s very valuable to have such perspective. I’m also sorry, your experience with it wasn’t as pleasant as I believe everyone in Defold would like to, but let me answer you to the points :smiley:


This would make a nice “feature request”, but it would be a general case in many more things, generally drag and drop is not widely used in Defold Editor. I found this issue on github:

But perhaps for this specific use case of drag and dropping layers in tilemap there could be another one created. @Agulev is recently doing a ton of additions to Tilemap Editor - what do you think about it? Somehow in GUI the layers can be moved up and down while holding Alt and using arrow keys, but layers in GUI are different.


It reminds me of this :sweat_smile:

Actually, you could also change the camera to look at your tilemap from behind! :sweat_smile:
Not sure, if there is a setting for this that suits everyone - but let me ask this:

Is your expectation based on experience with other game engines or maybe some other tile map editors?


I think this might be addressed in next release actually, but please confirm if such a case is also covered ? @Agulev

1 Like

We don’t use old editor-2 tracker anymore. It would be better to create a separate issue in the main issue tracker Issues · defold/defold · GitHub, but more generic like “an ability to change layers order”. I’m not sure about Drag&Drop, but something like Atl+Up/Down is something that we probably can add easily.
BUT! Order in this case doesn’t matter and yes, Z should be changed manually by typing it (I mean Z is Z, order is order. In case of tilemap Z affects render order, not the order of layers like it is in GUI). Adding an ability to change order in this case will be more like cosmetic things for convenience (I’m not sure if it’s needed)

I noticed it as well when I worked on tile map, but wasn’t sure if it’s an issue. Feel free to open an issue for that as well, I’ll take a look when I have time (while tile map is fresh on my mind)


UPD about Z: I’ve just double-checked how ordering works in tilemaps, and it’s actually the opposite: Z value changes order. In this case, I’m not sure what “to change order” should mean. Should it be the Z of the previous layer +0.01, or +1? Or some other value? What if the developer wants to have some sprites in between layers and expects the Z to be different enough for that? I wouldn’t handle it this way, to be honest, and would instead keep the Z editing field.

2 Likes

No problem, I own a SaaS and I know the best money making decisions I ever made were based of users feedback, that’s why I took the time to post here.

Re-ordering Layers via drag n drop is a no brainer.
That’s literally the very 1st thing I tried to do, realized it wasnt possible, and knew already I would never use Defold to paint levels.

Who wants to : click to select layer + clic to select Z + type number with two hands + press enter ??
And then realize “Oh fuck it wasnt 0.7274 it was 0.7275, let me do that again!”
bruh.

Not to mention the “Visible” checkbox thats inside the layer properties, so you need 2 click to mask 1 layer.
RIght click on a layer you read “Show/Hide Objects”, would be better to call it “Layer”.

Having the layers organized with highest Z on top is a no brainer.
Having something “on top” means that thing is more visible than the things below, thats common sense, and common practice.

Every software has it this way, for a good reason, it’s a mistake to just compare Defold to other game engines, as most people cross over different pieces of software.
There are best practices in major softwares that are messed up in Defold is what I’m saying.

You probably did the reverse Z order because in pure code, objects are created one after another so the first created gets below the 2nd one etc…
But users don’t care about that.

Finally yes, when you paint something you expect it to be visible while dragging around.

Seeing Defold for the 1st time, roaming around support forum etc … it feels like a very “techie” software, I can feel the love for advanced problem solving and stuff, but I think it comes to the lack of general good UI/UX.
That’s maybe why it’s not as popular: the entry barrier is too high.

I would be great to hiere a team for a UX consulting, it’s pricey but well woth the money.
Dont leave the UI/UX to developers: leave it to the users.

There’s a huge lack of beginner friendly tutorials (maybe it’s the language that makes it hard to cope with, but the few that I see are not on point).

Why don’t you just hire someone some freelancers on upwork and give them some small games to make while asking for feedback?

You need to give more tools for people to actually enjoy using Defold.

Having a Defold Game Jam is definitely not the way to go, there are way smarter ways to market your engine.

To sum it up, for me as a non-techie guy and a newcomer that just care about getting shit done and have a game ready, I out after literally 5-7 minutes of using Defold and was looking for another engine because:

  • The UX is horrible
  • A very basic tutorial is flawed and don’t work as intented (I posted about it) so I can’t even complete it

All I said comes from a place of love, I took the time to write this so that hopefully it can be useful for your team.

Best of luck with the project!

5 Likes

I’ll try to be brief:

Re-ordering Layers via drag n drop is a no brainer.
That’s literally the very 1st thing I tried to do, realized it wasnt possible, and knew already I would never use Defold to paint levels.

Well, I don’t think it has come up before, so I don’t think a lot of users have needed it.
It is true that our tilemap editor lack some features we want, but we also have to weigh everything together.
We have a backlog on github, and we try strike a balance between
our paid work and the most requested features from our users.

Also, when it comes to prioritization, we look at if there is a workaround.
In this case, it does: editing the Z value.
And in all honesty, rearranging the layers is not something that takes a lot of time,
and it’s usually done once when initially creating the tile map.

Who wants to : click to select layer + clic to select Z + type number

If you want to have those numbers be what you want and need them to be.
E.g. for correctly placing sprites between two layers in the game.

Not to mention the “Visible” checkbox thats inside the layer properties, so you need 2 click to mask 1 layer.
RIght click on a layer you read “Show/Hide Objects”, would be better to call it “Layer”.

I agree, it would be nice to have a “visible” button in the outline view. Having it as a property though, is still valid, and was fastest to do at the time.
Perhaps someone will add a feature request for it.

Having the layers organized with highest Z on top is a no brainer.
Having something “on top” means that thing is more visible than the things below, thats common sense, and common practice.

It might be an option to display the nodes in such a fashion. Perhaps someone will add a feature request for it.

You probably did the reverse Z order because in pure code, objects are created one after another so the first created gets below the 2nd one etc…
But users don’t care about that.

While I understand your point, it is still quite subjective.
I haven’t heard this issue from another user before, so it doesn’t feel very urgent to be honest.

Finally yes, when you paint something you expect it to be visible while dragging around.

Not sure what this means. Yes, we want the user to see what they’re painting?

Seeing Defold for the 1st time, roaming around support forum etc … it feels like a very “techie” software, I can feel the love for advanced problem solving and stuff, but I think it comes to the lack of general good UI/UX.
That’s maybe why it’s not as popular: the entry barrier is too high.

It is true that our target audience is heavily focused on intermediate/advanced developers and studios.
But we’ve seen that our engine is approachable for beginners as well.
However, catering for all possible needs would stretch us too thin, and this is why we have the backlog, so that users can add feature requests and vote for the ones they feel would add the biggest back for the buck.

I would be great to hiere a team for a UX consulting, it’s pricey but well woth the money.
Dont leave the UI/UX to developers: leave it to the users.

Mostly, we base our UX on best practices, other software, and our experience of developing game development tools for many years (and as such, getting our design requirements from level designers and artists).

Why don’t you just hire someone some freelancers on upwork and give them some small games to make while asking for feedback?

We have a big enough community, that help us with requests on what is needed from their points of view.
You see the result on our github.

You need to give more tools for people to actually enjoy using Defold.

A limiting factor is that this is free software.
We get money from doing paid work (which still benefits you), and partnerships.
And, in between we try to fix the biggest issues and feature requests for the things we know are the most painful.

To sum it up, for me as a non-techie guy and a newcomer that just care about getting shit done and have a game ready, I out after literally 5-7 minutes of using Defold and was looking for another engine because:
The UX is horrible
A very basic tutorial is flawed and don’t work as intented (I posted about it) so I can’t even complete it

Still, a bit subjective, but you’ve mentioned a some good points above, which we appreciate.

All I said comes from a place of love, I took the time to write this so that hopefully it can be useful for your team.
Best of luck with the project!

Thanks for taking the time.

5 Likes

Seeing Defold for the 1st time, roaming around support forum etc … it feels like a very “techie” software…

Making videogames is “techie”. A layer’s Z value corresponds to the engine’s coordinate system, and the layers are listed in draw order in the editor. An engine’s UX should ideally embrace new users, but users should embrace working with “tech”, too, when nothing is amiss.

Dragging and dropping layers to sort them, leaves no information to the “techie” user for where the layer is rendered. What is the coordinate, then, if a layer’s Z is to be considered when writing a shader, later?

I guess I’m thinking, with so many beginner-friendly choices out there, I wonder why Defold ought to be another of them? Its UI and features certainly leave room for improvement, but I don’t envision Defold being an alternative to eg. GDevelop. I would like to see some more “power user” features, instead.

6 Likes

@Pawel I prepared a small fix for that https://github.com/defold/defold/pull/9197

3 Likes