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.🧵
Added different rooms to my dungeon generator.
The algorithm mostly relies on a find a replace routine.
I want to try house generation next.
Heavily inspired by work done by
Working with #WaveFunctionCollapse again using a navmesh constraint to ensure all surfaces can be visited. Using some art from Thief 4 which works perfectly as it's all been built on a grid.
#procedural#procgen
Here's a selection of mini-golf courses randomly generated using the Wavefunction Collapse algorithm. Even with a small tileset, the results are quite different each time.
#gamedev#indiegames#indiedev
1. Generate stairy cycles with WFC
2. Drop columns from corners
3. Retract double columns and columns that touch ground or stairs
4. Grow windows between neighboring columns
5. Merge windows into bigger rectangles
6. Turn solo windows into walls
Project: https://github.com/mxgmn/MarkovJunior…
On r/RoguelikeDev ExUtumno shared their MarkovJunior project, a "probabilistic programming language where programs are combinations of rewrite rules and inference is performed via constraint propagation"
Useful for map generation among other neat things: https://github.com/mxgmn/MarkovJunior…
uses for #Townscaper . Figuring out how to tweak the algo to handle weirdly oriented quads was tough. Next I'll be working on constraint tools for this.
#gamedev
. They procedurally generate game rules and train the same RL agent on all of them! For example, g1=see(me,opponent) g2=not(see(opponent,me)) is hide-and-seek, and g1=g2=near(pyramid,sphere) is a cooperation game. Physical levels are generated with WFC
Very excited to release our new work: Open-Ended Learning Leads to Generally Capable Agents. tldr; algorithm that dynamically shapes task distributions to train agents on huge task space, resulting in surprisingly general behaviour http://dpmd.ai/open-ended-blog
Thread: (1/n)
I figured out a way to turn any heightmap into a massive WFC map. It's getting closer to how I'd like it to look. LOD0 is the handcrafted meshes, then a few LODs of marching cubes and then the heightmap. #procgen#gamedev
i think.. i just accidentally fixed the solver bug i spent days trying to fix on purpose.
gold is the change list. the WFC only runs on cells which have had their list of possible states recently altered.
New video! This one's all about the Wave Function Collapse procgen algorithm. Super proud of this one so if you're interested in #TechArt and #procgen check it out! #b3d#GodotEngine
#WaveFunctionCollapse over an infinite space! 🎉 Generates domains at a distance and collapses nearby.
When an area is deleted and regenerated, it will be random each time but that fits my game world.
Thx again
. In a week, I will submit my thesis in #UCL, discussing how to combine the #WFC with architectural tilesets for building design. Until then I am playing with my #Grasshopper3d#Plugin.
Applying random transformations to other people's code, S01E07, #tweetcart
Trying to do it differently this time, using local transformations only. Note that the code changes only a little on each step.
Previous episodes: https://github.com/mxgmn/Blog/blob/master/arttopc.md…
--rainbow rope
--#pico8#tweetcart#tweetjam
t=0
::_::
t+=.005
cls()
d=sin(t/4)
for i=-99,99 do
for j=-120,120,30 do
v=i/64+t*4-j/120
r=32*sin(v)+16*sin(i/120)
x=i*cos(t)+r*sin(-t)*d
y=i*sin(t)+r*cos(-t)*d
s=2+5*cos(v)*d
circfill(64+x,64+y,s,7+j/30)
end
end
flip()
goto _
... with 65%-90% of votes, as polling stations reported! But Lukashenko still announced that it was he who won. People took to the streets but were met with brutal violence by police. Several were killed, internet is disabled, but protests continue. 2/2
Almost one million USD collected to support arrested and injured during the Belarus protests in 2020.
You can also help: https://facebook.com/donate/1123543824684874/1128543830851540/…
Just wanted to express solidarity with the people of Belarus. In the recent election, Lukashenko (who was the president for 26 years) arrested most other candidates, leaving only a teacher Svetlana Tikhanovskaya to oppose him. Surprisingly, Tikhanovskaya won the election... 1/2