[$200+ Bounty] Integrate/Bundle Level Designer Toolkit (LDtk) into GDevelop as a tilemap editor #2352
Replies: 25 comments 19 replies
-
It seems very nicely done :) Seems like the output format is custom (not the one from Tiled) so this will need an adapter I think. I've created a card here: https://trello.com/c/yCXSSFFu/456-integrate-led-level-editor-inside-gdevelop-for-designing-tilemaps-levels-with-it |
Beta Was this translation helpful? Give feedback.
-
@4ian funnily enough, I've been using LEd since its newest update and asked the dev if they could output to the standard Tiled Json format. They actually added it to their roadmap for 0.3.0. In theory this would make it compatible with the work @blurymind |
Beta Was this translation helpful? Give feedback.
-
Awesome! Making even more interesting to get this tilemap object working :) So we can start using it in games and see what's the best way to integrate an advanced editor like this. |
Beta Was this translation helpful? Give feedback.
-
if we could embed an external editor directly in gdevelop - as a tab, rather than a modal window - that could make it feel more integrated :) in any case if the developers make a tiled importer/exporter, it will save us the effort to write an LED importer |
Beta Was this translation helpful? Give feedback.
-
Just a heads up here for @blurymind and @4ian LE-d has hit 1.0 and renamed to Level Designer Toolkit: https://deepnight.net/tools/ldtk-2d-level-editor/ |
Beta Was this translation helpful? Give feedback.
-
I am thinking that the best way forward for this is to add the ability to parse LdTk JSON files to the tilemap extension. From there on it can be sent to the correct parsing method. Problems to overcome before ldtk can de embedded as an external editor:
Potential alternative way to include LDTK in gdevelop is to make a new react component which wraps it - that way we could put it directly inside gdevelop as a new tab type and it will also work in the web version. Ldtk as a react component can be developed on a different gihub repository and added to npm as a module. This can attract more maintainers to it. |
Beta Was this translation helpful? Give feedback.
-
I agree. |
Beta Was this translation helpful? Give feedback.
-
So, I've also posted over on the Pixi-tilemap Github about the possibility of adding LDtk formatted JSON support. I'm waiting for clarification from the maintainer as I'm not quite understanding his question. Assuming that doesn't go through, if I understand correctly from @blurymind , this idea needs 3 things:
Is the above accurate? If the above are all accurate, is @4ian okay with me opening up a bounty on this? |
Beta Was this translation helpful? Give feedback.
-
This is more or less the ideal situation yes. Unsure how doable it is, because it would need also disabling a bunch of LDtk feature that we would not need (some configuration settings or these kind of stuff that would not be relevant for GDevelop).
I think we could as well handle directly as you said the LDtk JSON format, because it's not that complex and may be better than triggering a translation to Tiled TMX, then to Tiled JSON, all of this to finally be able to open it.
In a first version, we can add some limitation to the LDtk supported features. Like one tileset, or separately export tilemaps maybe.
Feel free to do so! Note that this kind of task seem actually more complex than actually adding the initial Tilemap object that we currently have (so that everyone has an expectation on the complexity of this). |
Beta Was this translation helpful? Give feedback.
-
Hey all, while it's not as large as I'd like it to be right now, I've started the bounty for this effort here: https://www.bountysource.com/issues/93298046-idea-add-new-externral-editor-to-edit-tilemaps-ldtk |
Beta Was this translation helpful? Give feedback.
-
@4ian, @Bouh, or @blurymind (or someone who can): Can we rename this to "Idea: Integrate/Bundle Level Designer Toolkit (LDtk) into GDevelop as a tilemap editor" or something similar? Just want to clean up the title for the bounty. |
Beta Was this translation helpful? Give feedback.
-
Updated, thanks! :) |
Beta Was this translation helpful? Give feedback.
-
I'd say lets investigate with the ldtk developer if we can get it as a react component. He might be willing to assist in some way or even engage this feature, since its marked as a milestone feature on the tracker there |
Beta Was this translation helpful? Give feedback.
-
General heads up, I was able to bump this up to roughly where I wanted to start it at. The bounty is now at $150: https://www.bountysource.com/issues/93298046-idea-integrate-bundle-level-designer-toolkit-ldtk-into-gdevelop-as-a-tilemap-editor |
Beta Was this translation helpful? Give feedback.
-
@4ian as a heads up, I think making this a discussion may break the bounty on it at bountysource. |
Beta Was this translation helpful? Give feedback.
-
The bounty has been re-opened, and I've boosted it up to $200 |
Beta Was this translation helpful? Give feedback.
-
@blurymind 4ian and I had a small discussion around this, and I had some questions:
Edit: Not sure if it helps or hinders any of the above, but they did release a Javascript parser for their JSON: https://ldtk.io/api/ and https://ldtk.io/files/quicktype/LdtkJson.js |
Beta Was this translation helpful? Give feedback.
-
I would love to have these split into different tasks/bounties as they are each a feature of their own that is a step towards integrating ldtk into gdevelop's ide.
I think splitting this into different tasks with bounties is going to honestly make it much more approachable for myself or others to pick up. So my advice is to keep this issue as a task to bundle ldtk, but create other issues for the parsing of ldtk json format and automatic file reloading as they would be beneficial to have on their own and are complex enough to do in separate prs |
Beta Was this translation helpful? Give feedback.
-
@blurymind As a heads up, looks like a new version of pixi tilemap is out. Sukant pinged me about it on pixijs/tilemap#109 (comment) Not sure if it's something that can help with stuff if we update. Edit: Oops, he pinged you too. 😄 Either way, thought I'd chime in here. |
Beta Was this translation helpful? Give feedback.
-
Hey @blurymind, how is the development of this implementation? What about Tiled collisions? Any updates? |
Beta Was this translation helpful? Give feedback.
-
Hi, it is still going although a bit slower that I would like to. The pixi6
upgrade issue got me stuck. I might raise it on the pixi-tilemap tracker.
Tiled collisions is something that should be addressed in a separate
task.It is not something that is currently worked on
…On Tue, Jun 1, 2021 at 2:29 PM willianholtz ***@***.***> wrote:
Hey @blurymind <https://github.com/blurymind>, how is the development of
this implementation? What about Tiled collisions? Any updates?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2352 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRRWVNEMVQTLXGLRXKBJ4DTQTOCFANCNFSM4X7CPOKQ>
.
|
Beta Was this translation helpful? Give feedback.
-
Thanks for the update @blurymind I agree that Tiled Collisions will likely need to be a separate PR/bounty/etc. Honestly I think Intgrid and enums in LDtk are a much bigger boon than the collisions from Tiled at this point. With Tiled Collisions, you only save a few steps of drawing out your collisions with a single object. With Enums and IntGrids, if we get the logic/events added around them, we could literally build out things like enemy paths, spawn points, checkpoints, etc. Obviously this is all my opinion, but something I'd likely put out another bounty on someday. |
Beta Was this translation helpful? Give feedback.
-
@4ian The Tilemap Editor bounty has closed out on Bountysource again. I've reached out to ask for next best steps to get it reopened, but you might need to just claim the bounty and we can reopen a "Longer-term" issue on this. |
Beta Was this translation helpful? Give feedback.
-
@blurymind @4ian The bountysource funds have finally been transferred, and I'm now able to open the bounty on Rysolv.
|
Beta Was this translation helpful? Give feedback.
-
Thats fantastic news! Thank you for sorting this out
…On Fri, 1 Oct 2021, 19:20 Florian Rival, ***@***.***> wrote:
Great to hear!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2352 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRRWVPBAQPOFKEMTZOZK43UEXNUHANCNFSM4X7CPOKQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Beta Was this translation helpful? Give feedback.
-
Read the discussion for full context, but this issue will probably require to start with:
All of these are useful on their own (and can lead to some bounty if agreed beforehand). Integration of the full LDtk editor might be more tricky and need a good design/technical solution.
Led is a level editor, that is similar to tiled- but with the exception that it can run inside electron. What is even more exciting is how clean and simple the interface is, while being capable of very powerful autotiling
https://www.youtube.com/watch?v=pYBWGt8wbsU
https://deepnight.net/tools/ldtk-2d-level-editor/
https://github.com/deepnight/ldtk
ticket on the ldtk tracker
deepnight/ldtk#126
it has powerful auto-tiling, but it can also be used in the traditional way without it
This makes me wonder if we can bundle it like we bundle piskel. Still needs to be researched a bit :)
Trello board card:
https://trello.com/c/yCXSSFFu/456-integrate-led-level-editor-inside-gdevelop-for-designing-tilemaps-levels-with-it
Beta Was this translation helpful? Give feedback.
All reactions