Announcement

Collapse
No announcement yet.

Dungeon Architect

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

    4.13 is now supported in the marketplace
    Last edited by Ali Akbar; 09-18-2016, 08:25 AM.
    Dungeon Architect | Prefabricator

    Discord Support

    Comment


      Marketplace integration for existing users

      All the existing customers who purchased DA from my website can now have their copy integrated with the marketplace and launcher. Please check your mail (the one you used for the paypal purchase) for instructions

      Epic is not charging me for it. Thank you Epic!

      If you didn't get the mail or have changed the ID since then, please email me (ali.akbar@coderespawn.com)
      Dungeon Architect | Prefabricator

      Discord Support

      Comment


        Originally posted by Ali Akbar View Post
        Marketplace integration for existing users

        All the existing customers who purchased DA from my website can now have their copy integrated with the marketplace and launcher. Please check your mail (the one you used for the paypal purchase) for instructions

        Epic is not charging me for it. Thank you Epic!

        If you didn't get the mail or have changed the ID since then, please email me (ali.akbar@coderespawn.com)
        Great news, thank you Ali!

        Comment


          Originally posted by Ali Akbar View Post
          Marketplace integration for existing users

          All the existing customers who purchased DA from my website can now have their copy integrated with the marketplace and launcher. Please check your mail (the one you used for the paypal purchase) for instructions

          Epic is not charging me for it. Thank you Epic!

          If you didn't get the mail or have changed the ID since then, please email me (ali.akbar@coderespawn.com)
          Excellent news ... thank you very much Epic, you guys are awesome ... and Ali Akbar you are epic ... 8-}
          Quinton Delpeche
          Founder - Gobbo Games | Designer - The Colony 2174 (Board Game) | Developer - Riders of Asgard

          Comment


            Hello !

            My game is an RPG plateform to play with friend, so any player could be the dungeon master and should have the ability to spawn and modify a dungeon.
            I have developped my own dungeons, and i'm quite proud of them (i even managed to add "natural looking" water using a simple perlin noise -see first picture-, yay !) but they are still very amateurish: too mush parameters and lots of tuning to obtain something barely acceptable, 2D only, no theme management, etc.

            Click image for larger version

Name:	YagDungeon1.jpg
Views:	1
Size:	177.3 KB
ID:	1115568 Click image for larger version

Name:	YagDungeon2.jpg
Views:	1
Size:	201.8 KB
ID:	1115569

            And worst off all, as i'm using a maze algorithm to make a way through the rooms, i often end up with awkward looking corridors (as you can see on the second picture). If not handled with care, my dungeons often look like a plate of spaghettis and are practically unusable for gaming. And as a result, we never use them^^

            So i decided to give a try to DA. After my first few hours with this plugin i am amazed by its quality, whatever meshes you feed that beast, it manages to always spit out something majestic and beautiful ! What a pleasure to try all those combos^^ Amazing work !

            Now to the point: i'd like to manage (spawn, build, choose theme...) the dungeons entirely from c++, is there a way to do this ?
            I did find a way to do this from BP but i'd prefer not having to drive a BP from c++.

            I tried to add this to my buid.cs file:
            Code:
            PublicDependencyModuleNames.AddRange(new string[] { "DungeonArchitectRuntime" });
            but i get the following compilation error:
            Code:
            2>	C:/Program Files/Unreal Engine/4.13/Engine/Plugins/Marketplace/DungeonArchitect/Source/DungeonArchitectRuntime/Public/Builders/Grid/SpatialConstraints/GridSpatialConstraintCellData.h(20) : Property is exposed to the editor or blueprints but has no Category specified.
            2>	Error : Failed to generate code for yagEditor - error code: OtherCompilationError (5)
            I am by no mean a c++/UE4 guru and am not sure this is the right way to do this. Anyone can help me with this ?

            Cheers
            Cedric

            Comment


              Originally posted by uced View Post
              Hello !

              My game is an RPG plateform to play with friend, so any player could be the dungeon master and should have the ability to spawn and modify a dungeon.
              I have developped my own dungeons, and i'm quite proud of them (i even managed to add "natural looking" water using a simple perlin noise -see first picture-, yay !) but they are still very amateurish: too mush parameters and lots of tuning to obtain something barely acceptable, 2D only, no theme management, etc.

              [ATTACH=CONFIG]110598[/ATTACH] [ATTACH=CONFIG]110599[/ATTACH]

              And worst off all, as i'm using a maze algorithm to make a way through the rooms, i often end up with awkward looking corridors (as you can see on the second picture). If not handled with care, my dungeons often look like a plate of spaghettis and are practically unusable for gaming. And as a result, we never use them^^

              So i decided to give a try to DA. After my first few hours with this plugin i am amazed by its quality, whatever meshes you feed that beast, it manages to always spit out something majestic and beautiful ! What a pleasure to try all those combos^^ Amazing work !

              Now to the point: i'd like to manage (spawn, build, choose theme...) the dungeons entirely from c++, is there a way to do this ?
              I did find a way to do this from BP but i'd prefer not having to drive a BP from c++.

              I tried to add this to my buid.cs file:
              Code:
              PublicDependencyModuleNames.AddRange(new string[] { "DungeonArchitectRuntime" });
              but i get the following compilation error:
              Code:
              2>	C:/Program Files/Unreal Engine/4.13/Engine/Plugins/Marketplace/DungeonArchitect/Source/DungeonArchitectRuntime/Public/Builders/Grid/SpatialConstraints/GridSpatialConstraintCellData.h(20) : Property is exposed to the editor or blueprints but has no Category specified.
              2>	Error : Failed to generate code for yagEditor - error code: OtherCompilationError (5)
              I am by no mean a c++/UE4 guru and am not sure this is the right way to do this. Anyone can help me with this ?

              Cheers
              Cedric
              if I may ask Why would you want to trigger it from C++ it is so simple to do in the level blueprint. Just trigger the build as the first thing.
              James Brad Barnette
              Senior Creative Artist
              3Dmotif LLC

              Comment


                Yes, it's super easy, here my first attempt, it worked ok in less than 2 minutes (there might be a better way to do it i'm not a BP expert^^):

                Click image for larger version

