Modern, lightweight and efficient 2D level editor
MIT License
ne
,nw
,se
,sw
corners directions for Level.__neighbours
in JSONPublished by deepnight 10 months ago
Published by deepnight 10 months ago
Published by deepnight 10 months ago
The application has a new logo! Hope you will like it :)
Please note that the Windows Explorer could take some time before updating the app related icons (in Start Menu, project icons etc.). You may need to either restart the Explorer, or the computer itself, to force the visual update.
You can now search for any project element using the CTRL-F
keyboard shortcut (CMD-F
on MacOS). The results include:
Optionaly, you may also enable the searchable
option on supported entity Custom Fields, to filter your entities based on these fields (eg. if you look for a specific item instance or mob type).
This version includes lots of internal optimizations regarding auto-layer rules. Therefore, large projects loading time should be significantly faster, especially if your project contained large levels.
Realtime painting on Auto-layers should also be much faster in most scenarios, thanks to these changes.
A new layer option called "Asynchronous render" can be used to delay the actual rendering of tiles by a few milliseconds after painting. This can be used in very complex or large levels to keep the painting action smooth.
This update brings various features that should make rule-based biomes creation easier!
When creating an auto-layer rule, you may now render a rectangle of tiles picked randomly among a group of many others. For example, this makes possible the creation of random variations among trees, or other large details.
You can group your layers using tags, and filter your main layers list using these tags.
There is a new app setting to render tiles from nearby levels, making map transitions much easier to paint!
When enabling the "table-of-content" export option of an Entity, you will now get extra bits of informations in the toc
JSON field:
SHIFT-R
shortcut)__worldX
and __worldY
from entity JSONs when the world layout is not GridVania or Free.Published by deepnight about 1 year ago
Published by deepnight about 1 year ago
You can now create custom groups for your Int Grid values, allowing much more advanced rules based on these groups.
For example, you may render "vegetation" tiles only over values from a "Solid Walls" group, and not over values from a "Water" group.
The old (and confusing) "Compact mode" has been replaced by a new "Zen mode".
Simply hit TAB
to toggle it.
In zen mode, the left interface automatically disappears to leave much more editing space. You can briefly show the interface again by moving your mouse cursor to the window left edge.
Entity and Int Grid tool palettes can now be displayed in grid modes, for a much more compact experience.
LDtk is all about being enjoyable to use, so this update includes many quality-of-life oriented changes:
CMD-H
shortcut on macOs to SHIFT-H
__neighbours
array in levels JSON now includes overlapping levels (either in the same world layer, or in nearby world layers).tileId
and __tileSrcRect
were removed from Enum value definitions
Published by deepnight about 1 year ago
Published by deepnight over 1 year ago
CTRL-H
) now also hides the grid.meta
files (Unity) accordingly.Published by deepnight over 1 year ago
Published by deepnight over 1 year ago
Published by deepnight over 1 year ago
The new multi-worlds feature is now available as a preview.
Multi-worlds allow you to have multiple distinct worlds in the same LDtk project.
Each world can have its own set of levels using a specific layout. However, they all share the same definitions (layers, entities, enums etc).
IMPORTANT: to use this feature in your projects, you will need to make sure that your importer is up-to-date and fully supports it. Multi-worlds projects cannot be imported using older loaders.
To enable this experimental support, open your Project settings (P
shortcut), scroll down to the advanced options and enable Multi-worlds there. PLEASE BACKUP YOUR PROJECTS BEFORE TRYING IT!
When enabled, various new buttons will be available in the UI, like in the World panel (W
shortcut).
You can now offset the resulting tile(s) of any rules, either using fixed X/Y values, or using random ranges for more variety.
This will make much easier creation of organic elements like vegetation, dirt etc.
The new DropDown UI component supports:
You can now customize the location of your backups.
Please note that, to restore a backup, you should use LDtk and not copy files by yourself manually from your File Explorer / Finder.
Tags are not behaving like "folders" and can now be open/closed accordingly in UI.
You can quick search most lists from the interface:
You can now customize colors for all your recent projects on your Home screen.
Just press TAB
to switch between normal and compact UI modes. The reworked compact mode is now even more... well.. compact.
Published by deepnight almost 2 years ago
Published by deepnight almost 2 years ago
A
key when using WASD
navigation.Published by deepnight almost 2 years ago
Published by deepnight almost 2 years ago
F12
shortcut)A
keyboard shortcut for non-WASD keyboardsPublished by deepnight almost 2 years ago
Published by deepnight almost 2 years ago
The new Assistant makes the creation of standard auto-tiles rules super easy!
Fill the layouts on the left using your own tiles and LDtk will create all the rules accordingly. By default, if you don't have all the orientations drawn, the assistant will automatically just use symmetrical rules to fill the gaps.
And if you forget something or want to make a change, you can simply edit the layout again to update the rules automatically.
You can now navigate through your current tool values using WASD keys.
W/S
will cycle through values, while A/D
will quickly jump between tagsBecause of this change, the following keyboard shortcuts were modified:
SHIFT+W
or ~
(previously W
)SHIFT+A
(previously A
)SHIFT+S
(previously S
)X
(previously X
or Z
)The visuals of entity fields have been reworked again to increase clarity and reduce cluttering.
However, keep in mind it's always better to not display everything. The less, the better ;)
You can now customize the design of arrows used in Point or Entity Reference fields.
TLDR; This new tool makes the creation of variations of Auto-layer rules very fast.
For example, if you've created a bunch of rules that use the IntGrid value 1 to paint "Stone walls" tiles, you may duplicate and remap them to use IntGrid value 2 and, say, "Metal walls" tiles.
Right click on a group of rules in an Auto-layer to Duplicate and remap it.
This new tool allows you to make a copy of these rules, while doing the following operations:
New useful icons were added to the embed icons atlas, like keys, locks, and various shapes to be used with the 9-slices scaling feature of entities.
A new option allows to visualize "Enum tags" attached to tiles in the Editor context (thanks to Keith Clark). Just press the new "Show/Hide enums" button near the Layers list.
In the following example, all tiles were tagged with a Material enum (stone, grass, metal etc.) and the result can be displayed right in the editor context.
You can now define custom commands to be executed at various moments (when the project is loaded, saved etc.). These commands can be used for whatever your own production pipeline requires. Here are some typical examples:
For obvious security reasons, LDtk will always ask you first if you trust the project and want to allow commands from it.
The following fields deprecated in update 1.0.0 were removed from the JSON in 1.2.0:
LayerDef.autoTilesetDefUid
(use tilesetDefUid
instead).EntityDef.tileId
(use tileRect
instead).NeighbourLevel.levelUid
(use levelIid
instead).pxWid
/pxHei
to layersPublished by deepnight over 2 years ago
Published by deepnight over 2 years ago
You may now import project Enums directly from an external file (previously, only Haxe and CastleDB). This enum will be updated as you edit the file and LDtk will take care of value losses or renamings.
The following formats are now accepted :
{
"MyEnum1" : "a,b,c",
"MyEnum2" : "a b c",
"MyEnum3" : [ "a", "b", "c" ]
}
MyEnum : valueA, valueB, valueB
MyEnum : valueA valueB valueB
MyEnum : valueA ; valueB ; valueB
The sync window for External Enums was completely reworked:
You can now also import and sync Enums from a Castle DB file (http://castledb.org).
For new LDtk users, the samples are now much more visible in the default UI. Feel free to hide them by clicking on the [x] button.
Delete
key while having no active selection.Published by deepnight over 2 years ago