Live data from Hacker News

LDtk: A modern and open-source 2D level editor

deepnight.itch.io

41–50 of 56 posts

Re: LDtk: A modern and open-source 2D level editor

#41

I want to talk about Haxe. Haxe is a small niche language. But I almost fell out of my chair when I saw the showcase of games written with Haxe. Quality indie games I have played myself, like Dead Cells, and this level editor is another very polished example. Even things like Pokemon Sword and Shield. What's going on here? I need to learn me some Haxe. Are all of these using Kha - so called "SDL but super-charged"? O…

Haxe is a great piece of technology on its own, and I am often working in it as a default, but I always caution potential users that it is more like a building block than a comprehensive package: if you want to do complex cross-platform things using Haxe, you will still want an full-time engineering team working with you to build out the full solution, since you will probably need to leverage the strengths and tooling of the target environments too. Haxe tries hard to get out of the way and give you the access you need, but builds and debugging always introduce challenges that depend on platform-specific behaviors. The quality of the results is more suggestive of the quality of the average Haxe user than the language itself doing anything magic(though it is a very sensible design).

That said, you can make some great things just sticking within the available frameworks. OpenFL is good, as is Kha. HaxeUI is definitely worth checking out(it can use multiple backends). For editing tools there's still going to be a bias towards working with Electron because of the combined set of I/O features.

Re: LDtk: A modern and open-source 2D level editor

#42
post #26
post #17

Earlier quoted context omitted.

From my limited experience, Haxe seems like a really neat language but good grief the documentation and learning resources are awful. It’s possible that I was going about it wrong, but there was very little by way of “here’s where everything is and how you’re supposed to do things” resources. I feel if that issue was better handled the language would see much more use than it currently does.

Do you have concrete examples of things that are missing? We are aware that documentation is generally lacking, but it's not easy to see exactly how/where from inside. Would gladly contribute on such a list.

Sure!

My thoughts, taking a quick second look at the Haxe website:

* The core docs are split across three different sites: https://haxe.org/documentation/introduction, https://haxe.org/manual/introduction.html and https://api.haxe.org/. To a new user this is extremely confusing.

* Let's say I go with the first of those. I go through the pages, which contain lots of useful information, but it doesn't actually tell me how to do what I want - which is presumably "make a game" given how Haxe is marketed. As a new user, I'd like to know how to use your library to make a game - say, pong or tic-tac-toe. If graphics/input/whatever isn't part of the standard library that's fine, but then your intro should tell me that and give me some suggestions where I can find those libraries and how to install them. Compare to the nodejs.dev or reactjs into tutorials, which immediately show you how to do the thing that many/most people will want to do (make a server, or make a dynamically-updating frontend respectively)

* On that note, your package manager is VERY hidden! It's just labeled as "haxelib" (very non-descriptive) at the bottom of the "Learn Haxe" menu.

* The other thing that the docs aren't really telling me is "what's the typical way to combine these ingredients"? How do people typically work with haxe.Resource-s, macros, MainLoops, etc? What are the common patterns?

* Many of Haxe Standard Library docs pages are minimally populated. For example, MainLoop sounds important, but the docs tell me almost nothing. https://api.haxe.org/haxe/MainLoop.html

Re: LDtk: A modern and open-source 2D level editor

#43

I want to talk about Haxe. Haxe is a small niche language. But I almost fell out of my chair when I saw the showcase of games written with Haxe. Quality indie games I have played myself, like Dead Cells, and this level editor is another very polished example. Even things like Pokemon Sword and Shield. What's going on here? I need to learn me some Haxe. Are all of these using Kha - so called "SDL but super-charged"? O…

There aren’t many games using Kha, but I am using it for my game and think it’s absolutely awesome! I used to use the Flash display list, OpenFl, Heaps, but since learning React I have a developed a complete distain for the Object Oriented approaches for game development. Like the HTML canvas api, Kha allows me to build my own state structure, and then the visuals are just a functional expression of that structure. Combining this approach with Haxe’s extremely powerful Enum and pattern matching capabilities has been such an eye opening experience, and make it difficult for me to go back to just about any other language. Haxe is just so clean and well designed.

