Procedural dungeon generation systems. Roblox studio Tutorial.

Ойындар

learn to create thrilling dungeons step-by-step. Instead of making dungeon manually for you game, develop a algorithm that conjures up unique and thrilling dungeons every time.
Model link :- drive.google.com/file/d/1uaZZ...
0:00 Intro
0:27 Creating assets
3:35 Explanation
5:26 Scripting
9:51 Outro

Пікірлер: 288

  • @TextChange
    @TextChange5 ай бұрын

    Model link :- drive.google.com/file/d/1uaZZTuW1vrR6kcmrKNPkPLxEUbhVvkUP/view?usp=drive_link

  • @Nemazares

    @Nemazares

    3 ай бұрын

    Can you update it so it infinitely load, like Chunks in Minecraft

  • @indominusvoids8798

    @indominusvoids8798

    3 ай бұрын

    @@Nemazares Just go down to the last line and replace 500 with math.huge

  • @Nemazares

    @Nemazares

    3 ай бұрын

    @@indominusvoids8798 math.huge ? Alr ig thx

  • @TextChange

    @TextChange

    2 ай бұрын

    @@indominusvoids8798 No it's a bad idea because it will cause the game to crash.

  • @the_jmaster1

    @the_jmaster1

    Ай бұрын

    e

  • @windy_zeph
    @windy_zeph6 ай бұрын

    We want more videos like this, keep up the amazing work. Hats off this guy!

  • @OLDACCOUNT_notfireman
    @OLDACCOUNT_notfireman5 ай бұрын

    thank you for this godsend of a tutorial and algorithm. its still procedural and yet im still able to build preset rooms, easy to adapt, and your tutorial is informative. definitely using this for my own roguelite, and ill recommend this to others if needed. you earned yourself a subscriber

  • @TextChange

    @TextChange

    5 ай бұрын

    Thank you

  • @OLDACCOUNT_notfireman

    @OLDACCOUNT_notfireman

    5 ай бұрын

    np

  • @cheemsdrip7478

    @cheemsdrip7478

    2 ай бұрын

    i love rougelikes. is the game out yet?

  • @groovyball
    @groovyball6 ай бұрын

    i was stuck at figuring how to do pikmin2-like dungeon generation and this helps a ton thanks!!

  • @kif-zallrhat1870
    @kif-zallrhat18705 ай бұрын

    Working on something similar, except I plan to have the rooms connect each other instead of using hallways. Did not expect to find a roblox tutorial, great job! :D

  • @The_Spirit4595

    @The_Spirit4595

    2 ай бұрын

    im trying to make just rooms aswell but nothing is really happening

  • @Tybeef
    @Tybeef5 ай бұрын

    Underrated video, TTS with well typed explanation was great

  • @BRACERFENIX
    @BRACERFENIX24 күн бұрын

    Thank you. This was fun to follow along and procedural generation has so many possibilities.

  • @TextChange

    @TextChange

    23 күн бұрын

    Thank you

  • @tuhin4502
    @tuhin45027 ай бұрын

    Thank you man ! Great tutorial

  • @ransomha
    @ransomha3 ай бұрын

    It was beatiful watching that map generate in such a clean way

  • @itsemin2131
    @itsemin21315 ай бұрын

    Very good tutorial, Subbed!

  • @Wendy-ib4sp
    @Wendy-ib4sp5 ай бұрын

    HOLY COW YOU ARE SO UNDERATED! 100% Subbing.

  • @arobloxmirror5570
    @arobloxmirror55705 ай бұрын

    this is perfect tutorial for people who starting off scripting but have only learnt the basics, hope you make more videos

  • @BasilLikesScripting
    @BasilLikesScripting6 ай бұрын

    thanks for the tutorial! gonna make some little guys and enemies to go through a mini dungeon and have them make their way to the end randomly

  • @TextChange

    @TextChange

    6 ай бұрын

    Glad I could help!

  • @Microbex
    @Microbex5 ай бұрын

    Man, you are the best! Subbed. Happy New Year Mate. 🎉☺️

  • @TextChange

    @TextChange

    5 ай бұрын

    Happy new year!

  • @Rexexcraft
    @Rexexcraft5 ай бұрын

    only 21 subscribers? you deserve way more

  • @gokkertje1682
    @gokkertje16824 ай бұрын

    this guy is a chad, i love how he explains it keep it up!

  • @TextChange

    @TextChange

    3 ай бұрын

    Thank you

  • @Nemazares

    @Nemazares

    3 ай бұрын

    True

  • @Trazor_
    @Trazor_6 ай бұрын

    Amazing tutorial!

  • @Zik_isi
    @Zik_isi4 ай бұрын

    Although it relies on some krutches, this is an interesting concept of generating!

  • @multistronomy
    @multistronomy4 ай бұрын

    oh my god dude you won't believe how long i've been looking for a tutorial like this. similar to how lethal company generates it's rooms. thank you so much dude lmao

  • @TextChange
    @TextChange7 ай бұрын

    Script :- local ReplicatedStorage = game:GetService("ReplicatedStorage") local AssetFolder = ReplicatedStorage:WaitForChild("Asset") local function Generate(StartingPosition,Maxrooms) local CurrentRoomGenerated = 0 local function Branchout(Model:Model) wait() if Model:GetAttribute("Room") == false then for i,v in pairs(Model:GetChildren()) do if v:IsA("BasePart") and v.Name == "Waypoints" then local NewPosition = v.Position + v.CFrame.LookVector * 4.25 local CheckBox = Instance.new("Part", game.Workspace.Debris) CheckBox.Anchored = true CheckBox.Size = Vector3.new(7.5,4,7.5) CheckBox.Position = NewPosition local partsInCheckBox = game.Workspace:GetPartsInPart(CheckBox) CheckBox:Destroy() if #partsInCheckBox > 0 or CurrentRoomGenerated >= Maxrooms then v.Transparency = 0 v.Material = Enum.Material.WoodPlanks v.Color = Color3.new(0.588235, 0.403922, 0.4) else local NewTilePiece = AssetFolder:GetChildren()[math.random(1, #AssetFolder:GetChildren())]:Clone() NewTilePiece.Parent = game.Workspace.Dungeon local cf = CFrame.new(Vector3.new(NewPosition.X, StartingPosition.Y, NewPosition.Z), v.Position) NewTilePiece:SetPrimaryPartCFrame(cf) cf = CFrame.new(NewTilePiece.PrimaryPart.Position) * CFrame.Angles(math.rad(0), math.rad(NewTilePiece.PrimaryPart.Orientation.Y), math.rad(NewTilePiece.PrimaryPart.Orientation.Z)) NewTilePiece:SetPrimaryPartCFrame(cf) if NewTilePiece:GetAttribute("Room") == true then CurrentRoomGenerated += 1 end coroutine.wrap(Branchout)(NewTilePiece) v:Destroy() end end end else local possibleHallways = { AssetFolder:WaitForChild("Hallway1"); AssetFolder:WaitForChild("Hallway2"); AssetFolder:WaitForChild("Hallway3"); AssetFolder:WaitForChild("Hallway4"); AssetFolder:WaitForChild("Hallway5"); } for i,v in pairs(Model:GetChildren()) do if v:IsA("BasePart") and v.Name == "Waypoints" then local NewPosition = v.Position + v.CFrame.LookVector * 4.25 local CheckBox = Instance.new("Part", game.Workspace.Debris) CheckBox.Anchored = true CheckBox.Size = Vector3.new(7.5,4,7.5) CheckBox.Position = NewPosition local partsInCheckBox = game.Workspace:GetPartsInPart(CheckBox) CheckBox:Destroy() if #partsInCheckBox > 0 or CurrentRoomGenerated >= Maxrooms then v.Transparency = 0 v.Material = Enum.Material.WoodPlanks v.Color = Color3.new(0.588235, 0.403922, 0.4) else local NewTilePiece = possibleHallways[math.random(1,#possibleHallways)]:Clone() NewTilePiece.Parent = game.Workspace.Dungeon local cf = CFrame.new(Vector3.new(NewPosition.X, StartingPosition.Y, NewPosition.Z), v.Position) NewTilePiece:SetPrimaryPartCFrame(cf) cf = CFrame.new(NewTilePiece.PrimaryPart.Position) * CFrame.Angles(math.rad(0), math.rad(NewTilePiece.PrimaryPart.Orientation.Y), math.rad(NewTilePiece.PrimaryPart.Orientation.Z)) NewTilePiece:SetPrimaryPartCFrame(cf) if NewTilePiece:GetAttribute("Room") == true then CurrentRoomGenerated += 1 end coroutine.wrap(Branchout)(NewTilePiece) v:Destroy() end end end end end local StartingRoom = ReplicatedStorage:WaitForChild("StartingRoom"):Clone() StartingRoom.Parent = game.Workspace.Dungeon StartingRoom:SetPrimaryPartCFrame(CFrame.new(StartingPosition)) CurrentRoomGenerated +=1 Branchout(StartingRoom) end Generate(Vector3.new(0,10,0),500)

  • @____________________________x

    @____________________________x

    5 ай бұрын

    you couldve published this and made the game uncopylock

  • @tuhin4502

    @tuhin4502

    5 ай бұрын

    you should at least give some effort and follow the tutorial. It would only take 30 minutes to make anyway.

  • @doinic09

    @doinic09

    5 ай бұрын

    @@____________________________x Or you could've just followed the tutorial and taken only 30 minutes. Hate to say it but actually good games come from effort.

  • @_Sickk

    @_Sickk

    5 ай бұрын

    Why did you use "SetPrimaryCFrame" Instead of "SetPivot"?

  • @MGGSpicey

    @MGGSpicey

    5 ай бұрын

    @@____________________________xyou could've just copied a 10 minute tutorial WITH the script published in the comments

  • @oofytoty
    @oofytoty5 ай бұрын

    Roblox tutorials are underrated in general but this tutorial is VERY underrated.

  • @samuelwhite7030
    @samuelwhite70302 ай бұрын

    its a great heavily customizable inexpensive system really cool man

  • @TextChange

    @TextChange

    2 ай бұрын

    Thank you. Consider subscribing

  • @Managlyph
    @Managlyph4 ай бұрын

    Great tutorial!

  • @SlateAlloy
    @SlateAlloy5 ай бұрын

    Hey y'all, if you're having trouble with generating rooms and it tends to bug out having weird rotations, make sure to make all the primary parts of every room ( except the starting room ) face the direction of the empty waypoint direction ( starting room just faces the direction of the waypoint )

  • @SlateAlloy

    @SlateAlloy

    5 ай бұрын

    @c00lbaconn what controls the empty spaces is the courotine.wrap(branchout) function, if all of the preset rooms are in the right order it should work as intended because it still generates them all the exact same way, aligning to the orientation of the openings in the hallways

  • @Anzeljaeg
    @AnzeljaegАй бұрын

    This is impressive indeed

  • @tunamursofficial
    @tunamursofficial3 ай бұрын

    thx bro! i love u!!)

  • @DEZERKER63
    @DEZERKER634 ай бұрын

    i love this tutorial, please keep making more of these, using and explianing the terms was also very nice, also how do you add Z levels to a system like this?

  • @TextChange

    @TextChange

    4 ай бұрын

    Maybe make diagonal hallway that will work as a staircase. That should do it

  • @Unknown-ym3ds
    @Unknown-ym3ds4 ай бұрын

    Hey I have a request for you, can you explain wave function collapse algorithm to make random generation of a map? You do a lot of effort on your videos, thanks for making these videos.

  • @TextChange

    @TextChange

    4 ай бұрын

    I would try my best. Thank you

  • @Unknown-ym3ds

    @Unknown-ym3ds

    4 ай бұрын

    ​@@TextChange Thank you for accepting my request, it will do a lot of help, I can't thank you enough, you made my day. It would be appreciated if you make the terrain like this kzread.info/dash/bejne/goir07efmqnZkcY.htmlsi=gpckP_Rwxp5XTUJ- . If you don't know about it or have no idea then you can get an idea with this kzread.info/dash/bejne/f62BxMSmh7mpdNo.htmlsi=1aoECPQRC0nua9E0 . Please help me if you could, my clueless brain can't figure out how to start.

  • @Unknown-ym3ds

    @Unknown-ym3ds

    4 ай бұрын

    @@TextChange Thank you for accepting my request, it will do a lot of help, I can't thank you enough, you made my day. It would be appreciated if you make the terrain like this kzread.info/dash/bejne/goir07efmqnZkcY.htmlsi=gpckP_Rwxp5XTUJ- . If you don't know about it or have no idea then you can get an idea with this kzread.info/dash/bejne/f62BxMSmh7mpdNo.htmlsi=1aoECPQRC0nua9E0 . Please help me if you could, my clueless brain can't figure out how to start.

  • @LeapInno
    @LeapInno6 ай бұрын

    Super super nice strategy.

  • @thecheeseclanwastaken
    @thecheeseclanwastaken5 ай бұрын

    Thanks Alot! it works.

  • @The-Random-Dev
    @The-Random-Dev20 күн бұрын

    Thank u so much

  • @swordlegend3256
    @swordlegend32564 ай бұрын

    3:07 you can do fn + left click or alt+ left click to select a single part from a model

  • @TextChange

    @TextChange

    4 ай бұрын

    Good to know. Thank you

  • @swordlegend3256

    @swordlegend3256

    4 ай бұрын

    also you coud use random:NextInteger instead of math.random if you want pesudorandom generation@@TextChange

  • @swordlegend3256

    @swordlegend3256

    4 ай бұрын

    btw you didnt have to make 11 presets you coudve gone with 2. with the same result@@TextChange

  • @fishthingidk
    @fishthingidk5 ай бұрын

    Great tutorial, and I've been looking for this for so long! I would just recommend a different voice...

  • @suupe4453

    @suupe4453

    4 ай бұрын

    i like your pfp

  • @fishthingidk

    @fishthingidk

    4 ай бұрын

    @@suupe4453 thanks! i love yours, it’s very original

  • @hufgerbad6021
    @hufgerbad6021Ай бұрын

    I wish there was a video like this but for just normal unity

  • @YorktownClass
    @YorktownClass2 ай бұрын

    Once i heard AI voice I was gonna switch to another video, but you explained this perfectly and in a clean way, I got so fed up of those AI content creators that spread pure bullshit. But you're far from that, you earned a subscriber.

  • @TextChange

    @TextChange

    2 ай бұрын

    Highly appreciate your support. 🖤

  • @The_Idea_Guy
    @The_Idea_Guy2 ай бұрын

    Brilliant

  • @yumaa4612
    @yumaa46125 ай бұрын

    Yo great video man this really helped me out, how would i go about adding varying room sizes for example a big hall room (For players to fight in) and multiple starting rooms that connect to each other with in the dungeon?

  • @TextChange

    @TextChange

    5 ай бұрын

    Heres some idea! Your tile size and checkbox size should be same as the biggest room. Now make smaller room and in the doorway try adding some parts so that the doorways match when rooms and hallways are placed side by side.

  • @yumaa4612

    @yumaa4612

    5 ай бұрын

    @@TextChange thank you for the help ill try implement that now!

  • @Eldamian0
    @Eldamian0Ай бұрын

    Could you make a V2 of this tutorial that explains how to make a procedurally generated dungeon or city (whatever) with rooms of varying scales and roads of different sizes? Like you could have a room of 12x18 or 6x8 and roads of 8x3 or 15x3

  • @the5thber
    @the5thberАй бұрын

    Nice Tutorial! I was just wondering if you know how to make a limit on how many rooms are generated. Please & thank you.

  • @TextChange

    @TextChange

    Ай бұрын

    There is already a limit to how many rooms will be generated. At the very bottom of the script where the generate function is being called. The 2nd parameters is the number of rooms you want to be generated. Liking and subscribing is highly appreciated

  • @collossuss96
    @collossuss96Ай бұрын

    Hey do you have a discord or something? This tutorial is so cool but it's hard to make my own world generation based off this because I'm not sure how to limit it's reach or anything... would love to speak to you about it

  • @TextChange

    @TextChange

    Ай бұрын

    My channel isn’t so big, so i never considered about discord or anything. Maybe in the future.

  • @tearer.
    @tearer.5 ай бұрын

    How long did it take you to learn from scratch to this level of advanced lua scripting? It’s honestly amazing, I’m currently learning lua and I started a week ago, for now I only know the keywords, I have no idea how I can use this stuff I’m learning 💀

  • @TextChange

    @TextChange

    5 ай бұрын

    Im actually script for some years, keep it up and you will be a advance scripter in no time

  • @ThatBeenuxGuy
    @ThatBeenuxGuy21 күн бұрын

    Hey what should I do if there are two empty spaces with no waypoints? Also sometimes the rooms aren't on the same y level

  • @Dingleberry540
    @Dingleberry5405 ай бұрын

    backrooms bout to be crazy

  • @pixerking
    @pixerking5 ай бұрын

    Cool, but how to make spots in rooms with random objects spawn there like paintings on walls and otheres

  • @Ninjalordsalt
    @Ninjalordsalt2 күн бұрын

    for some reason when mine runs it generates the start room and a part that is put in the debris folder and i think its supposed to be the checkpart but it appears under my starting room and like close to the primary part's x & z coords. im getting no errors and idk what i did wrong. ive set all my primary parts and waypoints to the correct direction and made sure they have the right names. Ive called all the functions and done basically everything said in any other reply under this video. is there something i missed with the checkbox part of the video or is it something else?

  • @TextChange

    @TextChange

    Күн бұрын

    Maybe you messed up the coordinates. It is really hard to say what is wrong with your code. Maybe you should try the model i have provided in the description.

  • @joejoyce6510
    @joejoyce65105 ай бұрын

    Can you tell me the plug in or setting used to show the stud / size when scaling a part?

  • @krimdoff5956
    @krimdoff59564 ай бұрын

    Hello, I noticed a slight difference between the video and the Place that you left under the video. In this place, your PrimaryPart is invisible and does not exist as a child object in the room. Do I have to do this in my Place? I just don’t know how, because you didn’t specify this in the video

  • @TextChange

    @TextChange

    4 ай бұрын

    Is the generation broken in the model that i provided? Anyway if there aren’t any PrimaryPart in any of the room and hallway the kindly make one as shown in the video. Being invisible or not does not matter

  • @krimdoff5956

    @krimdoff5956

    4 ай бұрын

    @@TextChange Actually no, everything works as expected, I just noticed this little thing, I thought it affects something

  • @enzopool2007
    @enzopool20072 ай бұрын

    I think I got a jumpscare from the captions

  • @TextChange

    @TextChange

    2 ай бұрын

    How?

  • @ziplocksadventures2321
    @ziplocksadventures23215 ай бұрын

    its a good tutorial but i think its a little to fast because sometimes i have to slow down the video to 0.25 a second for some parts

  • @TextChange

    @TextChange

    5 ай бұрын

    Im really sorry about that. I had to speed up the video because it was getting too long

  • @reecat4535
    @reecat45352 ай бұрын

    WE'RE CREATING THE BINDING OF ISAAC IN ROBLOX WITH THIS ONE

  • @TextChange

    @TextChange

    2 ай бұрын

    Good luck

  • @fury5414
    @fury54143 ай бұрын

    is there a way to make it choose through different types of dungeons? like different colors of walls and floors, and maybe like make the rooms and hallways be restricted to a big box like zone?

  • @TextChange

    @TextChange

    3 ай бұрын

    Of course, after all possibilities are endless! it may not completely satisfy your needs, here are some ideas to consider. To confine dungeon generation within a specific area, you can implement a check during room spawning to ensure the chosen coordinates fall within the designated zone. For instance, let's designate an area within 200 studs from the origin (0,0) in each direction. When spawning a room, verify if the selected coordinate satisfies the conditions: (Vector3.X = -200) and (Vector3.Z = -200). If these conditions are met, proceed with generating the room; otherwise, transform the waypoint segment into a wall. (Assuming you're referring to themed dungeons like jungle or desert) Now, for different types of dungeons, organize themed rooms and hallways into separate asset folders. For instance, create a folder named 'Jungle' containing jungle-themed assets exclusively. Then, introduce a string value (let's name it "themevalue") to determine the appropriate asset folder dynamically. Here's an example: local assetFolder = ReplicatedStorage:FindFirstChild(themevalue.Value) I hope this guidance proves helpful! If you found it useful, consider showing support by liking the video and subscribing to my channel-it truly motivates me.

  • @ThatBeenuxGuy
    @ThatBeenuxGuy25 күн бұрын

    Hallways are overlapping with the rooms and becoming quite messy. There are also times they spawn under the map and rotated. do you have an idea on what the problem is?

  • @TextChange

    @TextChange

    25 күн бұрын

    What did you do? 😂 the overlapping is happening because you scaled up asset. After scaling you need to follow this part 6:35. And i don't know why they are spawning under the map and rotated

  • @ThatBeenuxGuy

    @ThatBeenuxGuy

    24 күн бұрын

    ​​@@TextChangets no longer overlapping, I put the primary part to the floor instead of the actual middle of the room so my bad. I'll try to experiment around in the angles to fix it. Thanks for the tutorial

  • @MartianLeo_T
    @MartianLeo_T3 ай бұрын

    im just trying to use this for a never ending road with occasoinal burger kings lol

  • @TextChange

    @TextChange

    3 ай бұрын

    😆 good luck with that

  • @Mr.Konstig
    @Mr.Konstig5 ай бұрын

    This video was awesome but I'd like to use it for more future games. can you please turn this into a free model? That would me very much appreciated!

  • @TextChange

    @TextChange

    5 ай бұрын

    Check description or new pin comment

  • @Illumina1414
    @Illumina14143 ай бұрын

    chatgpt description is crazy😭😭😭

  • @Ankibank2000
    @Ankibank20005 күн бұрын

    is there a work around for the room amount becoming too low? I've once gotten rooms in a 2x2 because they ended up connecting that way even though the max amount of rooms was around 1000 and I really would like for this not to happen.

  • @TextChange

    @TextChange

    4 күн бұрын

    Try the model i have provided in the description. I had solved that problem after the video was released. And i didnt bother mentioning. Sorry about that

  • @Waffle0000
    @Waffle00002 ай бұрын

    So is this how poeple make there doors game random?

  • @user-tu8mn6bg9j
    @user-tu8mn6bg9j2 ай бұрын

    do you know of a way to create unique rooms? (like have only one boss room in the entire dungeon)

  • @link9235
    @link92355 күн бұрын

    How would I make it so I can have different sizes of rooms? Like what if I have a REALLY long hallway, but also a really small hallway? I tried doing the size thing but that doesn't seem to work at all.

  • @TextChange

    @TextChange

    5 күн бұрын

    You can do it if you can somehow make it possible so that Every rooms and hallways can be placed adjacent to each other. I really can't explain it to you without a separate video.

  • @OLDACCOUNT_notfireman
    @OLDACCOUNT_notfireman5 ай бұрын

    what if in a scenario one of the hallways have a waypoint that directly points towards the starting room, and as it already reached a max rooms limit it would try to generate a shop room INSIDE the starting room. is there a way to prevent this?

  • @TextChange

    @TextChange

    5 ай бұрын

    What? I don’t know what are you talking about. But if you are concerned about room overlapping then don't worry. This system will not overlap rooms.

  • @vipont7036
    @vipont70364 ай бұрын

    A question, the PrimaryPart have to be exactly in the middle of the room ?

  • @TextChange

    @TextChange

    4 ай бұрын

    Yeah.

  • @Flook1
    @Flook12 ай бұрын

    How do I make the generation infinite and allow the situations when there are 2 rooms connected with each other?

  • @TextChange

    @TextChange

    2 ай бұрын

    Make the room number value equal to math.huge. But this will cause roblox to crash. And if you want to have 2 room adjacent to each other, then just copy the hallway generation method

  • @Puppeette
    @Puppeette5 ай бұрын

    0:44 hallways and rooms look a little small... I'm assuming from that time mark I commented, that the space is 4 blocks wide?

  • @Puppeette

    @Puppeette

    5 ай бұрын

    Well 1 stud is roughly 1 foot lol

  • @TextChange

    @TextChange

    5 ай бұрын

    Yes I already said it in the video, it is even smaller then a player

  • @itzskyylark
    @itzskyylark5 ай бұрын

    What if I use different size rooms? Like instead of only 8,4,8.... I also have 16,8,16 stud rooms? Have been trying to see how to do this but I keep having rooms overlap

  • @TextChange

    @TextChange

    5 ай бұрын

    Check 6:31 here i showed how to calculate the distance between room. And make sure your checkbox size is same or slightly smaller then the room size.

  • @thecheeseclanwastaken
    @thecheeseclanwastaken5 ай бұрын

    How would i be able to script it so it would connect to a part already in the map like a checkpoint to the next area?

  • @TextChange

    @TextChange

    2 ай бұрын

    Sorry man. This dungeon is designed to be random. I don't know how to do that

  • @SirJo2
    @SirJo25 ай бұрын

    It was a good tutorial but the scripting was going to fast personally and i got lost mid way... I managed to get it to work and it works beautifully

  • @TextChange

    @TextChange

    5 ай бұрын

    I'm really sorry about that. the video was getting too long for a tutorial.

  • @fakeorfeus
    @fakeorfeus5 ай бұрын

    good tutorial! but i have a problem, the starting room is generating but not the rest of the room's how can i fix this?

  • @fakeorfeus

    @fakeorfeus

    5 ай бұрын

    i forgot to say that there's no errors

  • @TextChange

    @TextChange

    5 ай бұрын

    Make sure you rotated the waypoint and primarypart to face the correct direction. Also check if you called the branchout function

  • @strawberrypie7203
    @strawberrypie72034 ай бұрын

    what is the name of the TTS that you use?

  • @The_Spirit4595
    @The_Spirit45952 ай бұрын

    Could someone help me with making certain waypoints connect the map into a loop

  • @imdumb6398
    @imdumb63984 ай бұрын

    How do I scale the rooms and the hallway up? I need it to fit a person inside it. Pls respond

  • @TextChange

    @TextChange

    4 ай бұрын

    Selected every room and hallways. Then use the roblox scale tool to just make everything bigger. After that calculate the distance as shown here 7:00

  • @Shotnoms
    @Shotnoms5 ай бұрын

    Yo im an upcoming game dev i was wondering if you would like to colab on a project im mainly a terrain artist and modeler very little scripting knowledge

  • @How2MagicMan101
    @How2MagicMan1014 ай бұрын

    I’m very confused on how to scale up these rooms and hallways, because every time I do, it breaks the generation.

  • @TextChange

    @TextChange

    4 ай бұрын

    When you scale up make sure to you calculated the distance of the waypoint and primarypart

  • @How2MagicMan101

    @How2MagicMan101

    4 ай бұрын

    @@TextChange so sorry for asking but is it possible to add custom textures/decals to the walls and floors? The script breaks easily whenever I try to

  • @sonsxdjan1811
    @sonsxdjan18115 ай бұрын

    Hey bro I am planning on using this code for a future game, however when I run the game only the StartingRoom manages to generate and I get the following error output: "Model:SetPrimaryPartCFrame() failed because no PrimaryPart has been set, or the PrimaryPart no longer exists. Please set Model.PrimaryPart before using this." I don't know what is wrong, but obviously the PrimaryPart is in the rooms and hallways model as well as in the starting rooms, any idea?

  • @TextChange

    @TextChange

    5 ай бұрын

    models have a property called "primarypart". Set this property to the part named "primarypart" 🙂

  • @fionabuscombe2371
    @fionabuscombe23715 ай бұрын

    les goooo

  • @imdumb6398
    @imdumb63984 ай бұрын

    Also, Can u make a model that has the END room?

  • @TextChange

    @TextChange

    4 ай бұрын

    Just copy the starting room, remove the waypoint part and place it inside the asset folder.

  • @Mr.Konstig
    @Mr.Konstig5 ай бұрын

    I got the script to work now. But for some reason, nearly all waypoints are turned into dead ends. Even if it isn't a dead end. Is anyone else experiencing the same issue?

  • @TextChange

    @TextChange

    5 ай бұрын

    If you still have that problem then you can get the model now. Link is in the description and in the pin comment

  • @thatgmoddude3916
    @thatgmoddude39164 ай бұрын

    i keep getting starting room errors. my primarypart is in the middle of the room. I tried taking yours and upscaling it and yet it still does not work. Any fix?

  • @TextChange

    @TextChange

    4 ай бұрын

    Maybe starting room Isn't in the replicated Storage. Without the error massage i can't understand what might be the problem

  • @thatgmoddude3916

    @thatgmoddude3916

    4 ай бұрын

    @@TextChange sorry i forgot to give it you the error message is just running(x4) retrying and the door will just be blocked

  • @randomperson21983
    @randomperson219835 ай бұрын

    Odd. I followed all of the instructions except I named PrimaryPart as prim (I changed the code accordingly) and using PivotTo to replace the deprecated function. Is the code outdated/not working or is it really important to name the PrimaryPaer, like Handle in tool

  • @TextChange

    @TextChange

    5 ай бұрын

    You must have made mistake, in the output window see what is wrong. And no you dont need to name exactly as mine

  • @doinic09

    @doinic09

    5 ай бұрын

    Models have a property named PrimaryPart, set that to the part named prim

  • @randomperson21983

    @randomperson21983

    5 ай бұрын

    @@doinic09 I'll see if that works

  • @Fickil1i
    @Fickil1i2 ай бұрын

    how do i fix where the rooms do not generate at all (except starting room)

  • @TextChange

    @TextChange

    Ай бұрын

    Well there are many ways this can be done. But the simplest way is to place something(like a part) Where you don't want to generate the rooms. Because when the algorithm check for occupancy it will detect the part and will not generate there anymore. But this can be really annoying because its has to done manually.

  • @gaminwbd
    @gaminwbd5 ай бұрын

    I got the starting room to spawn but nothing else spawned around it. I saw that there were two scripts, one in workspace called, "Script" and one in Replicated First called "Nothing is here" which do I put the code in? Is anything supposed to be unanchored?

  • @TextChange

    @TextChange

    5 ай бұрын

    You might have forgot to call the branchout function. Replicated storage's script is the previous script that i tested and its disabled.

  • @gaminwbd

    @gaminwbd

    5 ай бұрын

    @@TextChange how would i call out that function? What code at what line

  • @TextChange

    @TextChange

    5 ай бұрын

    ​@@gaminwbdcheck description or new pin comment😊

  • @user-js3mg1dc6s
    @user-js3mg1dc6s4 ай бұрын

    I did everything like u, but used my own models but it doesn't work, only the starting room spawns and that's all. I've been checking a whole day of what's going on but everything seems normal. Do u think there could be anyway that u help me out in the studio finding the error and fixing it ?

  • @TextChange

    @TextChange

    4 ай бұрын

    Make sure you have rotated the waypoint part and the primarypart to face the right direction and also make sure to call the branchout function, check output window to find any error.

  • @user-js3mg1dc6s

    @user-js3mg1dc6s

    4 ай бұрын

    @@TextChange that's all I did. And the output doesn't say nothing, not even "running" or "error. Retrying" like it doesn't detect the script. But still, the startingroom pops up so the script partially works

  • @user-js3mg1dc6s

    @user-js3mg1dc6s

    4 ай бұрын

    ​@@TextChangeso, is there any way u coule take a quick look this weekend ?

  • @user-js3mg1dc6s

    @user-js3mg1dc6s

    4 ай бұрын

    ​@@TextChange so, do u think u could take just a bit of ur time to take a quick look ?

  • @user-js3mg1dc6s

    @user-js3mg1dc6s

    4 ай бұрын

    ​@@TextChangeso, is there a way u could take a quick look at it ? I'd be so thankful

  • @pianoman5259
    @pianoman5259Ай бұрын

    man i even copied the exact code from the comments after typing it all out myself and it still didn't work for me, only generated the starting room and then gave nothing in the output console

  • @TextChange

    @TextChange

    Ай бұрын

    Try the model provided in the description and in the pin comment.

  • @pianoman5259

    @pianoman5259

    Ай бұрын

    @@TextChange alright I will, hopefully it works because I love the idea

  • @therealdafuqboom.
    @therealdafuqboom.5 ай бұрын

    Can i make the room bigger and Can i make somme stuff in ? Line loot or spawner

  • @TextChange

    @TextChange

    5 ай бұрын

    Of course

  • @Isu-Ware
    @Isu-Ware5 ай бұрын

    Can you upload this as a model?

  • @GWDGV
    @GWDGV4 ай бұрын

    hey can you tell my why when i create my own rooms with the exact same scripts and everything it says "attempted to index nil with Position"

  • @GWDGV

    @GWDGV

    4 ай бұрын

    when i try to find the distance

  • @TextChange

    @TextChange

    4 ай бұрын

    maybe you forgot to set the room's "PrimartPart" property. Make your you have the primarypart and waypoint part where they need to be.

  • @GWDGV

    @GWDGV

    4 ай бұрын

    @@TextChangeI just resized, remodeled, and retextured your builds and adjusted the distance manually between them so W

  • @Lokngk9
    @Lokngk9Ай бұрын

    PLEASE TEACH US HOW TO MAKE LARGE ROOM

  • @TextChange

    @TextChange

    Ай бұрын

    Well select all the rooms and hallways scale it to the size you want. Then follow this 6:30

  • @guyonyoutubee
    @guyonyoutubee5 ай бұрын

    "you own version"

  • @TextChange

    @TextChange

    5 ай бұрын

    'Your own version' 😅

  • @KarlSpark
    @KarlSparkАй бұрын

    How to make it bigger?

  • @niyu11val
    @niyu11val2 ай бұрын

    How do i make it so that there is an end goal, and how would i be able to just put one hallway between two rooms?

  • @TextChange

    @TextChange

    2 ай бұрын

    As the generation is total random, it is really tough to put a end (Like a boss room or something). But you can still try this method, after the dungeon generation is complete, choose a random room and replace it with your boss room (according to the number of doorways. Example if a room with a 3 doorways was chosen then replace it with 3 doorway variant of the boss room. Meaning you have to have all the variants of the boss room.) Now for your second question. You just have to replace the branchout functions loop where if statement's room == false with if statement's room == true. And edit the possibleHallways table to contain only rooms and not hallways. I haven’t tested any of this but it should be easy to do as long as you have strong scripting knowledge. Consider liking and subscribing 😅

  • @niyu11val

    @niyu11val

    2 ай бұрын

    Thank you, I appreciate the feedback, you have earned a subscriber!

  • @thegamerthatdoestsuff
    @thegamerthatdoestsuff5 ай бұрын

    Awesome tut man! however, after following everything it only generates the starting room, and thats it

  • @TextChange

    @TextChange

    5 ай бұрын

    Check again. You might have forgot to call the branchout function.

  • @thegamerthatdoestsuff

    @thegamerthatdoestsuff

    5 ай бұрын

    @@TextChange ill carefully check again, even copied in your code from the comment down below. same result.

  • @thegamerthatdoestsuff

    @thegamerthatdoestsuff

    5 ай бұрын

    ill trace my steps, perhaps my room names or something are off

  • @thegamerthatdoestsuff

    @thegamerthatdoestsuff

    5 ай бұрын

    @@TextChange Found it, forgot to set primary part per room and hallway...oops

  • @Isu-Ware

    @Isu-Ware

    5 ай бұрын

    yo dude, I have the same problem yet I did set the primary part per room and hallway, yet it doesnt generate anything except the starting room@@thegamerthatdoestsuff

  • @Katiekatkaty
    @Katiekatkaty2 ай бұрын

    is there anything i need to change if i dont use hallways?

  • @TextChange

    @TextChange

    2 ай бұрын

    Yes! Just copy the code until 8:51 and remove the hallways from the asset folder.

  • @robloxrodolph
    @robloxrodolph27 күн бұрын

    does this aply to generate in player range or keeps generating untill it finishes in some way ?

  • @robloxrodolph

    @robloxrodolph

    27 күн бұрын

    also can you reply in a comment explaining how can i emplement this to be floors i mean something like a building of some sort if you know what i mean

  • @TextChange

    @TextChange

    27 күн бұрын

    Currently there is no way to stop it from generating. It will keep generating regardless of players (players can interfere with the generation by getting in the way. Checkbox can't not differentiate between a player or something else)

  • @TextChange

    @TextChange

    27 күн бұрын

    @@robloxrodolph i didn't get it. Did you meant you want to have multiple stories (floor levels?

  • @robloxrodolph

    @robloxrodolph

    27 күн бұрын

    @@TextChange yes exactlyy

  • @robloxrodolph

    @robloxrodolph

    24 күн бұрын

    are you alive mate or do i just try to implement it myself ?

  • @user-gj7cm7vw6f
    @user-gj7cm7vw6f22 күн бұрын

    how do i make generation only with rooms but with no hallways?

  • @TextChange

    @TextChange

    22 күн бұрын

    Just follow the video until this point 8:46. After that remove all the hallways from the asset folder

  • @shadowrequim
    @shadowrequim2 ай бұрын

    I have no clue how to download that document and i cant get the full code due to how fast you finished at the end

  • @TextChange

    @TextChange

    2 ай бұрын

    I literally gave the model in google drive. 🙂

  • @shadowrequim

    @shadowrequim

    2 ай бұрын

    @@TextChange I downloaded it and tried opening it with many different programs but it wouldnt load.

  • @TextChange

    @TextChange

    2 ай бұрын

    @@shadowrequim i think it your device's fault. by the way i already gave the code in the comment. you can copy from there too.

  • @lem3579
    @lem3579Ай бұрын

    is there a way to set a limit on how many rooms can be generated?

  • @TextChange

    @TextChange

    Ай бұрын

    I'm just disappointed that you didn't watched the full video. If you did that you would have known that i already put a limit on how many rooms can be generated 😓. I worked hard on that video, y'know

  • @lem3579

    @lem3579

    Ай бұрын

    @@TextChange I'm so sorry man, I just rewatched it and now I know, thanks! The first time I was just rushing through a whole bunch of videos like this as I was double tasking making my game. Thanks for the help!

  • @flision99
    @flision992 ай бұрын

    Hey do know how I can have specific chances of rooms spawning and make sure that a specific room spawns no matter what?

  • @TextChange

    @TextChange

    2 ай бұрын

    It is going to be really tough. You should check out 'weighted selection' function. This function allows you to assign certain percentage to individual room and return a random room according to percentage. I'm not going to do it myself, as it will just waste my time. To make sure a specific room always spawns, example a boss room. You can try this method(not the best). After the generation is complete choose a random room from the dungeon and replace it with your boss room.

  • @flision99

    @flision99

    2 ай бұрын

    @@TextChange Ok I'll try that out thanks

  • @flision99

    @flision99

    2 ай бұрын

    @@TextChange also how do you think I could add a limited number of rooms because every now and then it spawns with 1 hallway to a dead end what I want is when it branches off for ages

  • @allopjay.3061

    @allopjay.3061

    Ай бұрын

    @@flision99 In the video, he adds a MaxRooms variable, set that to how many rooms you want to spawn

  • @flision99

    @flision99

    Ай бұрын

    @@allopjay.3061 yeah but I need it to Generate the dungeon only once

  • @Isu-Ware
    @Isu-Ware5 ай бұрын

    Honestly ill pay if you can manage to make a model of this 🤷‍♂🤷‍♂

  • @TextChange

    @TextChange

    5 ай бұрын

    Check description or new pin comment

  • @javeldevo
    @javeldevo5 ай бұрын

    how would we make a room that generates only one time?

  • @TextChange

    @TextChange

    5 ай бұрын

    Just follow the starting room spawning method i guess.

  • @uliseso_o1gamer775
    @uliseso_o1gamer7752 ай бұрын

    i have question, can car road like desert?

  • @TextChange

    @TextChange

    2 ай бұрын

    I'm not sure what are you talking about

  • @Nemazares
    @Nemazares4 ай бұрын

    How can i modify the corridoor and room safely

  • @TextChange

    @TextChange

    4 ай бұрын

    You can edit anyway how ever you want. Just make the entry points lineup when placed side by side. Also they can not exceed the average room size ( in this case 8 studs by 8 studs

  • @Nemazares

    @Nemazares

    4 ай бұрын

    ​@@TextChange Ur the best

Келесі