Open Gamer-XP opened 12 months ago
Bump for disabling tile overlapping, this would be extremely useful for more complex stamps.
Hi, Right now, I don't plan to support the tile overlapping part because this leads to some very significant performance issues.
Basically, rules are evaluated from left to right, top to bottom. Supporting "break-on-match" on multiple cells means that a rule could mark cells as occupied backward (if you have a 2x2 stamp, but with pivot point placed in the lower-right corner). It's a bit hard to explain quickly, but I tried to implement that and it went far and really broke many rules paradigms.
Can you evaluate rules in waves? Like:
Instead of
I feel like it should not require to to re-evaludate already evaluated tiles... probably?
I'm not sure to understand but that's how it's currently done. In your example, say that rule 2 paints a 2x2 stamp but to the left (because of the pivot). This means that content produced by rule 1 could be actually blocked while it's already evaluated.
Yes, it can override already processed data, but it will save performance because overridden tiles did not process all the rules yet + it should make high-placed Big Tile Rules have higher priority overall.
So, let's say you've processed 2 single tile rules. It created few tiles here and there. Then you've encountered a rule that will create 3x3 block around current tile. It will override already existing tiles on the top/left, and will remove this 3x3 block from further rule evaluation. I think, it will ignore this rule if there is already any tile in this 3x3 area, but may add an option to override existing ones.
Yes, it can override already processed data, but it will save performance because overridden tiles did not process all the rules yet + it should make high-placed Big Tile Rules have higher priority overall.
So, let's say you've processed 2 single tile rules. It created few tiles here and there. Then you've encountered a rule that will create 3x3 block around current tile. It will override already existing tiles on the top/left, and will remove this 3x3 block from further rule evaluation. I think, it will ignore this rule if there is already any tile in this 3x3 area, but may add an option to override existing ones.
What happens if we have the following rules:
Here, rule 3 will cause some stamps created from rule 2 to be partially changed, resulting in some incomplete stamps.
I think maybe allowing an option for each rule to overwrite previous tiles this way could work. So if the only rules being overwritten are single tile rules, we can still apply those rules first if that is useful to someone.
I'm trying to use LDTK to make platformer levels, and I've encountered quite a lot of issues with auto tiles so far. Thing is, if your tilesets are not RPG-like and share exactly same layout - they are mostly impossible to use properly with LDTK. This is one of tilesets I'm using for my platformer game. You can imagine it will be near impossible to make all tilsets match same layout to work with autotiles when they look like this:
There are quite a lot of minor things that ruins the conveience of such a great tool.
Related to existing auto-rules:
And here is some extra functionality that is very similar to rules, but will work for normal tile layers.
Idea is that you have separate auto-tiles for normal tile layers. I expect it to work this way:
With this, you'll have a very quick way to draw big areas automatically using great existing auto-rules, but will also have full control over modifying it later manually, which is must-have for relatively complex tilesets and fine-tuning.
I understand this is a huge list of thing, but if, at leats, some thing are actually implemented - it will still improve overall workflow.