Loading...
5
Game
Greg RPG
1 year ago

Using binary space partitioning to make my dungeon layout!


I needed to make a dungeon area for my game and didn't feel like making it by hand - enter procedural generation!

Binary space partitioning, if you read its Wikipedia page, is something super complicated and nerdy in actuality. What I've implemented should techically count as BSP, though!

My algorithm is basically:

  • have an array of rectangles (size one to begin with)

  • in that array, split each rectangle in 2 and add to a new array

  • run the operation again on that new array

And then I can build room objects and walls after I have all that data set up.

I keep all rooms above a certain size threshold so that they don't get too small.

My implementation seems pretty fast too! The decoration phase is the slowest part that I have any control over. Sadly, the built-in Godot tilemap functions are really slow.

Greg greg greg Greg Greg



0 comments

Loading...

Next up

Summer

Devlog 24: 10.06....16.06.2024

Greg RPG version 0.9.0

Our pals at @serenityforge have released Doki Doki Literature Club on iOS and Android!

Support them by picking up DDLC avatar frames, backgrounds, and sticker packs in the Game Jolt Shop or on their profile!

Devlog 33: 12...18.08.2024

Happy #WIPWednesday! Are you working on a game? Making some art? Practicing a song? Something else? Tell us in the comments!

Cloudheim by @noodlecatgames has entered Early Access on Steam!

The game is a 1-4 player action adventure that blends crafting with chaotic physics-based combat.

Follow Cloudheim on Steam and try the free demo: https://bit.ly/CloudheimSteam

art comission.

"Thanks guys for endless hours of fun." 👍

(My first fan art. Read the article, please.)

#sonic #mario #photoshop

Today I was setting up the location of the first boss. His name is "Father" and he is the first of the Patagonians. His task is to guard the road to the House.🛡🗡 Bookmark pre-launch page🔖🔖🔖

https://www.kickstarter.com/projects/rdvindiegame/the-patagonian…