Week 60: Autotiling with 45° corner cases

A screenshot of the Godot scene editor showing some tiles that were drawn using my current autotiling system.
45° corner cases are coming together!

tl;dr: I'm still working on autotiling; I now have most corner-cases working for 45° and 90° tile arrangements.


An animated GIF of a recording of the Godot scene editor showing some tiles being drawn with my latest corner-type autotiling.
Some many shapes!


What happened last week?

Highlights

  • I mostly spent time fixing the logic and tile-set art for all the various 45° corner-cases.

Laundry list

  • Encode all missing data in FallbackSubtileCorners.
  • Add another missing corner-type.
  • Add logic to automatically populate transitive corner-type-match fallbacks.
  • Debug some incorrect target-corner-type logic.
  • Fix my recursive logic for recording transitive fallbacks.
  • Fix issues with my quadrant-selection logic preferring quadrants with fallback neighbor connections over UNKNOWN neighbor connections.
  • Add better logging for debugging.
  • Update CellProximity shape calculations to support concave cusps between 45-degree slopes within a cell.
  • Add some missing corner-type-connection cases.
  • Update target-corner logic to support concave cusps between 45-degree slopes within a cell.
  • Add support for quadrant corner-type-connections in diagonal directions.
    • Both internal-opposite and inbound.
  • Continue debugging 45-degree quadrants.
    • I added some missing cases in CellProximity local-topography logic.
    • And I fixed some target-corner-type calculations.
    • But I mostly added more tile-set art and connection rules.

What's next?

  • Continue creating my custom autotiling system.
    • I should have the complete system working in the next couple days for 90° and 45° cases.
    • Then I'll spend some time turning all of this into a more publishable Godot Plugin and polishing its usability.
    • I've decided to abandon work on 27° angles for now.
      • There are way too many corner cases to consider for these.
      • And writing all the logic to support new corner cases takes more time than I was planning.
      • I'll probably come back to this at some point in the future, but even then I'll probably only support the simplest topographies for 27° surfaces (deep surfaces without too many interesting combinations of neighboring angles).


🎉 Cheers!


This is a simple icon representing my sabbatical.

Comments