Announcement

Collapse
No announcement yet.

Randomized Dungeon System

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Randomized Dungeon System

    EDIT 2: Completely new version: https://forums.unrealengine.com/community/released-projects/1502969-dungeon-generator



    DOWNLOAD

    EDIT: Link finally fixed, but some months after creating this, I noticed there are still some issues left that I can't fix. I recommend not to use it!

    Features:
    - Easy "Designer" included to turn your static meshes into tiles.
    - As many connection types between two tiles possible as enumerations allow (256 if I remember correctly).
    - As many blueprint types to spawn on your tiles (lights, pickups, chests, ...) as enumerations allow.
    - Rarity from 1 to 20 assigned to your tiles to make some tiles appear less often.
    - The amount of tiles spawned is only limited by your hardware (tested with amounts from 100 to 10000 tiles).
    - Create as many different tiles as you want/need.
    - If "Calculate nav mesh at runtime" is enabled in the project settings, a working nav mesh is built.
    - The system allows a single exit to be spawned somewhere at the outside of the dungeon.

    Limitations:
    - Singleplayer only
    - Generation at runtime only
    - No seeds for generation possible
    - Transform for tiles doesn't include scale otherwise there will be problems with the collision

    Pictures:
    The designer and it's settings:

    The blue and red spheres are markers to define blueprint points (lights and stuff) as well as connections to other tiles.

    The settings of the "master" that defines the start location:


    A small dungeon with 100 tiles:


    A huge dungeon with 2000 tiles:


    Of course the assets used above are just for testing/displaying the system. Here is a screenshot with more refined assets:


    Feel free to post a link to your project in here, I'd really like to see this system in action!
    Last edited by DasMatze; 07-17-2018, 03:33 PM.

    #2
    wow, i need this!
    Website:www.phantomisreal.com
    Youtube: https://www.youtube.com/channel/UC0J...teUGFLma3dgljQ
    Twitter: https://twitter.com/Phantomisreal
    Steam: http://store.steampowered.com/app/578800
    Instagram: https://www.instagram.com/phantomisreal

    Comment


      #3
      Hi DasMatze,

      Very Nice. I'm curious as to what algorithm you elected to use as I've written a few Dungeon Algos in UDK. There are few other Dungeon Generators in the works. I intend to create a Blueprints-based Labyrinth Generator with a custom occlusion system to support massive mazes.

      I'd suggest offering the core BP Dungeon System for free (perhaps even open source it for continuous improvement) with a few Free Tiles to encourage its use. Then follow up with submissions of various polished Tile Assets & Accessories to the marketplace specifically for the system. Even if Game Devs don't use the generator, dungeons can be assembled manually from assets.
      GOD of DREAMs: A Unique FTPS/RPG Sandbox MMO

      Comment


        #4
        Originally posted by TechLord View Post
        I'm curious as to what algorithm you elected to use as
        It's pretty straight forward and nothing fancy. It simply spawns a new tile at each tile's connection point, places a dead end mesh when there is no possible tile, stops spawning tiles when the desired amount is met and deletes dead ends on the same spot to enable loops. But there was a lot of testing involved when it comes to bypassing the "infinte loope detected" message and setting up delays right.

        Originally posted by TechLord View Post
        I'd suggest offering the core BP Dungeon System for free
        Since I'm a horrible artist, I'd like to make a few bucks with this rather than with assets but I think I'm forced to give it away for free because I have no clue about the required tax information.

        Comment


          #5
          Looks good though - nice job.

          Comment


            #6
            Oh my god. I hate you. This brings back bad memories of The Elder Scrolls: Daggerfall. Very good work man

            Necro's Bone Box, Necro's Utility Material Pack, Necro's Utility Material Pack #2, Necro's Rock Box, Necro's Tool Box on the UE4 Marketplace.

            Comment


              #7
              Now with a video in the first post to show the setup process and the dungeon in action. I will soon submit this to the marketplace.

              Comment


                #8
                Impressive DasMatze. I can definitely see the potential of your Dungeon Designer. The sky is the limit with additional tile styles/themes (sci-fi, sewer, catacombs) and interactive prefabs such as Doors, Booby-Trap. I'm personally interested in tiles with very tall walls/high ceilings, narrow corridors, using mirrored and glass materials. I desire to spawn massive dungeons (upto 1000000 tiles) that take several hours to solve. I assume a custom occlusion method would be necessary for maximum performance. A means to Export/Import these works of art would also be useful.
                GOD of DREAMs: A Unique FTPS/RPG Sandbox MMO

                Comment


                  #9
                  I hope this gets through the Marketplace soon, it's perfect for the game I'm making.
                  Storyteller - An immersive VR audiobook player

                  Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                  Comment


                    #10
                    I desire to spawn massive dungeons (upto 1000000 tiles)
                    I just did some more tests and further improvements and I'm afraid this is impossible ... at least as long as there is the "infinite loop detected"-message. I made it possible for 4000 tiles but that's the limit I suppose. So I suggest to make tiles really big and unique or split up the dungeon across multiple levels or both.

                    Comment


                      #11
                      Nice work! Reminds me of Diablo n similar games.
                      Game Developer @ LODZERO - My Twitter | tomlooman.com UE4 samples & tutorials | C++ Survival Game (Open-Source)

                      Comment


                        #12
                        Originally posted by DasMatze View Post
                        I just did some more tests and further improvements and I'm afraid this is impossible ... at least as long as there is the "infinite loop detected"-message. I made it possible for 4000 tiles but that's the limit I suppose. So I suggest to make tiles really big and unique or split up the dungeon across multiple levels or both.
                        You can change the max loop count (how many loops before it gives the infinite loop error) in the project or editor settings (I forget which). Increasing it should allow you to increase the amount of time it can loop, and thus the tile count.
                        Storyteller - An immersive VR audiobook player

                        Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                        Comment


                          #13
                          Thanks, n00854180t! That of course changes a lot. Still I wouldn't pick too high numbers for your dungeon as 10,000 tiles need about 1 to 2 minutes to be spawned ... unless you want to wait more than 10 minutes.

                          10,000 tiles fill the whole screen by the way, even beyond the Far Z plane. But thanks to the engine's culling system, there is no noticeable FPS loss.

                          Comment


                            #14
                            I intend to offer the largest online dungeons in the world, I was being modest with 1000000 tiles . Thus, I'm actively seeking solutions to achieve loading and rendering performance (ie: Level Streaming). Using larger tiles is feasible, in fact, tiles could be mini dungeons themselves. Import/export options would add value. Its obvious you have something great here. Keep up the awesome work!
                            GOD of DREAMs: A Unique FTPS/RPG Sandbox MMO

                            Comment


                              #15
                              Originally posted by DasMatze View Post
                              Thanks, n00854180t! That of course changes a lot. Still I wouldn't pick too high numbers for your dungeon as 10,000 tiles need about 1 to 2 minutes to be spawned ... unless you want to wait more than 10 minutes.

                              10,000 tiles fill the whole screen by the way, even beyond the Far Z plane. But thanks to the engine's culling system, there is no noticeable FPS loss.
                              My suggestion is to not hardcode a limit, and let the loop count fail (in cases where too many tiles are requested), so that individual users of the dungeon system can decide how long the maximum generation time they're willing to have is going to be.

                              For my part, I'd probably just generate a lot of dungeons offline and then just package them up and choose one at runtime, so that I can have quick loading and huge dungeons.
                              Storyteller - An immersive VR audiobook player

                              Dungeon Survival - WIP First person dungeon crawler with a focus on survival and environmental gameplay ala roguelikes

                              Comment

                              Working...
                              X