
Building multiplayer stuff | netfox | noray | vest | plenticons | Eventually working on @synncorpdev https://xitter.cf/t.co/WQ1DftkaX6
Joined November 2020
- Tweets1.2K
- Following1.4K
- Followers431
- Likes34.6K
been messing with ragdoll physics and I have never related to a bunch of triangles so hard
#gamedev #godotengine
Replying to @belickim @RyderGamingHun
I did try with cardinal angles only, that removed too much of the variability to still look good. Did not try with random per-cell offset! It does help a bit:
Replying to @AlbertoKlocker
lmao
the guy raises his hand as if initiating a high five. instead, he lights you on fire.
While there's more to do, we now have a solution that is conceptually simple, runs under a second, avoids boring, long corridors, supports verticality, and produces interesting layouts with multiple choices.
The next step is content and variety so you don't get lost in the grey
With this setup, it's easy to create room variations, have treasure rooms, minibosses, puzzles, optional challenges, etc. Un/fortunately, the maps are only as interesting as the rooms they are made of.
Let's talk about those rooms. The generator works with a Mapset, which contains a bunch of room templates. These have all the data on how and where they should be placed, where to put enemies, and where could players spawn. They bring their own navmesh, so we don't need to bake.
Same budget system for items. With the difference that only a few rooms get any budget. The budgets are sampled randomly from a curve, that favors mid results, with the occasional jackpot.
Still need to place enemies to fight. Each room gets a difficulty budget, which increases based on room depth - the further along you're on the map, the harder it gets. Enemies get picked randomly based on rarity, as long as they fit the budget.
This was the time for riding down the bell curve. How about we just place rooms randomly, and line up their exits? Much, much simpler, way faster, always succeeds, no boring tunnels. Line up room entrances, and make sure rooms don't overlap.
We have achieved legos.
This is where things were getting *really* brittle. Since corridors can't overlap, the algo would often pathfind itself into an impossible situation. Ignore corridor overlaps, you'd get these long, winding corridors. Pulling rooms closer would mean the algo won't converge.
















