I've never actually explained about DeBroglie/Tessera's path constraint, despite it being the most useful feature I've written.
Basically, it's an enhancement for #wavefunctioncollapse procedural generation that can for the generation to be globally connected.🧵
The #WaveFunctionCollapse algorithm has been introduced by @ExUtumno as a texture synthesis method and nicely used by @OskSta for procedural generation of 3D buildings. Wait, what, how do those relate? Sounds like totaly different applications!
⬇️ Answers in the thread! 1/18
#WaveFunctionCollapse texture synthesis on #fpga. Algorithm is hard-coded into hardware with Silice, and is specialized to the tile set. Goal is to search for solutions extremely quickly by exploiting the #fpga architecture.
Yes, this is hardware #procgen!
(1/n)
I've made a "parity" constraint for #wavefunctioncollapse that improves its ability to resolve branchless paths.
It basically works by finding enclosed regions, and counting if there are an even or odd number of exits.
Coming to Tessera next version.
Basic #WaveFunctionCollapse (@ExUtumno) running on an irregular @OskSta-esque grid on a sphere in #GodotEngine. Next: seed WFC with constraints for more interesting output, extend to 3D, add more tile variants, run on user-defined voxel space (ala #Townscaper).
Question about #wavefunctioncollapse; if you generate a new world based on an existing world. How do you sample the weights for each tile?
If I have a simple 2d world with roads and use the frequency of each tile as weights I get too much road.
@boris_brave or @OskSta ?
Prepared the landscape generator so it's ready for web demo release later today.
Also going to drop some new moose boss combat footage of the Necromancer game. (it's at 20+ scenes now 🔥)
#gamedev#WaveFunctionCollapse#threejs
I just uploaded my #procjam project! An infinite city, procedurally generated with the #wavefunctioncollapse algorithm, now with procedural trees. #procgen
Download the game here:
Yesterday, I was influenced to reapproach my texture generation thing from last year.
I made it more like cellular automata, where each pixel tries to figure out what it should be based on its surroundings and the reference input image. Neat!
(Inspired by #wavefunctioncollapse)
I finally did it. I made an esoteric AsciiDots program generator. Esoteric as in it just prints random numbers :)
It may be slow but uhhh it sure exists (it looks kinda nice). Source code in the replies I guess
#MadeWithGodot#WaveFunctionCollapse#Esolang#Ascii
I've been experimenting with adding simple backjumping to DeBroglie, my #wavefunctioncollapse library.
Backjumping reverts multiple steps at once, which means the solver is less frequently stuck in tricky or unsolvable states.
It should enable larger, harder generations to run.