Model link :- drive.google.com/file/d/1uaZZTuW1vrR6kcmrKNPkPLxEUbhVvkUP/view?usp=drive_link
@Nemazares6 ай бұрын
Can you update it so it infinitely load, like Chunks in Minecraft
@indominusvoids87986 ай бұрын
@@Nemazares Just go down to the last line and replace 500 with math.huge
@Nemazares6 ай бұрын
@@indominusvoids8798 math.huge ? Alr ig thx
@TextChange5 ай бұрын
@@indominusvoids8798 No it's a bad idea because it will cause the game to crash.
@the_jmaster14 ай бұрын
e
@OLDACCOUNT_notfireman8 ай бұрын
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
@TextChange8 ай бұрын
Thank you
@OLDACCOUNT_notfireman8 ай бұрын
np
@cheemsdrip74785 ай бұрын
i love rougelikes. is the game out yet?
@BRACERFENIX3 ай бұрын
Thank you. This was fun to follow along and procedural generation has so many possibilities.
@TextChange3 ай бұрын
Thank you
@kif-zallrhat18708 ай бұрын
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_Spirit45955 ай бұрын
im trying to make just rooms aswell but nothing is really happening
@TextChange10 ай бұрын
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)
@____________________________x8 ай бұрын
you couldve published this and made the game uncopylock
@tuhin45028 ай бұрын
you should at least give some effort and follow the tutorial. It would only take 30 minutes to make anyway.
@doinic098 ай бұрын
@@____________________________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.
@_Sickk8 ай бұрын
Why did you use "SetPrimaryCFrame" Instead of "SetPivot"?
@MGGSpicey8 ай бұрын
@@____________________________xyou could've just copied a 10 minute tutorial WITH the script published in the comments
@windy_zeph9 ай бұрын
We want more videos like this, keep up the amazing work. Hats off this guy!
@EggsToMeАй бұрын
This is so well explained, but at the same time you make sure to not overly exlapain it, please make more tutorials i loved this
@Fynixx2 ай бұрын
Thank you for the tutorial, was able to change things where i needed to change them and ultimately got exactly the type of dungeon generator i needed, god bless your soul 🙏
@ProtoSquamАй бұрын
I actually love this video, everything was just perfectly crafted 🤩
@gokkertje16827 ай бұрын
this guy is a chad, i love how he explains it keep it up!
@TextChange6 ай бұрын
Thank you
@Nemazares6 ай бұрын
True
@ransomha6 ай бұрын
It was beatiful watching that map generate in such a clean way
@Tybeef8 ай бұрын
Underrated video, TTS with well typed explanation was great
@YorktownClass5 ай бұрын
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.
@TextChange5 ай бұрын
Highly appreciate your support. 🖤
@EliAnimation-p3g17 күн бұрын
Now this is a respectful tutorial ,even you ve put the kit of it
@TextChange17 күн бұрын
@@EliAnimation-p3g thank you. A sub would be appreciated
@BasilLikesScripting9 ай бұрын
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
@TextChange9 ай бұрын
Glad I could help!
@oleNikolicАй бұрын
Thanks for trying to respond to everyones comments, thats really nice! I wanted to ask you how much did you practice to get to this level of scripting?😅
@TextChangeАй бұрын
@@oleNikolic I'm doing script for 3 years now. Just take easy and slow, you will reach my place in no time.
@oleNikolicАй бұрын
@@TextChange How old are you, im asking because im curious about if school stopped you from learning scripting sometimes, because of homework study or other things😅
@TextChangeАй бұрын
@@oleNikolic I recently graduated from college. you don't need to script 24 hours a day. usually I scripted only for 2~3 hour a day. just think it as playing game.
@SlateAlloy8 ай бұрын
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 )
@SlateAlloy8 ай бұрын
@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
@Microbex8 ай бұрын
Man, you are the best! Subbed. Happy New Year Mate. 🎉☺️
@TextChange8 ай бұрын
Happy new year!
@multistronomy7 ай бұрын
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
@groovyball9 ай бұрын
i was stuck at figuring how to do pikmin2-like dungeon generation and this helps a ton thanks!!
@swordlegend32567 ай бұрын
3:07 you can do fn + left click or alt+ left click to select a single part from a model
@TextChange7 ай бұрын
Good to know. Thank you
@swordlegend32567 ай бұрын
also you coud use random:NextInteger instead of math.random if you want pesudorandom generation@@TextChange
@swordlegend32567 ай бұрын
btw you didnt have to make 11 presets you coudve gone with 2. with the same result@@TextChange
@Unknown-ym3ds7 ай бұрын
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.
@TextChange7 ай бұрын
I would try my best. Thank you
@Unknown-ym3ds7 ай бұрын
@@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 kzbin.info/www/bejne/hoXaooicn6uml8Usi=gpckP_Rwxp5XTUJ- . If you don't know about it or have no idea then you can get an idea with this kzbin.info/www/bejne/g6qwk5WjjLt2etksi=1aoECPQRC0nua9E0 . Please help me if you could, my clueless brain can't figure out how to start.
@Unknown-ym3ds7 ай бұрын
@@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 kzbin.info/www/bejne/hoXaooicn6uml8Usi=gpckP_Rwxp5XTUJ- . If you don't know about it or have no idea then you can get an idea with this kzbin.info/www/bejne/g6qwk5WjjLt2etksi=1aoECPQRC0nua9E0 . Please help me if you could, my clueless brain can't figure out how to start.
@oofytoty8 ай бұрын
Roblox tutorials are underrated in general but this tutorial is VERY underrated.
@tuhin450210 ай бұрын
Thank you man ! Great tutorial
@fishthingidk8 ай бұрын
Great tutorial, and I've been looking for this for so long! I would just recommend a different voice...
@suupe44537 ай бұрын
i like your pfp
@fishthingidk7 ай бұрын
@@suupe4453 thanks! i love yours, it’s very original
@arobloxmirror55708 ай бұрын
this is perfect tutorial for people who starting off scripting but have only learnt the basics, hope you make more videos
@hufgerbad60214 ай бұрын
I wish there was a video like this but for just normal unity
@Eldamian04 ай бұрын
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
@the_actual_alex2 ай бұрын
he said in another reply you can achieve this by making the tile as big as your biggest room size, then make a bunch of halls that look like multiple smaller halls combined
@TextChangeАй бұрын
Ah thank you for doing my job 😅. I really appreciate that
@PoppinCorn2 ай бұрын
Now you have to do another one where it’s a chunk loader that saves and unrenders/renders chunks!
@TextChange2 ай бұрын
@@PoppinCorn That's a great Idea.
@PoppinCorn2 ай бұрын
@@TextChange would love to learn how to do this for procedural dungeons. even a dungeon series tutorial would be awesome since there aren’t any on youtube.
@OFnoxy12 күн бұрын
this is so cool, thank you
@Zik_isi7 ай бұрын
Although it relies on some krutches, this is an interesting concept of generating!
@fearlesswee503627 күн бұрын
Pretty nice, and very fast. Btw, how could I go about having "specialty" rooms, ensuring that they are always placed somewhere in each dungeon? Like if I were to have say, a shop, and I wanted to make sure each dungeon has a shop. Of course I could just make it so the generation will check if it has placed a "shop" room already or not, and if yes, then exclude the shop from the usable tile pool, but otherwise it's entirely up to the mercy of RNG if a shop room is chosen. Then at the end of generation, if it sees that no shop room was placed, it'll regenerate the dungeon, repeating until it successfully places a shop. Now this will "work", but it's definitely not ideal, and becomes an exponentially bigger problem the more "special" rooms that are desired. Since if there's only 1 specialty tile, chances are the dungeon will end up having it. But if there's say, 5 specialty rooms I want each dungeon to always have somewhere in their layout, there's a much bigger chance one of them gets missed and the entire dungeon will need to regenerate. And it may be possible the dungeon will need to regenerate a dozen times, leading to a long wait time for players.
@TextChange26 күн бұрын
@@fearlesswee5036 here what you could try. Once all rooms are generated, list all rooms that have the same number of waypoints as your shop room. For example, if your shop room has 4 waypoints, find all rooms with 4 waypoints. Randomly pick one from this list and replace it with your shop room. If you want to have more then one shop room then repeat these steps in a for loop. It is still not ideal, because it is still dependent on RNG. Lets say you want 3 shop room (shop room has 4 doorways) But there are only 2 rooms with 4 doorways. You see the problem now? How to fix it? Instead of making special rooms, you should have your shop as a separate model. Now you can just select a random room from the dungeon and position your shop in that room. It is fast and easy method
@fearlesswee503626 күн бұрын
@@TextChange Well the "shop" would be a defined room, for a special layout + set dressing. I plan to use large 100 stud tiles to have a lot of room for the room/hallway layout to deviate. So like a 4-way intersection might not be a straight path, but have more twists/turns. I didn't even think of placing them *after* the dungeon generates; finding a random 4-way room for example and replacing it with the special room. That's very smart. I could also probably use this to put an "exit" or "end room" for the dungeon, using a basic magnitude check to exclude room tiles too close to the start. Thanks for taking the time to respond and the tutorial!
@chargemannyn2918Ай бұрын
Very clean and simple system for dungeon generation, though I have to ask, what's plug-in you use for tracking how many studs you scale/move a part with in the video? Appreciate you sharing your work, and am looking forward to future videos!
@TextChangeАй бұрын
I Didn't use any plugin, it was there by default.
@samuelwhite70305 ай бұрын
its a great heavily customizable inexpensive system really cool man
@TextChange5 ай бұрын
Thank you. Consider subscribing
@TheBloodThirstyvamp2 ай бұрын
It seems the code breaks when I apply it to my own rooms with bigger and more complex sizes. Any fix for this?
@TextChange2 ай бұрын
Well, without any information it is really hard to tell what is wrong with your model. But i assume you have different size rooms. This is a problem because this system wasn’t created to handle room with different size. You have to make sure that your all rooms are same size
@--Brick--2 ай бұрын
I haven't finished the tutorial yet but it says SetPrimaryPartCFrame() is deprecated 6:05 so instead I'm using Model:Pivot() which is the same thing. Also from what I've seen you can put most of this in a module script
@TextChange2 ай бұрын
Yeah SetPrimaryPartCFrame() and Model:Pivot() is the same thing. It Just that I'm Used to using SetPrimaryPartCFrame(). And yeah you can use module script but i didn't wanted to make this more complicated.
@Flook15 ай бұрын
How do I make the generation infinite and allow the situations when there are 2 rooms connected with each other?
@TextChange5 ай бұрын
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
@Wendy-ib4sp8 ай бұрын
HOLY COW YOU ARE SO UNDERATED! 100% Subbing.
@ThatBeenuxGuy3 ай бұрын
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
@Balth98 ай бұрын
Very good tutorial, Subbed!
@Rexexcraft8 ай бұрын
only 21 subscribers? you deserve way more
@the_actual_alex2 ай бұрын
this is so good! just one question, is it possible to add other rooms that also spawn just one time in random positions?
@TextChangeАй бұрын
@@the_actual_alex yeah it it possible. It will be a little hard work, so bare with me. First thing you need to do to make your room. And place it somewhere else. And then after generation process is complete, you have to make a table/array of all the room with the same amount of doorways as your intended room. For example, Let's say your intended room has 2 door ways. So you will make a table of all the room with 2 doorways that were generated. Now choose a random room from that array and replace it with your intended room. There are many other ways to do it. But this was the first thing thar came in my mind
@the_actual_alexАй бұрын
@@TextChange 🙏
@ThatBeenuxGuy3 ай бұрын
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?
@TextChange3 ай бұрын
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
@ThatBeenuxGuy3 ай бұрын
@@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
@Managlyph7 ай бұрын
Great tutorial!
@tearer.8 ай бұрын
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 💀
@TextChange8 ай бұрын
Im actually script for some years, keep it up and you will be a advance scripter in no time
@Trazor_9 ай бұрын
Amazing tutorial!
@DEZERKER637 ай бұрын
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?
@TextChange7 ай бұрын
Maybe make diagonal hallway that will work as a staircase. That should do it
@Waffle00005 ай бұрын
So is this how poeple make there doors game random?
@The_Spirit45955 ай бұрын
Could someone help me with making certain waypoints connect the map into a loop
@collossuss964 ай бұрын
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
@TextChange4 ай бұрын
My channel isn’t so big, so i never considered about discord or anything. Maybe in the future.
@Ninjalordsalt3 ай бұрын
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?
@TextChange3 ай бұрын
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.
@fakeorfeus8 ай бұрын
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?
@fakeorfeus8 ай бұрын
i forgot to say that there's no errors
@TextChange8 ай бұрын
Make sure you rotated the waypoint and primarypart to face the correct direction. Also check if you called the branchout function
@enzopool20075 ай бұрын
I think I got a jumpscare from the captions
@TextChange5 ай бұрын
How?
@Connor_McBrideАй бұрын
I found this video really informative and helpful! I'm new to Lua and Roblox Studio, and I was testing your script with some custom rooms I built, and I'm getting an error I don't know how to fix. Upon running the game only the starting room generates, and I get this error message: Model:SetPrimaryPartCFrame() failed because no PrimaryPart has been set, or the PrimaryPart no longer exists. Please set Model.PrimaryPart before using this. I will note that I trimmed your code to remove all the mentions of the 'room' boolean attribute because my game is trying to generate only rooms, no halls. Is there something obvious I'm likely missing or is there something I could try?
@TextChangeАй бұрын
you forgot to set the "Primarypart" property of you rooms. make sure to follow these steps 1:10
@Connor_McBrideАй бұрын
@@TextChange Thank You! That fixed one of the many bugs lol. I just assumed the part had to be named PrimaryPart and I didn't see that you had changed the property in the video. Again, thanks for this amazing tutorial!
@tunamursofficial6 ай бұрын
thx bro! i love u!!)
@thecheeseclanwastaken8 ай бұрын
Thanks Alot! it works.
@the5thber4 ай бұрын
Nice Tutorial! I was just wondering if you know how to make a limit on how many rooms are generated. Please & thank you.
@TextChange4 ай бұрын
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
@pixerking8 ай бұрын
Cool, but how to make spots in rooms with random objects spawn there like paintings on walls and otheres
@didist9065Ай бұрын
hey i know this video is old, but how do i get that thing where your mouse tells you where on a part you are.
@TextChangeАй бұрын
@@didist9065 I actually don't know. It was there by default.
@yumaa46128 ай бұрын
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?
@TextChange8 ай бұрын
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.
@yumaa46128 ай бұрын
@@TextChange thank you for the help ill try implement that now!
@chromium77452 ай бұрын
An issue is you never put where to specify Maxrooms. Now infinite rooms are generating and I can't cap it.
@TextChange2 ай бұрын
8:41 at the bottom, when calling the generate function, the second parameter is the maxrooms. As this was a kind of advance tutorial, i assumed people would get it easily
@furiousgoober6 ай бұрын
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?
@TextChange6 ай бұрын
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.
@Dingleberry5408 ай бұрын
backrooms bout to be crazy
@AfrosCanBeCool2 ай бұрын
i’m actually making a backrooms game using this lol
@Ankibank20003 ай бұрын
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.
@TextChange3 ай бұрын
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
@gaminwbd8 ай бұрын
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?
@TextChange8 ай бұрын
You might have forgot to call the branchout function. Replicated storage's script is the previous script that i tested and its disabled.
@gaminwbd8 ай бұрын
@@TextChange how would i call out that function? What code at what line
@TextChange8 ай бұрын
@@gaminwbdcheck description or new pin comment😊
@ziplocksadventures23218 ай бұрын
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
@TextChange8 ай бұрын
Im really sorry about that. I had to speed up the video because it was getting too long
@Puppeette8 ай бұрын
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?
@Puppeette8 ай бұрын
Well 1 stud is roughly 1 foot lol
@TextChange8 ай бұрын
Yes I already said it in the video, it is even smaller then a player
@ROBERTNGUYEN-t7x5 ай бұрын
do you know of a way to create unique rooms? (like have only one boss room in the entire dungeon)
@link92353 ай бұрын
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.
@TextChange3 ай бұрын
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.
@reecat45355 ай бұрын
WE'RE CREATING THE BINDING OF ISAAC IN ROBLOX WITH THIS ONE
@TextChange5 ай бұрын
Good luck
@uru412313 күн бұрын
for some reason it wont continue past one, and the checkbox generates not infront of the room. can you please help?
@TextChange12 күн бұрын
Make sure your waypoint parts are facing the right way. Try to find any errors in the checkbox generation code.
@LeapInno9 ай бұрын
Super super nice strategy.
@imButterGuy29 күн бұрын
Hi i just remodeled the models and when they generate the room without a waypoint (Room1) keeps it from finishing and it resets Can you help?
@TextChange27 күн бұрын
@@imButterGuy In our generation process, waypoints are crucial. If there are no waypoints in the workspace, the generation of rooms or hallways can’t continue. Waypoints help us know where to place new rooms and keep the generation going. So make sure all the room in your asset folder has at least one waypoint.
@thecheeseclanwastaken8 ай бұрын
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?
@TextChange5 ай бұрын
Sorry man. This dungeon is designed to be random. I don't know how to do that
@How2MagicMan1017 ай бұрын
I’m very confused on how to scale up these rooms and hallways, because every time I do, it breaks the generation.
@TextChange7 ай бұрын
When you scale up make sure to you calculated the distance of the waypoint and primarypart
@How2MagicMan1017 ай бұрын
@@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
@The-Random-Dev3 ай бұрын
Thank u so much
@uhm....13 күн бұрын
hey i know this tutorial is old but i want to know how to make it only generate once because its kind of annoying
@TextChange12 күн бұрын
Can you explain further? I didn’t get what you want
@Mr.Konstig8 ай бұрын
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!
@TextChange8 ай бұрын
Check description or new pin comment
@Anzeljaeg4 ай бұрын
This is impressive indeed
@imButterGuy14 күн бұрын
hey How would you to go about making the rooms load and unload depending where the player is since resizing it causes lag and this is to reduce it
@TextChange12 күн бұрын
@@imButterGuy that's a whole new system. You have to make that dungeon in clients side. Since dungeon generation is random, different clients will have different dungeon layout. It will cause desynchronized game play. Example one player can seemingly walk through wall because they have a doorway when another player just sees a solid wall.
@krimdoff59567 ай бұрын
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
@TextChange7 ай бұрын
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
@krimdoff59567 ай бұрын
@@TextChange Actually no, everything works as expected, I just noticed this little thing, I thought it affects something
@SirJo28 ай бұрын
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
@TextChange8 ай бұрын
I'm really sorry about that. the video was getting too long for a tutorial.
@KarlSpark4 ай бұрын
How to make it bigger?
@bangbashtoday2 ай бұрын
could this theoretically be repurposed for a constant generation of tiles infront os something like a vehicle that move backwards
@TextChange2 ай бұрын
Sorry, Didn't understand what you meant
@pianoman52594 ай бұрын
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
@TextChange4 ай бұрын
Try the model provided in the description and in the pin comment.
@pianoman52594 ай бұрын
@@TextChange alright I will, hopefully it works because I love the idea
@GWDGV7 ай бұрын
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"
@GWDGV7 ай бұрын
when i try to find the distance
@TextChange7 ай бұрын
maybe you forgot to set the room's "PrimartPart" property. Make your you have the primarypart and waypoint part where they need to be.
@GWDGV7 ай бұрын
@@TextChangeI just resized, remodeled, and retextured your builds and adjusted the distance manually between them so W
@The_Idea_Guy5 ай бұрын
Brilliant
@shadowrequim5 ай бұрын
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
@TextChange5 ай бұрын
I literally gave the model in google drive. 🙂
@shadowrequim5 ай бұрын
@@TextChange I downloaded it and tried opening it with many different programs but it wouldnt load.
@TextChange5 ай бұрын
@@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.
@imdumb63987 ай бұрын
Also, Can u make a model that has the END room?
@TextChange7 ай бұрын
Just copy the starting room, remove the waypoint part and place it inside the asset folder.
@MartianLeo_T6 ай бұрын
im just trying to use this for a never ending road with occasoinal burger kings lol
@TextChange6 ай бұрын
😆 good luck with that
@OLDACCOUNT_notfireman8 ай бұрын
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?
@TextChange8 ай бұрын
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.
@0MNIKATАй бұрын
I'm a bit late to this as well as new to coding. This tutorial is fire and easy to follow, however I am having trouble with the StartingPosition in which I'm getting an error message "Model:SetPrimaryPartCFrame() failed because no PrimaryPart has been set, or the PrimaryPart no longer exists. Please set Model.PrimaryPart before using this." Anyone know what could be up?
@TextChangeАй бұрын
you forgot to set the 'PrimaryPart' property for your starting room. here, follow this 1:49
@0MNIKATАй бұрын
@@TextChange Oh my god thank you so much I get it now!! Your a genius with setting that to the pivot and thank you for pointing that out as I completly missed that part.
@glitch844229 күн бұрын
How would I make it possible to put a set amount of rooms in the dungeon whilst also having specific rooms limited to another set number?
@TextChange27 күн бұрын
@@glitch8442 I already have a max room limit on my system. (Please watch the full video. I worked hard on it man 😭😭) And for your second request. here is what you could do. Once all rooms are generated, list all rooms that have the same number of waypoints as your special room. For example, if your special room has 4 waypoints, find all rooms with 4 waypoints. Randomly pick one from this list and replace it with your special room. Repeat this until you have the desired number of special rooms in the dungeon.
@glitch844227 күн бұрын
@@TextChange ty
@eggtart2gudАй бұрын
why does the first local cf changes at 8:13???
@TextChangeАй бұрын
@@eggtart2gud first one positions rooms, and 2nd one makes sure rooms are not tilting
@flision995 ай бұрын
Hey do know how I can have specific chances of rooms spawning and make sure that a specific room spawns no matter what?
@TextChange5 ай бұрын
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.
@flision995 ай бұрын
@@TextChange Ok I'll try that out thanks
@flision995 ай бұрын
@@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.30614 ай бұрын
@@flision99 In the video, he adds a MaxRooms variable, set that to how many rooms you want to spawn
@flision994 ай бұрын
@@allopjay.3061 yeah but I need it to Generate the dungeon only once
@reduvicemaster3 ай бұрын
what real chads do is learn
@TextChange3 ай бұрын
That's true
@reduvicemaster3 ай бұрын
@@TextChange then why did you say "be a chad and copy & paste the script" in the video
@TextChange3 ай бұрын
@@reduvicemaster 😅 People often use the code without understanding it, then mess it up and complain that it doesn't work. It's a sarcastic way of saying, 'Just take the code and get out'. If you take a look at the comments on this video, you will understand what i mean.
@reduvicemaster3 ай бұрын
@@TextChange but it's good to learn. I'm not talking further anymore now
@ProSureStringАй бұрын
I had this same question. Chads are people that understand what they do fully.
@kafurnakis13892 ай бұрын
Hey is there a way to make certain rooms generate less frequently?
@TextChange2 ай бұрын
Yes you can! But this would need you to learn 'weighted selection'. It is too complicated to explain in a comment. But this is how you have to do it. When choosing a random room, instead of doing what i did. You would use weighted selection to choose a room based on percentage.
@Shotnoms8 ай бұрын
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
@drlssteamАй бұрын
How did you prevent self loops that stops the generation?
@TextChange27 күн бұрын
@@drlssteam I forgot to mention it in the video. But here is the quick explanation. When we start generating rooms or hallways, a timer called 'last generated' records the time when the last room was made. Each time we create a new room, we update this timer to the current time. We use a loop that keeps running until all rooms are generated. Inside the loop, we check the time elapsed since the last room was made. If more than 5 seconds have passed and the desired number of rooms hasn't been generated, it means something went wrong, and we start the process again.
@vipont70367 ай бұрын
A question, the PrimaryPart have to be exactly in the middle of the room ?