Name:	DABP.jpg
Views:	1
Size:	102.4 KB
ID:	1115575

                But as i said, i can't use that sort of thing, my game is quite complicated on the object management side: it's networked, every player should be able to spawn/destroy as many dungeons as they want, and everything should be saved/reloaded at will.

                So my map is completely and permanently empty in the editor (except for the skybox, startplayer and a few tools like that), and every object in game is created at runtime by the players.

                For all my objects (simple objects, characters, procedural objects), i keep an array containing all the properties needed to rebuild the object exactly (so i've an array of characters, an array of dungeons, an array of terrains, etc.).
                When i save, i save every array and when i reload, i read all the arrays sequentially and rebuild every object on the fly to get the exact same state.

                In the case of DA, i need to make an array of ADungeon actors and save their seed, position, rotation, and every other properties needed to reconstruct the dungeon exactly the way it was last time.
                And each player should be able to create, destroy, etc. as many dungeons as they want.

                All this mecanism works very well currently, but it's easier to manage the whole mess in c++ rather than mixing C++ and BP.
                And it all boils down to being able to access the ADungeon (&friends) from my code, hence this post :-)

                Cheers

                Comment


                  [MENTION=14151]uced[/MENTION] The rivers look awesome

                  Your method of including DA in your game project is correct. There's a configuration bug in the DA code which I'll fix tomorrow. It also makes sense to control DA from C++ if you are making a C++ game, and it should be easy. I'll create a programming guide with C++ samples tomorrow
                  Dungeon Architect | Prefabricator

                  Discord Support

                  Comment


                    Hello Ali,

                    First of all, bravo again, DA is amazing !

                    I couldn't compile when having DA declared in my project because of the repeating following error: "Property is exposed to the editor or blueprints but has no Category specified"

                    It pointed toward 4 headers in "DungeonArchitect\Source\DungeonArchitectRuntime\Public\Builders\Grid\SpatialConstraints"

                    I noticed that sometimes a category (Category = "Spatial Setup") was provided and sometimes not, so i added it blindly everywhere and it worked.

                    You'll find attached the 4 files that compiles on my computer, in case it helps (i have no idea whether the problem is on DA, on UE4 or in visual studio though^^)

                    So compilation check, next step, trying to discuss with DA from c++ :-)

                    Best regards
                    Cedric
                    Attached Files

                    Comment


                      cross post :-)
                      Thanks for the rivers^^

                      Comment


                        Originally posted by Sitrec View Post
                        Great news, thank you Ali!
                        Originally posted by qdelpeche View Post
                        Excellent news ... thank you very much Epic, you guys are awesome ... and Ali Akbar you are epic ... 8-}
                        You're welcome. Thank you for your support
                        Dungeon Architect | Prefabricator

                        Discord Support

                        Comment


                          Fantastic news about the Marketplace, thanks so much [MENTION=28980]Ali Akbar[/MENTION] and epic!

                          Comment


                            Originally posted by uced View Post
                            Hello Ali,

                            First of all, bravo again, DA is amazing !

                            I couldn't compile when having DA declared in my project because of the repeating following error: "Property is exposed to the editor or blueprints but has no Category specified"

                            It pointed toward 4 headers in "DungeonArchitect\Source\DungeonArchitectRuntime\Public\Builders\Grid\SpatialConstraints"

                            I noticed that sometimes a category (Category = "Spatial Setup") was provided and sometimes not, so i added it blindly everywhere and it worked.

                            You'll find attached the 4 files that compiles on my computer, in case it helps (i have no idea whether the problem is on DA, on UE4 or in visual studio though^^)

                            So compilation check, next step, trying to discuss with DA from c++ :-)

                            Best regards
                            Cedric
                            Cedric, You can use DA from your C++ game like this:

                            Code:
                            template<typename T>
                            T* GetAsset(const FName& Path) {
                                UObject* Obj = StaticLoadObject(UDungeonThemeAsset::StaticClass(), nullptr, *Path.ToString());
                                return Cast<T>(Obj);
                            }
                            
                            void ADA413XGameMode::BuildDynamicDungeon() {
                                
                                // Create a new dungeon actor
                                Dungeon = GetWorld()->SpawnActor<ADungeon>(ADungeon::StaticClass());
                                
                                // Grab a reference to the theme asset and register it with the dungeon actor
                                UDungeonThemeAsset* MyTheme = GetAsset<UDungeonThemeAsset>("/Game/DA_Candy/Themes/D_Candy_v2"); // Set your theme path here
                                Dungeon->Themes.Add(MyTheme);
                                
                                // 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
                                    // Set other grid config here
                                }
                                
                                Dungeon->BuildDungeon();
                                
                            }
                            
                            void ADA413XGameMode::StartPlay() {
                                Super::StartPlay();
                                
                                BuildDynamicDungeon();
                            }

                            I've added this on the game mode's start play function. So hitting play on an new empty map would create a new dungeon actor, set it up and build it
                            Dungeon Architect | Prefabricator

                            Discord Support

                            Comment


                              I've uploaded the mac version of 2.1.10

                              I've also submitted a request to Epic to update to 2.1.10 in the marketplace
                              Dungeon Architect | Prefabricator

                              Discord Support

                              Comment


                                Thansk a lot Ali, there is everything i need.
                                I can't wait to try this tonight after work^^

                                Comment

                                Working...
                                X