How To Create Epic Procedural Dungeons In Unreal Engine 5 - Part 1

Поделиться
HTML-код
  • Опубликовано: 27 авг 2024

Комментарии • 434

  • @reeanimationgaming1034
    @reeanimationgaming1034  3 месяца назад +37

    Hi Guys! Please let me know if this Tutorial was useful to You. I want to know. And please share if you make anything cool with this, I also want to see that 🙂
    If you have better ways of doing some of these things I do in the video. Please let me know.. I'm always ready to learn 🙂
    - Have a Nice Day 🙂

    • @v8matey
      @v8matey 2 месяца назад +2

      Hello, I have an idea for a tutorial much like the one in this video.
      But for interiors of buildings.
      For example a suburb house.
      Say I purchased a house model thats only the exterior model off marketplace.
      I add a Volume(s)? inside the house model and place Doors and Window markers that line up to the exterior building model / texture.
      And the interior of the house will procedural generate.
      1 Hallway.
      1 or more rooms, each room must have a door an window.
      1 lounge room
      1 kitchen
      1 Dining room
      1 laundry
      1 bathroom
      1 toilet room
      1 Front door "room" < No walls
      1 Back door "room" < No walls
      That Suburb house actor BP etc.
      I then copy an paste it around in the level. The interior will always be slightly random an different to the other one.
      Maybe same layout but the room objects can also be placed randomly. Bed against the wall. or in the center?

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад

      @@v8matey you should be able to do something like that with the spawn system I did in part 2
      Make spawn point for walls, spawn points for furniture against the wall. But you will have to make a lot of specific spawn points, because a table can’t be placed anywhere right..

    • @megaamiga3169
      @megaamiga3169 Месяц назад +1

      Very usefull ! it's holydays and i need to learn well and fast for fun ! Perfect tutorial ! very well detailled and handable for a noob like me !

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад +1

      @@megaamiga3169 Nice. Thanks 🙂✊

    • @docendgame
      @docendgame День назад +1

      You can bet I will share you what I make from your tutorial. This is what I need to for the core of my game.

  • @mattgreen753
    @mattgreen753 3 месяца назад +36

    Part 2 would be awesome! It would be cool to have something that adds elevation changes like stairs or elevators.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +14

      You are not the first one suggesting that 🙂

    • @PhoenixArtistIvan
      @PhoenixArtistIvan 3 месяца назад +3

      I second this

    • @bixarrio5251
      @bixarrio5251 2 месяца назад +4

      I've been building dungeons like this for a while (albeit in Unity). I believe elevation is built-in since the exits line up. If you make a room with stairs and put the exit at the top or bottom, the generator should place the next room at the correct place. Another addition is to add rules to the rooms and exits that specify what types of rooms can connect to what exit. So, you randomly pick an exit and then filter the list of available rooms based on the allowed types of the chosen exit. Then pick a room from the filtered list

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +3

      @@bixarrio5251 yes.. It just works 🙂
      Part 2 is up btw

    • @nahmanyomama
      @nahmanyomama Месяц назад +1

      @@reeanimationgaming1034 Vazgriz has an interesting video on procedural 3D dungeons. I'm not a programmer, so not sure if the language is the same as ue5, but he does define the steps and logic for his code. There could be an analogue in ue5 that you could create.

  • @alexh2548
    @alexh2548 8 дней назад +2

    I just wanted to let you know how amazing you are at conveying what you're doing, very easy to understand and very well executed, thank you for sharing all your hard work. :)

    • @reeanimationgaming1034
      @reeanimationgaming1034  8 дней назад +1

      @@alexh2548 Thanks man. I appreciate the kind words 🙏❤️
      And thank YOU for watching 🙂✊

  • @d74g0n
    @d74g0n 3 месяца назад +9

    Having done thousands of tutorials. I have to say this one is an absolute gem. The way you make errors disappear is unparalleled.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +4

      Haha.. Thanks. I am very surprised myself that this has no errors.. 🙂

    • @LjTrader
      @LjTrader 3 месяца назад +1

      @@reeanimationgaming1034 Mine throws errors. Though getting it completed is great. Although mine is not on a single level, and the final Sealing Wall is repeated multiple times. When finished it does works. Thanks for the tutorial! It was great way to start learning properly creating blueprint use correctly.

  • @EagleTopGaming
    @EagleTopGaming 3 месяца назад +14

    Throw this into the description of the video if you think these are OK chapters.
    Chapters:
    00:00:00 Preview
    00:00:58 Scene Cleanup
    00:02:15 Actor Creation
    00:03:33 Room Setup
    00:10:48 Room Explanation
    00:11:42 Sorting The Room
    00:13:46 Testing The Room
    00:14:06 Making a Dungeon Material
    00:15:02 Setting Up Room Exits
    00:18:50 Generator Spawn Room
    00:20:50 Storing Exits in a List
    00:25:31 Setting it up as an event
    00:27:03 Spawn NextRoom Event
    00:42:13 Spawn More Rooms
    00:49:00 Fixing Overlapping
    01:04:06 Collision Fix
    01:10:42 BP Cleanup
    01:12:30 Adding More Rooms
    01:18:22 Closing Unused Exits
    01:26:11 DUNGEON COMPLETE
    01:30:00 More Rooms!
    01:36:53 Generation Failsafe
    01:47:33 Outro

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +3

      I'm sorry, forgot to do this.. Thank you so much.. I have pasted it in now 🙂

  • @SoggySocksGames
    @SoggySocksGames 27 дней назад +4

    Learnt more QOL tidbits from the first 20 minutes of this video than I have over the past 50 tutorial videos I've seen - good stuff 👍

  • @docendgame
    @docendgame День назад +1

    Dude, ai have been looking for something like this. I am just starting your tutorial but seeing where it is going it definitely seems to be what I am needing to get started. I look forward to watching all your tutorials on this. Thank you!

    • @reeanimationgaming1034
      @reeanimationgaming1034  День назад +1

      @@docendgame Nice! Thank you for the kind words, and thanks for dropping by my channel ❤️🙏

  • @absolutemadman5115
    @absolutemadman5115 3 месяца назад +6

    Tried out many different methods of procedural generation before and I have to say this is the simplest guide to follow, everything is so easy to understand!
    There's a lot of freedom in this system also, you can make tiles of any shape or size, including ramps that lead to other floors (as long as the exits are marked)

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Thanks. Yes exactly, your creativity with the room designs is what will make this dungeon really come to life..
      We just have to make sure there’re enough exits to select from

  • @Arthur-1337
    @Arthur-1337 3 месяца назад +6

    Not gonna lie I love this style of tutorial. After a few weeks botting around on my own its nice to see how someone else tackles those problems who has some more base knowledge. Thanks, I needed this, gave me a ton of ideas :D

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      Awesome. Thanks 🙂
      Please do share if you have improvements to this video ✊

  • @eliottsmallwood2140
    @eliottsmallwood2140 21 день назад +1

    music was a good touch as well

    • @reeanimationgaming1034
      @reeanimationgaming1034  21 день назад +1

      @@eliottsmallwood2140 Hehe, ok. First time I hear that 🙂
      I actually made the music myself ✊

  • @TheDanimaul
    @TheDanimaul 25 дней назад +1

    I really enjoy the raw take on the tutorial, not scripted, just flying by the seat of your pants. If "mistakes" or changes were made it was awesome seeing the process on identifying the issue and changing it. All very helpful, well explained and a great tutorial. I learned a lot from this video alone versus the others I have seen. I look forward to more of your tutorials!

    • @reeanimationgaming1034
      @reeanimationgaming1034  25 дней назад +1

      @@TheDanimaul Thanks man. I appreciate the nice feedback ❤️🙏
      It encourages me to make more 🙂

  • @hernangomar5445
    @hernangomar5445 5 дней назад +1

    just finished this part worked great, not sure if you are into multiplayer stuff but tried to ran it with 2 players and each one creates its own dungeon

    • @reeanimationgaming1034
      @reeanimationgaming1034  5 дней назад +2

      @@hernangomar5445 I haven’t touched multiplayer at all.. It scares the shit out of me 😬

  • @ronb.9850
    @ronb.9850 3 месяца назад +4

    IF every Dev tutorial explained the process like you, there would be less confusion for new aspiring devs. I was able to use your information and rewrite it in CPP. Thank you for the great tutorial. Just a side note. When you cast to box component, that is the cube you are choosing. To cast to the Box Collision (OverlapBox), you need to select your Box Collison (OverlapBox) in the Components Panel, then search for it in the Event Graph.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Thanks for the kind words ❤️
      Are you saying that I’m casting to the geometry box and not the overlap box?
      But how is it still working then?

    • @ronb.9850
      @ronb.9850 3 месяца назад +2

      Yes, saying that though, I haven't tested what your new Collision setting is doing in the Collision presets. I'm still learning myself. And I'm doing this the same way you are at the moment. But, by the way it's set up as is seems to work fine.

    • @ronb.9850
      @ronb.9850 3 месяца назад +2

      I will try to remember to test and comment here later when I have time. After thinking about it, I maybe mistaken that you are casting to the cube component. Either way, it works!

  • @BelkaNaPleche
    @BelkaNaPleche 16 дней назад +1

    Это просто невероятно круто!!! Спасибо тебе огромное, ты восхитительный человек!

  • @squidz2720
    @squidz2720 3 месяца назад +4

    This is amazing! About a month ago I was trying to figure out how to do this and i just couldn't understand and get the tutorials I followed to work! I tried making it myself but got very overwhelmed and lost motivation, so I gave up! Thank you so much for uploading this man, super super helpful!

  • @mikedolan03
    @mikedolan03 3 месяца назад +3

    even tho you had to figure things out on the fly and you were a little self conscious about it hurting your tutorial --it totally didnt! this was really a great explanation with a cool result! thanks for sharing this solution and your process!

  • @Chuckstarrious
    @Chuckstarrious 3 месяца назад +5

    Perfect timing, I searched for exactly this type of tutorial not too long ago, thanks!

  • @ronb.9850
    @ronb.9850 3 месяца назад +5

    Also, it is easier to select your Box Collision (OverlapBox) in your master room, create an event in the Event Graph, then go the the Dungeon Generator Event Graph, you can then cast to the Box Collision (OverlapBix).

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +3

      Oh.. That is actually a good idea, and much simpler I think. Thank 🙂

    • @collider4378
      @collider4378 3 месяца назад +1

      Good suggestion and something I had been playing with but haven't figured out - can you clarify a little? In Master are you creating a custom event, or using the On Component Begin Overlap (Overlap Box) event? I find that overlap doesn't trigger if an actor is spawned on top of another one, only if one of the objects moves. Are you adding any additional code here (like destroy actor?) Thanks!

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      @@collider4378 I never trust begin overlap, as you say, when it spawn inside it doesn’t trigger overlap.. That is why check for overlap is much more solid

  • @darion7224
    @darion7224 Месяц назад +1

    Amazing tutorial. As somebody who doesn’t yet have experience with unreal engine, this is an absolute gem. I’m going to try to do something similar for generating the rest of the dungeon around a few key rooms, such as the ending, starting, and special rooms.

  • @Velgan83
    @Velgan83 29 дней назад +1

    Just picked up a course to learn unreal engine 5 and I had procedural dungeons in mind for my first game, so thanks mate! You're a lifesaver, I cannot thank you enough, really! Love your vids, watched a few of them, definitely inspiring and encouraging. Keep on good work and thanks again!

    • @reeanimationgaming1034
      @reeanimationgaming1034  29 дней назад +2

      @@Velgan83 Thanks man. Appreciate the kind words 🙂❤️

    • @Velgan83
      @Velgan83 29 дней назад +1

      @@reeanimationgaming1034 You're welcome bro! That's the least I can do🙂🖤

  • @Tata-v5n
    @Tata-v5n Месяц назад +1

    hello, thank you, it’s really great! I'm French, but the tutorial is so good that I prefer this one with the subtitles than another 👍

  • @alphamineron
    @alphamineron 3 месяца назад +4

    Jesus, I was literally on a hunt for this topic for a few weeks now! Can’t believe this came out at such a perfect time! ❤

  • @ayron419
    @ayron419 2 месяца назад +2

    Ive been researching different methods of procedural generation and find this video very helpful. Thank you!

  • @itztomioka_
    @itztomioka_ Месяц назад +2

    You are THE GOAT, I've been trying to do this for 2 months straight and you are the only one on this platform who made a good and actually enjoyable tutorial to watch and follow, huge W man keep it up 🔥🔥

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад +2

      @@itztomioka_ Thanks for the kind words man. I really appreciate it 🙂❤️

    • @itztomioka_
      @itztomioka_ Месяц назад +2

      @@reeanimationgaming1034 Just finished my dungeon, just got 1 question, is there a way to block off the master room entrance without messing up the other rooms? Or, if that isn't possible, a way to check if the player went through that idk.

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад +2

      @@itztomioka_ not sure what you mean by block off

    • @itztomioka_
      @itztomioka_ Месяц назад +2

      @@reeanimationgaming1034 You know, the master room as 3 exits and 1 entrance, since only the unused exits are sealed the entrance will not be sealed by a wall so the player can go through it and fall out of the map. But I fixed it, just put a wall (in the world map not the blueprint) where the master room spawns (since it always spawns in the same direction I can put a wall where I know the entrance will spawn) and now it works fine

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад +2

      @@itztomioka_ I would make a “start room” and spawn that as the first room, and not the master room itself.

  • @nogabss410
    @nogabss410 3 месяца назад +2

    Man, i can't thank you enough, i was looking for something like this for months, im studying Digital Games in my College and i was looking for a way to do procedural dungeons/labyrinth, thank you : D

  • @StephenHermer
    @StephenHermer 2 месяца назад +1

    This is probably the most useful tutorial I have seen on RUclips. Thank you!

  • @bernard6359
    @bernard6359 4 дня назад +1

    Thank you very much for that tutotrial, i never find a tutorial for that and i really appreciate as a beginner in unreal engine. Also your "mistakes" help me to understand better some functionnalities, so a chance we make mistakes.

  • @ripsy
    @ripsy 3 месяца назад +6

    Part 2, yes please =D

  • @BooneyTune
    @BooneyTune 3 месяца назад +3

    Fantastic! Thanks for putting in the work to share this with us

  • @Nkrasart
    @Nkrasart 3 месяца назад +3

    Awesome! Would love to see more stuff like that

  • @Ashimoido
    @Ashimoido 2 месяца назад +1

    This was exactly what I needed and the pacing was perfect for a beginner like me. Thank you for this!

  • @HmmIndeedQuite
    @HmmIndeedQuite Месяц назад +1

    Great tutorial, helped a lot, it was also nice how you actually explained what was going on unlike most tutorials.

  • @PhoenixArtistIvan
    @PhoenixArtistIvan 3 месяца назад +2

    Smashed that subscribe & like button faster than the speed of light.
    Just in time I needed a tutorial for my game. Thank you.

  • @Rezinoc
    @Rezinoc 2 месяца назад +1

    I don't ever comment on youtube videos but I have to on this one. This is an amazing tutorial and I greatly appreciate the time and effort that you put into making the video.

  • @eliottsmallwood2140
    @eliottsmallwood2140 21 день назад +1

    insanely good video

  • @Micaniker
    @Micaniker 27 дней назад +1

    Bro in the beginning you said you dont know how to do tutorials but for real with no fake talk or anything your tutorial style is entertaing and its just _AWESOME_😂😊 and knowledgeable i learned alot from you not only about building a room generator but in general using ue blueprints. Thank you and please keep it that way it is better to watch something not "perfect" than perfect "with no mistakes".

    • @reeanimationgaming1034
      @reeanimationgaming1034  27 дней назад

      @@Micaniker Thanks man! I really appreciate the kind words 🙏
      It encourages me to make more tutorials 🙂
      Thanks for the feedback, I’m happy you like it ❤️✊

  • @forfanw1ososbie990
    @forfanw1ososbie990 3 месяца назад +2

    Finally! i was looking for something like this for ages

  • @reiiigns
    @reiiigns 3 месяца назад +2

    super clear and concise! I followed this pretty easily and I don't know UE that well. looking forward to pt.2 with multi-levels

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Thanks.. I find it a little odd that people are requesting multiple levels. As you can basically just make a room with two floors, and then just set the new exit point on the second floor. And it should just work 🙂
      But.. It’s on my part 2 to-do-list 👍

    • @reiiigns
      @reiiigns 3 месяца назад +2

      @@reeanimationgaming1034 I was actually just thinking that as I was falling asleep. I'm going to experiment with it today. It should work perfectly fine as you've suggested

  • @andy0x58
    @andy0x58 Месяц назад +1

    Hi! Cool tutorial! It is no needed to Spawn-Destroy every time on checking on overlap, I think that is expensive. Instead Arrows you can use a Struct of a little coliision boxs and respective arrows, and after spawning an every next room you could check on overlap of littile box collision with adjacent room and remove that Struct from Exit List. Regards, Andrew!

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад +2

      I think I know what you mean. And I DO need to find a better solution to this problem, thanks 🙂

    • @andy0x58
      @andy0x58 Месяц назад +1

      Ideally it can be made from math of graphs, but I'm very lazy for learn it 😆

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад

      @@andy0x58 😁 Join the club

  • @stevenhalliwell1229
    @stevenhalliwell1229 2 месяца назад +1

    This is awesome. I know you find tutorials hard, but the way you do them 'warts n all' is the besy way. Kinda shows that it's okay to make mistakes and this is how you then fix them :) Keep up the good work.

  • @BoodleBops
    @BoodleBops 2 месяца назад +1

    loved watching you figure out how to do it as you made the tutorial, lol. Your tutorial was awesome, and got me right where I need to be!

  • @CrimsongCatDev
    @CrimsongCatDev 3 месяца назад +3

    Great video!
    I would love to see this things if you plan to expand on this tutorial:
    - A Boss Room that spawns at the end (like before the closing walls Event)
    - Some way to avoid the same room spawn 2 o 3 times in a row (I mean 2 its fine, but 3 feels more repetitive)
    - Maybe an Event for "Unique Rooms" so it spawns one of them always in a Dungeon (Like a Chest Room, Healing Room or a Secret Room)
    Also Changes I made:
    - A Custom Start Room: Just made a smaller room similiar to the first one and replaced it in the Start Event.
    - Rooms with multiple floors: Just Made the walls higher, duplicated the floor (plus added some ramps) and moved the arrows to the elevated exits. Also made the Overlap box height like the height of the walls minus 1.

    • @CrimsongCatDev
      @CrimsongCatDev 3 месяца назад +1

      Well I solved the Boss Room, heres how:
      - Made a Spawn Boss Room Event
      - This works similar to Spawn Room Event (the first nodes until "Set Latest Spawned Room" and the Object Class is the Boss Room instead of Random) but with a "Check Boss Overlap Event at the end"
      - Check Boss Overlap works like the Normal Overlap but replacing the Spawn Next Room with Spawn Boss Room and deleting the Room Amount stuff
      - In the end of this Event i put the Holes Event and the Dungeon Completed Stuff
      - Finally in the Check for Overlap Event, after Room Amount > 0, I put the Spawn Boss Room Event
      This might work for Unique Rooms aswell

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      Your changes are great 🙂👍 the multi floor solution is exactly how I would do it too..
      Special rooms I have put on my part 2 to-do-list 👍
      Same rooms spawning is something I’m not sure I can find a solution for. Other than removing used rooms from the list.. But I’m not sure that is the best solution, because some room would be fine to spawn multiple times.

    • @CrimsongCatDev
      @CrimsongCatDev 3 месяца назад +3

      @@reeanimationgaming1034 Yeah its a bit complex but I thought something like:
      - A variable of Room that stores the Type of room spawned
      - A boolean that checks if Last Room Spawned is equal to the Room Type stored
      - An Int that increments when the same room spawns
      - If Int > 2 remove the room and try again
      - If the´re not the same, spawn that room and reset the variables
      I have to try it, so I´ll update this comment if succedeed

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      @@CrimsongCatDev Yeah, it does require some more stuff in the rooms them selves if you want to categorize them in some way

    • @IcarusTheEagle
      @IcarusTheEagle 5 дней назад

      @@CrimsongCatDev Did it succeed?

  • @Euenise
    @Euenise 2 месяца назад +1

    big help, couldn't find any tutorial that actually helped

  • @_NoxStrix_
    @_NoxStrix_ Месяц назад +1

    Cup of coffee and some popcorn?! 😂

  • @t3hpwninat0r
    @t3hpwninat0r 2 месяца назад +1

    i did a similar thing with branching paths to look like slay the spire maps and it was a real pain the butt but i got it to work. your use of arrows is super clever and i wish i had thought of that. i'm definitely going to use this tutorial for a new little dungeon looting game. thank you! :D

  • @ThePOD3
    @ThePOD3 3 месяца назад +2

    Loved it, thank you!

  • @vadymrekun4574
    @vadymrekun4574 2 месяца назад +1

    Nice and informative video, was very helpful for me.

  • @Hello-cq6re
    @Hello-cq6re 3 месяца назад +2

    Thank you so much for this tutorial, It is very useful and I can't wait for the second part!!

  • @lucasribeiro3292
    @lucasribeiro3292 3 месяца назад +2

    Amazing tutorial !
    Thanks man, part 2 would be cool.

  • @RoboPike
    @RoboPike 3 месяца назад +2

    Was also looking for this like others, thank you

  • @yanhu
    @yanhu 3 месяца назад +2

    That is exactly what I wanted, Great work, and Thank you!

  • @sami444L
    @sami444L 3 месяца назад +2

    Thanks for this because i was following some outdated tutorials

  • @uber3del
    @uber3del Месяц назад +1

    This was so useful. Thanks for the effort. I think you really explained everything you did very well. ❤

  • @collider4378
    @collider4378 3 месяца назад +2

    Thanks for this, great to see the thought process. I had been working on exactly this, just a nice simple room based implementation that I can build on. Some of the tile based versions out there are cool, but too much for my needs. Like you, I prefer understanding the code I'm working on and experimenting to see what works. Btw, this is the first I've heard of your channel and game, glad I found it. Gorm looks absolutely beautiful, you've put your heart into it. I'll be following along, looking forward to seeing how it ends up!

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +3

      Thanks man! Appreciate you dropping by and staying around 🙂🙏❤️

  • @HutchstarEnt
    @HutchstarEnt 2 месяца назад +1

    Really Excellent tutorial, really helped seeing all the steps.

  • @wolfsblessing
    @wolfsblessing 3 месяца назад +2

    I don't sub. to any channel but, this time I was so freaking happy to sub to anyone. If I could, i'd sub more times, but won't allow it. Thanks a ton for this tutorial. It's perfect.

  • @khrissxander
    @khrissxander 2 месяца назад +1

    Simply Amazing my Guy!!! More like this!!

  • @Tata-v4n
    @Tata-v4n Месяц назад

    I just finished following your tutorial, thank you again, it's really great that you took the time to explain in detail and show how you solve the different problems, I appreciated your calm and ingenuity! Almost everything works, just the part to close the holes I had a little problem, the walls are never placed as they should, but I'm going to find out why

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад +1

      @@Tata-v4n Thanks man. Yeah, some people have problems with the hole part 😔
      I hope you figure it out, and cross my fingers that it’s not a mistake in the tutorial 🤞

  • @Mathieu-ov6li
    @Mathieu-ov6li 27 дней назад +1

    Thank you so much, the video is super helpful !

  • @vandercomics
    @vandercomics 2 месяца назад +1

    I love you for making this! I have been looking for sooo long!

  • @koreymartin2732
    @koreymartin2732 3 месяца назад +2

    The only thing I would change is rather than having the reset be based on time, I would have it get the number of rooms and check if the number of rooms created is greater than last time (set to zero at the first time the timer runs.).If it is greater than the last timer run then store the current number. If it isn't greater and dungeon complete is false then call the restart level.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      But that would mean that it would reset every time a room fails… Right?

  • @austinscottful
    @austinscottful 3 месяца назад +2

    Great Video! Thank you for creating this. Very easy to follow even for noobs.

  • @viniguerrero
    @viniguerrero 3 месяца назад +2

    Awesome content, already subscribed! 😄

  • @Deamonboy
    @Deamonboy 2 месяца назад +1

    This was a very clear, very well done Tutorial, great for beginners that want to do stuff. 10/10 would definitly reccomend! (als the fact you left your mistakes in, and showed how you solved them is very very usefull for people, so double bonus points on that! ). Most tutorials on this subject use very complicated stuff, and you just Kept it simple.

  • @yellowflash5838
    @yellowflash5838 2 месяца назад +1

    31:28 perhaps before the split, the transform input is taken as null and after the split, it is defaulted to...default values

  • @sylvaindelaine
    @sylvaindelaine 3 месяца назад +2

    Thanks for this tutorial. Keep going you do it well ! Best

  • @the-green-fox
    @the-green-fox 3 месяца назад +1

    I like what you i've done. i've never touch unreal untill today. i had a lot of fun following along

  • @Szefittooo
    @Szefittooo 3 месяца назад +2

    Insane work my man, keep it up

  • @martineugenionunellrey7924
    @martineugenionunellrey7924 2 месяца назад +1

    Very nice totorial, I´ve found it very useful!
    I wouldn´t use timers to check for a closed dungeon but eliminating exits after an overlap and checking for exits > 0 before placing the next room.
    Also, overlapping seems not as the best way to make this, as it is easy for begginers to understand, but it´s really resourse inneficcient, I would use some logic check with a 2 dimension array (or 3 for a pro dungeon with different levels) to check for overlapping without generating anything so it doesn´t take so many resourses generating, colliding, eliminating.

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +1

      Thanks. Yes agree with the overlap thing.. Should perhaps just spawn the overlap box alone to check, and not the entire room.. Or something completely different..

  • @Alternatywny_1
    @Alternatywny_1 3 месяца назад +1

    Thank you for this guide. I plan to enhance these dungeons a bit by adding additional layers :>

  • @marcelosegovia6863
    @marcelosegovia6863 2 месяца назад +3

    Thanks!

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +4

      Wow man!! Thanks! My first super thanks donation. This is epic dude. I appreciate it SO much 🙏❤️
      What a great day thanks to you 🙂✊

  • @WilbertLensen
    @WilbertLensen 3 месяца назад +1

    Great as Always Ronnie.

  • @lazarobenitez4206
    @lazarobenitez4206 2 месяца назад +1

    37:30 my room keeps growing to twice the size of my other room
    But other than that witch i fixed by only putting in world location and rotation. AWESOME Video.
    Taught me everything i wanted to know cant wait to start part 2.
    Hopping in part 2 that he tells me how to Always have rooms at the end of hallways.

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +3

      It’s because your exit arrows are scaled up

    • @lazarobenitez4206
      @lazarobenitez4206 2 месяца назад +1

      @@reeanimationgaming1034 thank you man. ima go fix it now.
      Does part 2 cover how to always add rooms to hallways?

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +2

      @@lazarobenitez4206 no, unfortunately not.

  • @NicoleSummer8
    @NicoleSummer8 2 месяца назад +1

    So cool and thanks so much for!

  • @ShadowHawk69420
    @ShadowHawk69420 2 месяца назад +1

    Amazing tutorial

  • @deko_servidoni
    @deko_servidoni 2 месяца назад +1

    Great video!

  • @darkestdaysvideogame
    @darkestdaysvideogame 3 месяца назад +1

    I was doing something like this for my game, but problem from design perspective is that you still want some control over your layout especially if you need certain things to actually appear, not too far not to close from spawn point so I decided to keep layout mostly the same but randomly generate things inside the room. But I believe you can create some integer to count the amount of rooms that spawned and after that to spawn the specific room you need. Also look into hiding rooms(actors) that are for example of 20k units from the player so it doesn't lag the game. Those additions could make for a good part 2 for people using your system.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      Good suggestions.. But doesn’t unreal hide geometry outside of the camera view automatically?

    • @darkestdaysvideogame
      @darkestdaysvideogame 3 месяца назад +1

      @@reeanimationgaming1034 I believe it does (not sure for nanite meshes), though I'm not sure if said actors stay in memory, if you were for example to generate to infinity (in the direction that player is moving).

  • @WildebeestLabs
    @WildebeestLabs 3 месяца назад +1

    This is fantastic. Subbed and looking forward to more for sure. Great work man! :)

  • @mfat_1090
    @mfat_1090 2 месяца назад +1

    This is fantastic!!!

  • @Monokirb
    @Monokirb 3 месяца назад +2

    Thank you soooo much ! I'm waiting for a part 2 ;)

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Oh man.. It feels like I have to do a part 2 now 😁 Tutorials are hard. I envy those people who make these fancy nicely edited tutorials

    • @Monokirb
      @Monokirb 3 месяца назад +2

      @@reeanimationgaming1034 Personally, I actually prefer your natural approach to the subject ! You don't go too fast, and we can follow the tutorial without going back many times 😆

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      @@Monokirb even though the tutorial is 10 times longer than a good produced one?

    • @Monokirb
      @Monokirb 3 месяца назад +2

      @@reeanimationgaming1034 Well we can also see the potential errors and how correct them, which helps us understand the code, whereas in an edited tutorial, of course the video is shorter, but the errors are not shown, so we copy the code without understanding how it works

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      @@Monokirb makes sense 🙂👍

  • @MrPangahas
    @MrPangahas 3 месяца назад +3

    would be cool to expand it to like multistory,in part 2 maybe?great video

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +3

      Thanks 🙂
      Would be fairly easy to do. Just make a room with stairs and make sure that room has exits to spawn new rooms from 🙂

    • @MrPangahas
      @MrPangahas 3 месяца назад +1

      @@reeanimationgaming1034 right,i forgot they adjust their loc and rotation dynamically in relation to the exit point so it could work.Just need them to have flat roof each.Having angled roof would be tricky though and might be too complicated for me atm.Anyway,thanks and Id look into integrating this into my randomized level system.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      @@MrPangahas yeah, you can’t really have taller rooms then. Unless you make the stair go up a few extra room hights

  • @Sworn973
    @Sworn973 3 месяца назад +2

    That is gold right there, at the very begining you already went over most questions I had, I was wondering if you were going to make the second part, like having door lockeds, some kind of path tracing, and most important, how to preserve it in the save game, so you can load it back.
    I mean, like any basic dungeon game where you can't continuing without a key or press a button, those logics are quite hard to prevent a dead lock or impossible to complete dungeon
    And it is nice to see the strugle as we usually end up in similar places ourselvs

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Thing is. I’m still learning all this myself. And I’m still fumbling around and doing things wrong all the time. It was only because I got this to work so well that I decided to make a video on it.
      Some thing I can’t do is like making sure that we have a “main path” through the dungeon, or divide it up in sections for example.. I mean, it could be nice to have the dungeon in 3 parts with a locked door in between each section right.. Haven’t tried that out yet.
      In my own dungeon I’m using stream (seed), so you can get the same dungeon everytime. Which you need for save game and things like that. But I cut that part out to keep it more simple for the viewers here.
      I could add that in part 2, so you can set a seed for the dungeon.
      Thanks for watching 🙂❤️

    • @Sworn973
      @Sworn973 3 месяца назад +2

      @@reeanimationgaming1034 yah please do, like seeding it and some how persisting it, that already inspired me to try some stuff now.
      Also if you make a video about what you are trying to do now even though it doesn't work yet, I am sure we will find more people with ideas to make it work

    • @MrPangahas
      @MrPangahas 3 месяца назад +2

      @@reeanimationgaming1034 looking forward to part two,that seed system would be very helpful when you want to try out the same layout.Also just an idea,can you have like collision boxes in the master around the main room.Like a perimeter to direct where the next rooms can be spawned,basically they cant spawn outside that perimeter,would something like that work?

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      @@MrPangahas I am not sure what you mean here 😬

    • @MrPangahas
      @MrPangahas 3 месяца назад +1

      @@reeanimationgaming1034 we have the starting room,and the next rooms are spawned in random directions in the orientation of the exit points.Since its random,they spawn whichever way and you have collision check so they dont spawn on top of each other.Imagine a fence built around the starting room,basically collision boxes around it,if we do collision check against those so the next rooms cant spawn outside it.Basically I want a controlled way to determine the area the rooms can only be spawned at.

  • @mikedolan03
    @mikedolan03 3 месяца назад +1

    perhaps instead of a timer or in addition - you could make an event that detects overlaps on the exit arrows - if they are colliding with something new - the removed themselves from the list of exits. this would prevent it from looping over a bunch of exits that dont exist. and then eventualy the exit list will reflect the real amount of exits and if you detect the list is 0 length you can declare the dungeon failed and regenerate a new one

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Yeah. There’re probably many ways to solve this. It’s hard stuff for my brain to understand

    • @mikedolan03
      @mikedolan03 2 месяца назад

      @@reeanimationgaming1034 i demoed a little of the version i created based on your video on my channel this morning ruclips.net/video/a7WokutF7YU/видео.html

  • @texmo1
    @texmo1 3 месяца назад +1

    Great tutorial! Thanks for sharing

  • @pabloferro2872
    @pabloferro2872 3 месяца назад +2

    Thank you for the tutorial

  • @mavencore3557
    @mavencore3557 3 месяца назад +1

    I made something similar to this in the past then accidentally deleted it... Good to have some reference if I needed to remake it.

  • @GLADlATHOR
    @GLADlATHOR 3 месяца назад +2

    Incredible, thx a lot

  • @CrisisDispenser
    @CrisisDispenser 3 месяца назад +4

    Omfg, for so long I was wondering how they get those soft ambient lighting in interiors! It just felt like UE isn’t built for that! All I needed was to turn off Realtime Capture. Ffs.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Yeah, I don’t understand why the start templates are not better than this.. they could easily spend just a little more time and make them look awesome.. oh well 🤷

    • @deliciousagony
      @deliciousagony 2 месяца назад +1

      Same here! After 5 minutes I already opened an other project to fix this 🙂

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +1

      @@deliciousagony Hehe. Great 🙂✊

  • @thelionszen3352
    @thelionszen3352 3 месяца назад +2

    2.6k views in 1 day.
    its safe to say this video is a hit!

  • @Finneganmac
    @Finneganmac 13 дней назад +1

    This tutorial is amazing! I didnt follow along step by step but I sampled your solution for the exits by making a list of all available options and its working great for me. I have a question though, would it be possible to have a set seed to re-produce specific dungeons? thank you!

    • @reeanimationgaming1034
      @reeanimationgaming1034  13 дней назад +2

      @@Finneganmac Thanks for the kind words 🙂
      Yes, I go over seeds in part 1 or 2 🙂

  • @badashphilosophy9533
    @badashphilosophy9533 3 месяца назад +1

    BROOoo! Great tutorial!!!!
    What a topic too and you explain it so well. im dling UE right now, never used it b4, but saw your vid come up just had to check it. it reminded me of diablo 2. random maps is why people are still playing it now maybe 20 years later even on single player. id def like a way to put in special rooms and unique rooms thrown in at random too and how to maybe make the rooms more of an organic shape coz out door above dungeons would be cool like in n64 where rthe edge of the map is just mounds with plants on them. Super keen for pt 2 3 4 5 6... etc lol. i want to see what else we can do with this. thanks a lot for making this im glad i came across it and will be looking out for more of your videos. ty again for all the time u took to make this for us, it will save a lot of people a lot of hours especially noobs like me
    btw is there a way to copy and share these little nodes in your workspace to save even more time? beginning with the barebones would be great and then we can spend more time on making it look pretty

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Thanks for the kind words. I really appreciate it 🙏❤️
      Copy and share notes in the workspace? I don’t know what you mean by that. Sorry 😬

    • @badashphilosophy9533
      @badashphilosophy9533 3 месяца назад +1

      @@reeanimationgaming1034to clarify, i meant you took an hour or so to make all those blueprints do the cool randomiser thing, then if all your fans started where u left off they could spend more time adding advanced features or stylization built on the pillars of what uve left them. Is that possible to do, share the blueprints? Unreal engine open source could or would lead to some much beastier game builds if people can skip steps and build off impressively done foundations

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      @@badashphilosophy9533 Well, that is two different things, right?
      Tutorials are for people who want to learn. Giving stuff away is for the marked place.
      Spending time on making things to give them away for free, does not sound very appealing to me 🤷

    • @badashphilosophy9533
      @badashphilosophy9533 3 месяца назад +1

      @@reeanimationgaming1034 i hear you. so it is possible to for those who want to? thats what i was curious about, i am brand new to all of this your video was the first or second video ive watched on unreal engine and am just glad i came across it

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      @@badashphilosophy9533 🙂

  • @groadybones
    @groadybones Месяц назад +1

    That was a good tutorial. You've given me a great starting point for my own project's dungeon. One thing, the timer at the end didn't help me deal with UE5's infinite loop detection. No matter how I tweak the values, and even if I change the project settings, it will still occasionally throw errors.

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад +1

      @@groadybones thanks man 🙂
      That is odd with the timer thing. It also might not be the best solution in the world. Are you sure the timer is running at all?

    • @groadybones
      @groadybones Месяц назад +1

      @@reeanimationgaming1034 Wow! You're even responsive in the comments!
      I'm certain that the timer is running. What version of UE5 did you make this tutorial with?

    • @reeanimationgaming1034
      @reeanimationgaming1034  Месяц назад

      @@groadybones Not sure. 5.1 or 5.2 I think.
      As long as my channel is not bigger, and can still keep up with the comments 🙂

    • @groadybones
      @groadybones Месяц назад

      ​@@reeanimationgaming1034 I'm curious if you help me with an adaptation to this procedural dungeon.
      I would like to make it so that the room list is specific to the room that was previously placed. So when a large room is placed, I want the subsequent room to be one of my hallways, but after a hallway is placed, I want the subsequent room to be a large room. I just don't have the background knowledge to decide on a proper approach beforehand, but here's what I'm thinking to start:
      In the blueprint of each room, I add a component that is a list of viable rooms after that room is placed. Then, in the dungeon gen blueprint, instead of just pulling a random room from the giant list of rooms, I would get the component that contains the list of room options, pass that into the blueprint and randomly select from that instead. But I think if I take this approach, I would either need to tweak the way we're choosing which exit we're placing the next room on, or I would need to add steps to figure out what type of room the exit we've selected belongs to.
      What do you think?

    • @groadybones
      @groadybones Месяц назад +1

      @@reeanimationgaming1034 I've figured out that by setting a counter for the number of room placement attempts, and having that be what triggers the new dungeon generation attempt makes it so that an infinite loop is entirely impossible, so there's no way to trigger the infinite loop detected error. This can be done very similar to the way we have a counter set up to count the number of rooms. I did all the work for this in the CheckForOverlaps event. Decrement when we fail a placement and have to delete the actor, and reset whenever we successfully place a room.

  • @GES1985
    @GES1985 9 дней назад +1

    I need something like this that works with the voxel plugin in an open world. (Seed based random world like minecraft)

  • @EagleTopGaming
    @EagleTopGaming 3 месяца назад +4

    4:40 Set the OverlapBox to have an extent of 50,50,50 versus the default of 32,32,32 and they will match.
    EDIT: Best to set it a hair smaller actually. Like 49,49,49. Otherwise you will get an infinite loop because the valid next room will count as overlapping.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +2

      Haha. Thanks 🙂 I’m an idiot at things like that.. Just doesn’t make a lot of sense to me 😬

    • @EagleTopGaming
      @EagleTopGaming 3 месяца назад +2

      @@reeanimationgaming1034 Completely understandable. I feel like my brain turns off when I go to record tutorials.
      Loving what I have seen so far as I follow along.

    • @zlatty88
      @zlatty88 3 месяца назад +2

      I'm glad you said it I was going to. Collision boxes/spheres go by radius not diameter so yeah I had the same solution.

    • @reeanimationgaming1034
      @reeanimationgaming1034  3 месяца назад +1

      @@EagleTopGaming thanks 🙂
      Yeah, I feel the same, brain turns off 😁

  • @TheJMBon
    @TheJMBon 26 дней назад +1

    1:37:50 I would not use a timer for this. On older or slower systems, this timer might cause an infinite loop or creating and destroying dungeons because the host computer is slow. If it were me, if there were no more room exits in the array, I'd have the script exit and call the dungeon complete...or, select the last room placed, delete it and place another that has more exits. Any sort of timer in procedural generation is a REALLY BAD IDEA from a host hardware pov. Especially when you start adding lots of meshes and the vertex count rapidly increases.

    • @reeanimationgaming1034
      @reeanimationgaming1034  26 дней назад +2

      @@TheJMBon Alright, didn’t know that 😮
      I honestly don’t know a lot about good practices in Unreal, and I probably shouldn’t be teaching anyone anything.. But most people are learning something from this, so I consider that a win. Despite the issues the system have 🙂

    • @TheJMBon
      @TheJMBon 25 дней назад +1

      @@reeanimationgaming1034 No, you're doing great. Your video is really the first one that I've seen do proc dungeon generation from end to end. It's really good and don't let anyone tell you otherwise. I've been making games for just 2 years in UE (but have done c++ software dev controlling hardware for 16 years) and you're doing fine. I'd have no issues teaming up with you to make a game.

    • @reeanimationgaming1034
      @reeanimationgaming1034  25 дней назад

      @@TheJMBon interesting 🙂
      Please join my discord.. I might be asking for a programmer in the future ✊

  • @zerobadideas
    @zerobadideas 2 месяца назад

    I like this a lot, it's so logical and makes so much sense. I have no use for it, but my mind is racing to come up with ideas to distract me from the two projects I'm already distracted enough from lol
    I just gotta ask, why would you need to clear the overlapped rooms array on the false side of the branch? That makes the logic say "if the array is not empty, clear it. Otherwise, the array is empty, so clear it." It's already empty, I can't imagine a reason you would need to clear an array you have already established is definitely empty.

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад

      I don’t know 😁 Just to make sure?
      This is not a perfect solution at all, I’m well aware of that. But it’s a great start to get people started, and improve things on their own 🙂

  • @iAnony
    @iAnony 3 месяца назад +2

    bro holy sh* thank you!

  • @CoopTv_YouTube
    @CoopTv_YouTube 2 месяца назад +1

    I have a question, when I duplicate DungeonRoom 1 to create another room I can't delete the arrows (point 01:12:35). This is because it is related to the Master Room. What can I do?
    Great video anyway really excellent work, thank you so much my friend

    • @CoopTv_YouTube
      @CoopTv_YouTube 2 месяца назад +1

      I have another problem. although I put more rooms in the list of rooms, only 2 or 4 appear (I set the amount of rooms equal to 30)
      ps: I apologize but your tutorial is the only one that seems to work and you explain each step very well, so I want to ask you how to do it

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад

      @@CoopTv_RUclips don’t put any exit arrow in the master room. Put them in the child instead

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад

      @@CoopTv_RUclips not sure about this problem.. You sure you have done the same as I do in the video?

    • @CoopTv_YouTube
      @CoopTv_YouTube 2 месяца назад +1

      @@reeanimationgaming1034 Thank you very much, I managed to solve the problem I made the changes to Dungeon Room 1 by eliminating the arrows from the Master Room and at that point everything worked correctly. Thanks again and great work, I signed up and will gladly follow other tutorials if you want to publish them

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад

      @@CoopTv_RUclips That is great 🙂
      I will try and do more tutorials. 🙂

  • @md_dorion
    @md_dorion 2 дня назад +1

    For anyone here who may know, do the room sizes have to be the same size or can you use different room sizes based on room selection? E.g. master room collision is 30x30, can you create rooms with collision size 50x50?

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 дня назад +2

      @@md_dorion you can make rooms exacly how you want. I go into that in later videos.
      Just make sure the collision is covering the whole room

  • @oldclips_edits
    @oldclips_edits 2 месяца назад +2

    i spent a good 30 minutes trying to fix that collision bug. turns out for me it was that the selected exit was uneditable by default🤦‍♂

    • @reeanimationgaming1034
      @reeanimationgaming1034  2 месяца назад +2

      What do you mean uneditable?

    • @oldclips_edits
      @oldclips_edits 2 месяца назад +2

      @@reeanimationgaming1034 there is a checkbox for variable whether they can be changed or not