It took quite a while to get it right but essentially store everything in 3D coords (x,y,z) then project that into 2D as (x, y + z) to offset based on height.
Then you end up with the world separated into a grid of columns, and sort each column based on how it should appear. Lower on screen (low y value) in front, higher on screen (higher y value) is behind.
End result is just a function that takes a coordinate for any object and calculates the correct sort order.
@Nporoobt@AIJC_nagahira definitely! this is some footage from a much older build but I imagine it will end up somewhere similar. Currently in the process of a ground-up rewrite
Experimenting with new shaders
✅ Inverted-hull outlines
✅ Screen-space Sobel outlines
✅ World space projected halftone shadows
✅ Color grading
#gamedev#indiegame