Announcement

Collapse
No announcement yet.

Dungeon Architect

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

    The latest updates are live on the marketplace
    Dungeon Architect | Prefabricator

    Discord Support

    Comment


      Hello !

      It works super well, thanks again Ali.

      Click image for larger version

Name:	DA_in_YAG.jpg
Views:	1
Size:	112.9 KB
ID:	1115628

      In case anyone is interested, here is what i did to make it work.

      1/ add the following in your build.cs.

      Code:
      PublicDependencyModuleNames.AddRange(new string[] { "DungeonArchitectRuntime" });
      PublicIncludePaths.AddRange(new string[] { "DungeonArchitectRuntime/Public", "DungeonArchitectRuntime/Classes" });
      2/ don't forget to add every headers needed:

      Code:
      #include "DungeonThemeAsset.h"
      #include "Core/Dungeon.h"
      #include "Builders/Grid/GridDungeonBuilder.h"
      #include "Builders/Grid/GridDungeonConfig.h"
      3/ you can now use the code provided by Ali, here is exactly what i did in my playercontroller, just for completeness sake:
      Code:
      void AyagPlayerController::ServerSpawnDungeon_Implementation()
      {
      	// Create a new dungeon actor
      	ADungeon* Dungeon = GetWorld()->SpawnActor<ADungeon>(ADungeon::StaticClass());
      
      	// Grab a reference to the theme asset and register it with the dungeon actor
      	FString StrDATheme = "/Game/test/DungeonThemeTest";
      	UDungeonThemeAsset* DATheme = Cast<UDungeonThemeAsset>(StaticLoadObject(UDungeonThemeAsset::StaticClass(), nullptr, *StrDATheme));
      	if (!DATheme) return;
      
      	Dungeon->Themes.Add(DATheme);
      
      	// Set the builder type
      	Dungeon->BuilderClass = UGridDungeonBuilder::StaticClass();
      	Dungeon->CreateBuilderInstance();
      
      	// Set the dungeon configuration
      	UGridDungeonConfig* GridConfig = Cast<UGridDungeonConfig>(Dungeon->GetConfig());
      	if (GridConfig) {
      		GridConfig->Seed = FMath::Rand();   // Randomize our dungeon
      
      	}
      
      	Dungeon->BuildDungeon();
      }
      My last problem is that my intelisense is now crazy (i tried to add the DA include dir in its conf, but no success) but that's another story.

      Cheers
      Cedric

      Comment


        Ok I wanted to share some of my thoughts on the usability as it relates to the snap builder in DA That I emailed to Ali. Again this relates to the snap builder as that is what my project is using I dont have really much experience or know if any of what I'm laying out applies to the other builder types.

        Firstly it is a HUGE workflow hindrance to have to manually set the acceptable connector list on every the door asset every time I place it. When it is in the content browser I can go set all of the meshes/BP it will load and everything. I should be able to set the modules that it can connect to as all other settings here. This way I can make a snapDoor for rooms and a snapDoor for corridors and then all I have to do is drag them in. Right now I have to remember to go add a module name in the and hope there isn’t a type-o which is bound to happen when manually doing something hundreds of times. No to mention you could also expose integrate the snap info into this and expose it as well.

        This way you can just make up your door types in the content browser and drag and place them where they need to be and not have to worry if you set everything right in every level and if something is wrong there is one place to look to fix it. This would VASTLY simplify things.

        If you insist on keeping the snap info node separate can you make it where it can be added to the content browser at least and I can set the info in there and so that if I make them and save the setting there I simply have a RoomSnapInfo and a CorridorSnapInfo that I only have to make once and then drag into all of the rooms.

        Right now there is so much manual stuff that unnecessarily needs to be repeated in invites error and trouble.
        James Brad Barnette
        Senior Creative Artist
        3Dmotif LLC

        Comment


          Originally posted by James Barnette View Post
          Ok I wanted to share some of my thoughts on the usability as it relates to the snap builder in DA That I emailed to Ali. Again this relates to the snap builder as that is what my project is using I dont have really much experience or know if any of what I'm laying out applies to the other builder types.

          Firstly it is a HUGE workflow hindrance to have to manually set the acceptable connector list on every the door asset every time I place it. When it is in the content browser I can go set all of the meshes/BP it will load and everything. I should be able to set the modules that it can connect to as all other settings here. This way I can make a snapDoor for rooms and a snapDoor for corridors and then all I have to do is drag them in. Right now I have to remember to go add a module name in the and hope there isn’t a type-o which is bound to happen when manually doing something hundreds of times. No to mention you could also expose integrate the snap info into this and expose it as well.

          This way you can just make up your door types in the content browser and drag and place them where they need to be and not have to worry if you set everything right in every level and if something is wrong there is one place to look to fix it. This would VASTLY simplify things.

          If you insist on keeping the snap info node separate can you make it where it can be added to the content browser at least and I can set the info in there and so that if I make them and save the setting there I simply have a RoomSnapInfo and a CorridorSnapInfo that I only have to make once and then drag into all of the rooms.

          Right now there is so much manual stuff that unnecessarily needs to be repeated in invites error and trouble.
          [MENTION=3956]James Barnette[/MENTION] Thank you for the feedback. The AllowedModuleType constraint cannot be set on the global asset level, as they have to be set in the module level for more control. This is because you will use the same door asset in both the room and the corridor (with different attachment rules), hence it has to be set on an instance of the door actor, as opposed to the door asset itself

          You are right that it does require manual work and I'll minimise it. I'll move the AllowedModuleTypes property to an asset called SnapDoorAttachmentRule. Then you assign this reference of this rule to the doors. This way you set the rules only once on the asset and easily change it in the future if needed
          Dungeon Architect | Prefabricator

          Discord Support

          Comment


            Originally posted by Ali Akbar View Post
            [MENTION=3956]James Barnette[/MENTION] Thank you for the feedback. The AllowedModuleType constraint cannot be set on the global asset level, as they have to be set in the module level for more control. This is because you will use the same door asset in both the room and the corridor (with different attachment rules), hence it has to be set on an instance of the door actor, as opposed to the door asset itself

            You are right that it does require manual work and I'll minimise it. I'll move the AllowedModuleTypes property to an asset called SnapDoorAttachmentRule. Then you assign this reference of this rule to the doors. This way you set the rules only once on the asset and easily change it in the future if needed

            You dont have to use the same door asset. I have always made 2 and it has worked. one for corridors and one for rooms.
            Last edited by calmasacow; 09-21-2016, 03:21 AM.
            James Brad Barnette
            Senior Creative Artist
            3Dmotif LLC

            Comment


              Originally posted by James Barnette View Post
              You dont have to use the same door asset. I have always made 2 and it has worked. one for corridors and one for rooms.
              Those two doors will not attach. The point of using door assets is to make seamless attachment across different shaped endpoints (e.g. a rectangular shaped door should not attach to a curved tunnel)
              Dungeon Architect | Prefabricator

              Discord Support

              Comment


                Originally posted by Ali Akbar View Post
                Those two doors will not attach. The point of using door assets is to make seamless attachment across different shaped endpoints (e.g. a rectangular shaped door should not attach to a curved tunnel)
                Hmm just tested and it attaches when it shouldn't
                Dungeon Architect | Prefabricator

                Discord Support

                Comment


                  Originally posted by Ali Akbar View Post
                  Hmm just tested and it attaches when it shouldn't
                  That feel when what should not be is.

                  :P
                  Storyteller - An immersive VR audiobook player

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

                  Comment


                    Btw, does DA use HISMCs or ISMCs only ?

                    Comment


                      Originally posted by motorsep View Post
                      Btw, does DA use HISMCs or ISMCs only ?
                      in English please? lol
                      James Brad Barnette
                      Senior Creative Artist
                      3Dmotif LLC

                      Comment


                        Can we get a full list of engine features that wont work with the snap builder. as best I can tell The Anything using the painting systems doesn't work. I'm not sure what the reason is for this but using the vegetation pain for scattering object on a surface doesn't work as well as it seems that Vertex painting for blending textures on an object also gets lost when building the dungeon.

                        So it would be nice to know the full list of things that are not going to work so that we dont waste time doing only to have them thrown out when he dungeon builds.
                        James Brad Barnette
                        Senior Creative Artist
                        3Dmotif LLC

                        Comment


                          Originally posted by James Barnette View Post
                          Can we get a full list of engine features that wont work with the snap builder. as best I can tell The Anything using the painting systems doesn't work. I'm not sure what the reason is for this but using the vegetation pain for scattering object on a surface doesn't work as well as it seems that Vertex painting for blending textures on an object also gets lost when building the dungeon.
                          Ouch, that's not good I hope it gets fixed in the upcoming updates as I think those are quite essential features.

                          Comment


                            What kind of lighting setup do you use with DA for run-time generation ? (full real-time lighting)

                            Concerted about real-time GI, whether it's true real-time GI or fake real-time GI. If there is no real-time GI, and it's fully run-time dungeon/level, the game will look like Doom 3, wouldn't it ?

                            Comment


                              Originally posted by motorsep View Post
                              What kind of lighting setup do you use with DA for run-time generation ? (full real-time lighting)

                              Concerted about real-time GI, whether it's true real-time GI or fake real-time GI. If there is no real-time GI, and it's fully run-time dungeon/level, the game will look like Doom 3, wouldn't it ?
                              Well To My knowledge you can use baked lighting to to the fact that the geometry is being moved. I can only guess that this is also what is affecting the Vertex painting on geometry as well as the foliage painting. Which I have to see these results are strange as I know that if I use the paint tool and scatter some rocks and ruble on the ground then I move that plain in the editor when I release the object all of the object that were painted to it snap to the new position. So I think that there is a possibility for getting this to work.


                              As for the Vertex painting for blending of materials. I'm really not sure why this isn't working. I cant think of any reason why this shouldn't still work.
                              James Brad Barnette
                              Senior Creative Artist
                              3Dmotif LLC

                              Comment


                                To all users of the Snap builder version 2.1.8-2.1.10 are any of you experiencing and inability to save you level after you have built the dungeon. even if you hit the destroy dungeon button you are unable to save and getting an error that says that you can save because items in you graph are in other levels. Which of course after destroying the dungeon they should not be.
                                James Brad Barnette
                                Senior Creative Artist
                                3Dmotif LLC

                                Comment

                                Working...
                                X