Re: LDtk: A modern and open-source 2D level editor

#44

I want to talk about Haxe. Haxe is a small niche language. But I almost fell out of my chair when I saw the showcase of games written with Haxe. Quality indie games I have played myself, like Dead Cells, and this level editor is another very polished example. Even things like Pokemon Sword and Shield. What's going on here? I need to learn me some Haxe. Are all of these using Kha - so called "SDL but super-charged"? O…

Haxe is awesome! I'm using that and Kha for my https://rpgplayground.com I think most games use Heaps, which is also written by the Haxe developer. Some other libraries such as OpenFL were ported from ActionScript to Haxe. (Basically Haxe took in a lot of Flash refugees :)). Definitely recommended technologies!

rpgplayground is pretty cool.

Re: LDtk: A modern and open-source 2D level editor

#45
post #28
post #9

Earlier quoted context omitted.

Thanks for posting these. I saw it was the guy from Dead Cells, but didn't think to look through his other projects. The tractor game is polished enough that I would have kept playing if there were more than one level. The RPG Map Editor reminds me of an ancient project where I was trying to draw and export Dragon Warrior style tile maps in javascript, but about a million times better. Between this and 0x72: https://…

Thanks for mentioning. LDtk is just amazing! One of those "why didn't someone made that before?" (maybe I'm missing something? it on some level resembles puzzlescript.net) Genius, relatively simple to implement and extremely useful. Easily can save you hundreds hours of work for even in a small project. Sébastien deserves all the praise - LDtk is not only a great idea, but also super-polished and open-source. What no…

Oh cool! Love your artwork. I came across it near the end days of Kongregate when there were a lot of clever little platformers getting posted by different users that had some suspiciously similar art. I particularly like your micrometroidvania kit: https://0x72.itch.io/2bitmicrometroidvaniatileset

Re: LDtk: A modern and open-source 2D level editor

#48

With this and tiled - I really don't understand how you hook them into your game without a bunch of code managing the boundary between level editor and real code.

The level editor exports a file. You need to write code that parses that level file into a format your game can use.

Re: LDtk: A modern and open-source 2D level editor

#49

With this and tiled - I really don't understand how you hook them into your game without a bunch of code managing the boundary between level editor and real code.

I think you just load the generated file into the game. One part I don't know is how to handle entities. Each game has its own entites and maybe even completely different treatment (architecture) of entites. I'm not sure how flexible they are.

I'm building a simple 2d RPG that is a Ultima spin off and a map editor. In my game I could put different components into entities (not ecs but more oldschooled way) and call each component's update(). Since I'm building my own editor, it's a lot easy to integrate all those into it. For example I could even have a dedicated entity tab that designers can enter some values. I wonder how tiled treat this kind of questions. I browsed through the manual and didn't see anything related so I think it's a pure map editor.

Re: LDtk: A modern and open-source 2D level editor

#50
post #42
post #26

Earlier quoted context omitted.

Do you have concrete examples of things that are missing? We are aware that documentation is generally lacking, but it's not easy to see exactly how/where from inside. Would gladly contribute on such a list.

Sure! My thoughts, taking a quick second look at the Haxe website: * The core docs are split across three different sites: https://haxe.org/documentation/introduction , https://haxe.org/manual/introduction.html and https://api.haxe.org/ . To a new user this is extremely confusing. * Let's say I go with the first of those. I go through the pages, which contain lots of useful information, but it doesn't actually tell m…

I completely agree with this. I went through the process of learning/attempting to learn haxe earlier in the year. (I was on a nostalgia 'I want to build flash games again' journey)

There is lots of information. But not a lot of direction. I thought about writing some stuff on 'here is how to get started building a game'. But I started running out of steam when I hit some bugs with heaps and the newest version of haxe.

Post reply on HN