I should write a huge text about how #Haskell is a great language and is getting better all the time.
Just to dilute the stream of negativity constantly appearing on feeds.
Maybe you should too.
Gosh, I sometimes hate that the LSPs are a thing now. People really like to dunk on #Haskell and its “toolchain” for LSP deficiencies.
Come on, people, this stuff is barely mature by itself.
And you really can do without it.
When you try hard sticking to Boring #Haskell and then a new GHC comes out
Switched to map and contour generation from quad tree cells. Those are now correctly represent terrain transitions, not only passable regions.
The thing is more costly to construct, but the map filling is much faster than sampling each tile corner - less duplicate work and big chunks of uniform terrain are naturally aggregated and can be dispatched as one job.
Out of 1M tiles only ~75k are 1-tile transitions that are processed sequentially (presumably while some bigger jobs are chugging in background).
I had a late night thought that my sparse quad tree structure can be split up into a bunch of functors.
And that is indeed the case:
type SparseQuadTree a = Free Quad (Sparse (Range a))And the scaffold/compact functions are “bring your own algebra” now.
Replace Quad with Binary or Octal and you’d get the matching structure.
Going from a dense (but lazy) scaffold to sparse states that in type:
(a -> Sparse a) -> Free s a -> Free s (Sparse a)And the decider is a simple function that isn’t concerned with structure at all, making it reusable.
Awww yisss! Everything* I wanted feature-wise from this tileset:
Reading Wikipedia resulted in a slightly different path-finding algorithm than intended.
Behold: A-A-A-A-A*!
(At least it doesn’t jump straight into lava.)
End of #LudumDare day 1:
https://youtube.com/shorts/zLGhr3dtoRY
Not yet playable, just no-engine basics.
All the pieces so far:
Your mission: make #Haskell games in 10 lines. https://github.com/haskell-game/tiny-games-hs and the #haskell-game chat room await your entries. Good luck!
Toots as he pleases.