Announcement

Collapse
No announcement yet.

Dungeon Architect

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

    The door should be the same size as the grid, larger doors are not supported
    Any chance you can add support for it? Eg. Door size could be more than grid size.
    How to create first person shooter game from scratch. Lots of tutorials: http://www.shootertutorial.com - celebrating 50th Tutorial!

    My Marketplace Assets

    Comment


      I have a problem with dungeon selector logic. I would like to do traces to determine the space between the dungeon and landscape however because the selector BP is not an actor child the trace functions are not available.

      Does anyone know how i can make the trace functions available in the selector BP?

      Comment


        Hi Ali.

        I currently use SnapBuilder level generation (as I have much more control over the rooms compared to gridbuilder - and I need this for a topdown view game).

        The level generation with the Blueprint version of SnapDungeonBuilder works ok and is fast, but I wonder if this is further in developement.
        The SnapBuilder version stitching rooms defined as levels does not work, is VERY slow and crashes unreal editor way too often!

        So will the blueprint version SnapDungeonBuilder be developed any further? I really need options for limiting rotation of rooms that I read about a year or so...
        Setting Side Branches > 0 does not work at all ... the rooms overlap all the time.
        And the SnapConnectors show the little red arrow not at the origin of the actor - I don't know why.

        Maybe you have time to respond to my questions.

        Thanks,
        Lars

        Comment


          Originally posted by Ali Akbar View Post

          Hevedy, do you mean something like this (attached)?

          Let me know what you'd like to see and I'll try to code a new builder



          I would love something like that in this, yes!
          Level Designer: Available for work if needed.

          http://www.grantegglestone.com

          Comment


            I pored through the engine code tried a few different approaches for the snap builder crash issues but I still seem to be doing something wrong :| It crashes due to a invalid memory reference while the engine tries to tick the level's callback function.

            I'll continue working on this and update tomorrow on the status
            Last edited by Ali Akbar; 01-24-2018, 12:18 PM.
            Dungeon Architect | Prefabricator

            Discord Support

            Comment


              Hi all, I'm trying to make a custom selector that detects if a wall has a halfwall under it, any ideas on how this could be accomplished?

              Comment


                Originally posted by Ali Akbar View Post
                I pored through the engine code tried a few different approaches for the snap builder crash issues but I still seem to be doing something wrong :| It crashes due to a invalid memory reference while the engine tries to tick the level's callback function.

                I'll continue working on this and update tomorrow on the status
                As I said ... the version using Blueprint as their "rooms" is working OK for me - no crashes and fast generation (compared to the level stiching version WAY faster).
                And the problem designing those Blueprint can be perfectly solved by using the Prefab addon from the Marketplace. You actually design the Blueprints in the level editor of Unreal - works good.

                But the DA side need some bugfixing and a little more features (as I described above).

                What's also needed is the ability to suppress some actor types from the Blueprints (if this is possible) and the ability to restrict some "rooms" to occur only once (or a definable amount) - no one want's 2 boss rooms of the same type in one level ;-)
                And rooms occurring in an exact order would be nice for gameplay, too.

                Thanks for working on it,
                Lars

                Comment


                  Originally posted by Konflict View Post

                  In Runtime/SceneProviderCommand.cpp at line 59 (before the SetMeshComponentAttributes call) just put this setting, which will enable for the non-instanced meshes to copy and use the collision settings from the Theme editor:
                  Code:
                  MeshComponent->bUseDefaultCollision = false;
                  This actually is a pretty cool feature, however the Instanced meshes will not follow this unfortunately. In the Runtime/DungeonInstancedMeshActor.cpp at around the line 58 (just after the SetStaticMesh() call) you can put these lines:

                  Code:
                  Component->bUseDefaultCollision = false;
                  UEngine::CopyPropertiesForUnrelatedObjects(Mesh->Template, Component);
                  This will enable for the instanced mesh components, that the collision profile (along with the rest of the mesh settings) to be inherited from the Template asset.

                  One note tho, that these mesh template settings you set up in the dungeon theme will not gets populated until you open up the theme asset in the editor before spawning the dungeon. This apparently is because the Runtime/DungeonMesh.cpp will initialize a default StaticMeshComponent for the Template property, and that will erase these settings. This only happens until you open the Theme Asset in the editor, when the proper Template settings gets populated, and from that point it will be accessible for the Dungeon to build the mesh with the chosen properties.

                  To overcome this issue; i have removed the initializations from the Runtime/DungeonMesh.cpp (just empty the constructor block). I have yet to found any problems with this modification. It makes me wonder why was the initialization neccessary for the DungeonMesh to create a new StaticMeshComponent in the first place?
                  Sorry for reviving this old response, first of all thank you very much to Konflict for his response, it completely fixed my reported bug.ali, did you found something wrong with this fixes? I'm asking because I plan to use this feature and it's not very usefull in it's broken state. I'd love it if this fix made it into the code so we don't have to keep track of fixes we make and merge every time a new update gets released.
                  Last edited by Ratamorph; 01-28-2018, 12:52 AM.

                  Comment


                    Originally posted by Laurentius View Post

                    As I said ... the version using Blueprint as their "rooms" is working OK for me - no crashes and fast generation (compared to the level stiching version WAY faster).
                    And the problem designing those Blueprint can be perfectly solved by using the Prefab addon from the Marketplace. You actually design the Blueprints in the level editor of Unreal - works good.

                    But the DA side need some bugfixing and a little more features (as I described above).

                    What's also needed is the ability to suppress some actor types from the Blueprints (if this is possible) and the ability to restrict some "rooms" to occur only once (or a definable amount) - no one want's 2 boss rooms of the same type in one level ;-)
                    And rooms occurring in an exact order would be nice for gameplay, too.

                    Thanks for working on it,
                    Lars
                    I'm also using the Blueprint version of Snap dungeon to great effect! Works really well for my game that needs some crazy types of room placement (very vertical gameplay that normal dungeons can't build.)

                    Lars - which Prefab addon are you talking about? Sounds helpful!

                    I concur with some features that would take Snap dungeon to the next level:
                    - a way to weight or limit rooms to avoid too many of the same (Lars, how I'm doing it is a Boss room would only be an End room in a level, so you'd only have one, or you build a level chunk that can turn itself into a non-boss room if one had already been spawned
                    - a way to prevent the same room from attaching multiple times in a row (sometimes I get the same room 3-4 times in a row and want to avoid that)

                    For my game, those two things and a general stability pass and I think SnapDungeon would be shippable! I wrote my own method of using HISMs with SnapDungeon and it works pretty well, but I guess HISM support would also help

                    Comment


                      https://www.unrealengine.com/ja/marketplace/prefab-tool

                      This plugin can be used very well to create and update the Blueprints ....


                      Comment


                        Just tried to add this to my new project and I get a crash instantly on the editor. The crash is related to some deep engine code with UI updates to the editor. It does not happen on a fresh new project, however we are using "gameAbilities" from the paragaon and fortnite system. Possible conflict there?



                        Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:\Build\++UE4+Release-4.18+Compile\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 610] Array index out of bounds: 3 from an array of size 1

                        UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:414]
                        UE4Editor_LevelEditor!SLevelEditor::RefreshEditorModeCommands() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:1334]
                        UE4Editor_LevelEditor!SLevelEditor::RestoreContentArea() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:1134]
                        UE4Editor_LevelEditor!SLevelEditor::Initialize() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:176]
                        UE4Editor_LevelEditor!FLevelEditorModule::SpawnLevelEditor() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\leveleditor.cpp:168]
                        UE4Editor_LevelEditor!TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>:perator()<FSpawnTabArgs const & __ptr64>() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:165]
                        UE4Editor_LevelEditor!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>,FSpawnTabArgs const & __pt() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\templates\tuple.h:497]
                        UE4Editor_LevelEditor!TBaseRawMethodDelegateInstance<0,FLevelEditorModule,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const & __ptr64)>::Execute() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:556]
                        UE4Editor_Slate!TBaseDelegate<TSharedRef<SDockTab,0>,FSpawnTabArgs const & __ptr64>::Execute() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:537]
                        UE4Editor_Slate!FTabManager::SpawnTab() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1414]
                        UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1273]
                        UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1388]
                        UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1357]
                        UE4Editor_Slate!FTabManager::RestoreArea() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1249]
                        UE4Editor_Slate!FTabManager::RestoreFrom() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:808]
                        UE4Editor_MainFrame!FMainFrameModule::CreateDefaultMainFrame() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\mainframe\private\mainframemodule.cpp:206]
                        UE4Editor_UnrealEd!EditorInit() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\unrealedglobals.cpp:124]
                        UE4Editor!GuardedMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\launch.cpp:150]
                        UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
                        UE4Editor!WinMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
                        UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
                        kernel32
                        ntdll"

                        Comment


                          Originally posted by Laurentius View Post

                          As I said ... the version using Blueprint as their "rooms" is working OK for me - no crashes and fast generation (compared to the level stiching version WAY faster).
                          And the problem designing those Blueprint can be perfectly solved by using the Prefab addon from the Marketplace. You actually design the Blueprints in the level editor of Unreal - works good.

                          But the DA side need some bugfixing and a little more features (as I described above).

                          What's also needed is the ability to suppress some actor types from the Blueprints (if this is possible) and the ability to restrict some "rooms" to occur only once (or a definable amount) - no one want's 2 boss rooms of the same type in one level ;-)
                          And rooms occurring in an exact order would be nice for gameplay, too.

                          Thanks for working on it,
                          Lars
                          Laurentius Lars, Thanks for the feedback. Earlier, I found designing in the blueprint editor to be a pain, but like you say, the Prefab tool seems to fix that. I'll try to support both by abstracting the module source (blueprint or level module)

                          Here are some of the Pros and Cons of each one:

                          Blueprint Based Snap builder
                          + Fast generation (in editor)
                          + Fast generation (at runtime)
                          + Stable (in editor)
                          + Stable (at runtime)

                          - No level streaming
                          - No lightmapping
                          - No BSP Brushes
                          - No foliage (BP doesn't support it)
                          - No vertex painting (?)


                          Level map based Snap Builder
                          - Slow generation (in editor)
                          + Fast generation (at runtime)
                          - Unstable (in editor)
                          + Stable (at runtime)
                          + Level streaming
                          + Lightmapping support
                          + Folliage support
                          + Vertex painting support
                          + BSP Brushes



                          Going with the level based modules has a lot of advantages, once the stability and build performance issues are sorted out. (especially the level streaming and lightmap support for VR and mobile)
                          Dungeon Architect | Prefabricator

                          Discord Support

                          Comment


                            Originally posted by Ratamorph View Post

                            Sorry for reviving this old response, first of all thank you very much to Konflict for his response, it completely fixed my reported bug.ali, did you found something wrong with this fixes? I'm asking because I plan to use this feature and it's not very usefull in it's broken state. I'd love it if this fix made it into the code so we don't have to keep track of fixes we make and merge every time a new update gets released.
                            Ratamorph Konflict I'll look into this
                            Dungeon Architect | Prefabricator

                            Discord Support

                            Comment


                              Originally posted by Sean Sanderson
                              Hi. Just a couple of things. DA crashes on my Mac running High Sierra, but is fine with Sierra. I have reverted to Sierra for the time being. When I use the "generate levels at runtime" code on my iPad project the meshes go a bit random. It seems the iPad can only place assets wth their original pivot points i.e. no applied offsets. I am solving this by making sure my assets have pivot points to make them line up on the debug data preview window without having to use any scaling or offsets. Thank you Ali for your awesome work.
                              Sean, I'll test it in High Sierra and let you know
                              Dungeon Architect | Prefabricator

                              Discord Support

                              Comment


                                Originally posted by riuthamus View Post
                                Just tried to add this to my new project and I get a crash instantly on the editor. The crash is related to some deep engine code with UI updates to the editor. It does not happen on a fresh new project, however we are using "gameAbilities" from the paragaon and fortnite system. Possible conflict there?



                                Assertion failed: (Index >= 0) & (Index < ArrayNum) [File:\Build\++UE4+Release-4.18+Compile\Sync\Engine\Source\Runtime\Core\Public\Containers/Array.h] [Line: 610] Array index out of bounds: 3 from an array of size 1

                                UE4Editor_Core!FDebug::AssertFailed() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\private\misc\assertionmacros.cpp:414]
                                UE4Editor_LevelEditor!SLevelEditor::RefreshEditorModeCommands() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:1334]
                                UE4Editor_LevelEditor!SLevelEditor::RestoreContentArea() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:1134]
                                UE4Editor_LevelEditor!SLevelEditor::Initialize() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\sleveleditor.cpp:176]
                                UE4Editor_LevelEditor!FLevelEditorModule::SpawnLevelEditor() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\leveleditor\private\leveleditor.cpp:168]
                                UE4Editor_LevelEditor!TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>:perator()<FSpawnTabArgs const & __ptr64>() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegateinstanceinterface.h:165]
                                UE4Editor_LevelEditor!UE4Tuple_Private::TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<FLevelEditorModule,TSharedRef<SDockTab,0> (__cdecl FLevelEditorModule::*)(FSpawnTabArgs const & __ptr64) __ptr64>,FSpawnTabArgs const & __pt() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\templates\tuple.h:497]
                                UE4Editor_LevelEditor!TBaseRawMethodDelegateInstance<0,FLevelEditorModule,TSharedRef<SDockTab,0> __cdecl(FSpawnTabArgs const & __ptr64)>::Execute() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:556]
                                UE4Editor_Slate!TBaseDelegate<TSharedRef<SDockTab,0>,FSpawnTabArgs const & __ptr64>::Execute() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\core\public\delegates\delegatesignatureimpl.inl:537]
                                UE4Editor_Slate!FTabManager::SpawnTab() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1414]
                                UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1273]
                                UE4Editor_Slate!FTabManager::RestoreSplitterContent() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1388]
                                UE4Editor_Slate!FTabManager::RestoreArea_Helper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1357]
                                UE4Editor_Slate!FTabManager::RestoreArea() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:1249]
                                UE4Editor_Slate!FTabManager::RestoreFrom() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\slate\private\framework\docking\tabmanager.cpp:808]
                                UE4Editor_MainFrame!FMainFrameModule::CreateDefaultMainFrame() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\mainframe\private\mainframemodule.cpp:206]
                                UE4Editor_UnrealEd!EditorInit() [d:\build\++ue4+release-4.18+compile\sync\engine\source\editor\unrealed\private\unrealedglobals.cpp:124]
                                UE4Editor!GuardedMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\launch.cpp:150]
                                UE4Editor!GuardedMainWrapper() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
                                UE4Editor!WinMain() [d:\build\++ue4+release-4.18+compile\sync\engine\source\runtime\launch\private\windows\launchwindows.cpp:210]
                                UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
                                kernel32
                                ntdll"

                                Looks like a layout issue. Could you try restoring your editor's layout and restart the editor? (Window > Reset Layout)
                                Dungeon Architect | Prefabricator

                                Discord Support

                                Comment

                                Working...
                                X