User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
Admin
Wyvern-shaped software developer and hobby vector artist. Also sometimes a fluffy werewolf alien creature (Areon) or a bird (Corveon).

Creator of the neofoxes, neocats and other emojis.
wvrnBox
Website
https://volpeon.ink/
Speaking German, English
Age 30s
Pronouns he / him
Backup Account @volpeon@goto.wyvern.rip
Bonus Content @areon@icy.wyvern.rip
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
Oh, and generating the map in chunks is absolutely necessary if you don't want this to take forever. It's still running
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
I implemented the sample feature from Wave Function Collapse where you can feed it a "vibe example" and it will figure out valid combinations all on its own. Attached is the example I provided. If you only have straight paths and T paths, you'll get a nice output that's similar to recursive subdivision.
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
That's more like it drgn_cool
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
Ah wait, I know what I did wrong. I only watched the current block for impossible tiles and proceeded otherwise, but I should really check the whole map because impossible tiles can appear outside through propagation.
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
Watching the algorithm do its thing is really fascinating. I'm not sure why, but it tends to enter a state where all the remaining tiles have no possible choice (indicated by the XX) and the block reset appears to do nothing

(Again, not a call for help)
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
@aetios It's so bad it's even a common trope for isekai protagonists to have died of overwork
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
wvrnFlat <- filled with eep
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
@nytpu wvrnAlert
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
@sam Gern geschehen neofox_evil_3c
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
@aetios Cats enter a state of starvation as early as one hour after their last meal (Source: every cat)
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
Next I'll expand it to use different probabilities for each entity type depending on the "biome"
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
Constraints can span any area btw, not just direct neighbors
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
Yess, I did it. These are 2x2 blocks generated with the algorithm, and all are fulfilling the constrain that there must be at least 1 empty space between them
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
goes to the home improvement center
"Yes henlo, I'd like to buy 3 linuxes for my house"
"Huh?"
"I heard windows suck and people told me to use linux instead
neofox_woozy "
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
@Foxotronic I see neofox_think_cool
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
This is exactly the reason why I don't like cases with windows. I'm not bothering with keeping this thing clean to look pretty all the time.
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
@Erpel It got a spicy remote code execution vulnerability
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
The biggest hurdle is the fact that while the map data is tile-based, the elements in my drawing take multiple cells and I also don't want to split them into tiles. You would see seams since it's vector graphics rather than pixel art.

This is not a call for help or advice, I'm just letting you know what I'm working on.
wvrnMlem
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
interface TileEntity<T extends TileEntity<T>>
That's some wild typing right there woozy_baa
User avatar
privTri Volpeon areon3NSmol @volpeon@icy.wyvern.rip
1y
Wave Function Collapse really looks like the best algorithm to got for my bot. The basic variant won't work with the kind of constraints I have, but the algorithm is very easy to extend