Announcement

Collapse
No announcement yet.

Dungeon Architect

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

    Originally posted by uced View Post
    Hi,

    I got everything working fine, UI, replication, saving and all and i'm very happy with it :-) For the moment i only use the PaintedCells array, Rectangles and Borders are not necessary at the moment.

    I still have one problem though. Marker Emitters don't seem to work identically on painted cells and on "regular cells" (generated randomly).

    Here, on the left is a room generated randomly and on the right a manually painted room.

    Click image for larger version

Name:	PbCornerCenterEmitters.jpg
Views:	1
Size:	201.9 KB
ID:	1600829

    Both use the same CornerEmitter and RoomCenterEmitter, but as you can see, on the left the objects are correctly grounded while on the right the objects are levitating.

    The table at the center is exactly 1/2 GridCellSize above the ground, and the objects are corners are 1 GriCellSize above the ground.

    It might be a problem in my code, i'll continue to search/test, but apart from that my painted cells are perfectly placed horizontally and vertically.
    If you have any idea...

    Thanks !
    Cedric
    uced Glad to hear that. It's always nice to see the awesome stuff you create.

    I've fixed the issue with the incorrect markers from painted cells.


    Code:
    void UGridDungeonBuilder::AddUserDefinedPlatform(const FRectangle& Bounds, const FCellType& CellType)
    {
        //....
        cell.CellType = CellType;
        cell.Bounds = Bounds;
        cell.Bounds.Size.Z = 0;  // <<<<< NEW
        //....

    The issue with the colored tiles not showing up in the editor when switching to paint mode is also fixed. This was done by disabling this in the rendering material (DungeonArchitect Content > Materials > M_DungeonEdModeOverlay > Render After DOF = false)

    Dungeon Architect | Prefabricator

    Discord Support

    Comment


      Originally posted by LETTICONION View Post
      Hi Ali Akbar I downloaded dungeon architect plugin for UE4 (4.18). I installed it manually into it then it get compiled, rebuilt and worked absolutely fine. Now I updated my unreal engine to 4.21.2 now i cannot use it. It shows compilation or rebuilt errors. About 41 errors and 8 warnings. Please help me. Or please any one other coder junkie that can resolve my problem. I will be thankful to him.
      Here is log file-- [ATTACH]n1601980[/ATTACH]
      From your previous post, it looks like you've already installed DA for 4.21 from the launcher. Please do the following steps:
      • Make sure your previous version you manually added to your project is removed. Go to your projects folder and remove the GAME_PROJECT/Plugins/DungeonArchitect folder if it exists
      • Launch the Unreal Editor and navigate to Edit > Plugins and enable Dungeon Architect. Restart the editor when prompted to and try again


      Dungeon Architect | Prefabricator

      Discord Support

      Comment


        I've added support for engine 4.22 and will submit a new update soon
        Dungeon Architect | Prefabricator

        Discord Support

        Comment




          Since the last update, Dungeon Architect supports third party extensions, i.e. support any type of asset that the engine supports (e.g. Paper2D, Apex Destruction etc) without knowing anything about it (i.e. without explicitly linking to it)

          I went ahead an removed the explicit dependency on DA with Apex destruction so Apex gets added only if you use it and will not cause bloat. This means your previously created Destructible Nodes will not work (as they have been removed). You will have to drag drop your destructible assets on to the theme editor again so the new generic system picks it up and initialize a Actor node instead

          I've added this demo in the quick start guide
          Last edited by Ali Akbar; 04-04-2019, 08:20 AM.
          Dungeon Architect | Prefabricator

          Discord Support

          Comment


            Hi, is it possible to use Dungeon Architect in runtime? I want to enable players to make their own cities in-game.

            Comment


              Originally posted by YOHAMI View Post
              Hi, is it possible to use Dungeon Architect in runtime? I want to enable players to make their own cities in-game.
              Short version - YES. Quite easy.

              Comment


                I've submitted a new version (2.12.0) to the marketplace for review. It has also been uploaded on the website if you want to grab it now


                Version 2.12.0
                • New: Added 4.22 Engine support
                • New: Removed Apex Destructible plugin dependency from Dungeon Architect and the custom Destructible mesh node support. However, destructible meshes are still supported. (Drag drop your destructible meshes on the theme editor)
                • New: Added weights to theme override volumes so if they overlap, the volume with the larger weight gets its theme applied
                • New: Theme editor has an option to force rebuild the preview viewport's dungeon layout, which will be a little slow but more accurate, in case of custom marker emitter blueprint usage
                • Fix: Paint mode now properly shows the colored layout, which was not being shown in some cases
                • Fix: CityBuilder adds large city blocks (greater than 3x3) correctly
                • Fix: Marker emitters on custom placed platforms (using platform volumes or painted cells) were having their Z registered incorrectly making objects float on air
                • Fix: Improved the debug draw's performance in the theme editor's viewport window
                Dungeon Architect | Prefabricator

                Discord Support

                Comment


                  Originally posted by Ali Akbar View Post

                  uced Glad to hear that. It's always nice to see the awesome stuff you create.


                  Hey Ali,

                  Thanks a ton for all the fixes, you're incredible !

                  If it's not too impolite to make a bit of self promotion, you might enjoy all the new stuff i'm doing with DA in real time in my game:



                  If anyone is wondering, it's actually quite easy to do, and everything is replicated and saved. I mainly ported to c++ the logic of the DA starter kit demo.

                  Again, thanks for all the amazing work you put in DA !

                  Best regards
                  Cedric

                  Comment


                    Originally posted by uced View Post


                    Hey Ali,

                    Thanks a ton for all the fixes, you're incredible !

                    If it's not too impolite to make a bit of self promotion, you might enjoy all the new stuff i'm doing with DA in real time in my game:



                    If anyone is wondering, it's actually quite easy to do, and everything is replicated and saved. I mainly ported to c++ the logic of the DA starter kit demo.

                    Again, thanks for all the amazing work you put in DA !

                    Best regards
                    Cedric
                    Yag looks amazing! I love what you did at 9:26 Thanks for sharing
                    Dungeon Architect | Prefabricator

                    Discord Support

                    Comment


                      Originally posted by Ali Akbar View Post

                      Yag looks amazing! I love what you did at 9:26 Thanks for sharing
                      Thanks a lot, i'm super glad you like it :-)

                      And yes, this final dungeon is really a beauty with its huge mountain stairs: the whole dungeon took me about 20 minutes to make, it was a quick test, but it turned out looking great and finally ended in the video^^.
                      Manually adding great altitude differences improves the depth and mood of some dungeons.

                      Again, thanks a lot for your work, Yag looks that good only thanks to DA.

                      Cheers
                      Cedric

                      Comment


                        Hi Ali!

                        First let me thank you for creating Dungeon Architect and Prefabricator! These tools together have huge potential. I bought DA after I've realized that I could use the flow system to generate levels. I wanted to achieve this myself to be able to have more control of the random nature of the game flow, and there you go... It is here for me to use. Thank you very much!

                        As I dove into DA flow system I found myself struggling to come up with a solution for 2 problems and I am pretty sure you can point me in the right direction.

                        1. I could not find a solution for saving the state of the enemies (position, behavior) spawned by streamed in blueprints. After the actual level they are in is unloading they are falling. I was going to save their state on level unloading and then restore it after the level they are in is loading back in, but I am having difficulties to find a way to determine which level the actual enemies are in. Also I don't know how to fire event that would store the enemies state on level unload.

                        2. Is there any way to tell the flow manager to change level variables on load. What I would like to achieve is to be able to say for example the third "hub level" streamed in should have 3x more enemies or change prefabricator setting to controll the theme of that particular level. This way I could reuse the same level and still add some variety to the dungeon or manage difficulty,theme or even fire an event.

                        Thanks for the hard work you put into these projects.

                        Attila

                        Comment


                          Originally posted by Ali Akbar View Post
                          I've submitted a new version (2.12.0) to the marketplace for review. It has also been uploaded on the website if you want to grab it now


                          Version 2.12.0
                          • New: Added 4.22 Engine support
                          • New: Removed Apex Destructible plugin dependency from Dungeon Architect and the custom Destructible mesh node support. However, destructible meshes are still supported. (Drag drop your destructible meshes on the theme editor)
                          • New: Added weights to theme override volumes so if they overlap, the volume with the larger weight gets its theme applied
                          • New: Theme editor has an option to force rebuild the preview viewport's dungeon layout, which will be a little slow but more accurate, in case of custom marker emitter blueprint usage
                          • Fix: Paint mode now properly shows the colored layout, which was not being shown in some cases
                          • Fix: CityBuilder adds large city blocks (greater than 3x3) correctly
                          • Fix: Marker emitters on custom placed platforms (using platform volumes or painted cells) were having their Z registered incorrectly making objects float on air
                          • Fix: Improved the debug draw's performance in the theme editor's viewport window
                          Was just about to ask about 4.22. Thanks!

                          Comment


                            Hello,
                            I have a problem with collisions in theme. I am using same meshes at dungeon theme (which set on realtime in gameplay) and regular handmaded level but sometimes in dungeon, some blueprint actors ignore all collisions with spesific (Ive no idea) areas. Do you have any idea about these? please I need to fix asap. Is there anyone to help us, we are really stucked guys.

                            Comment


                              Originally posted by Subsense View Post
                              Hi Ali!

                              First let me thank you for creating Dungeon Architect and Prefabricator! These tools together have huge potential. I bought DA after I've realized that I could use the flow system to generate levels. I wanted to achieve this myself to be able to have more control of the random nature of the game flow, and there you go... It is here for me to use. Thank you very much!

                              As I dove into DA flow system I found myself struggling to come up with a solution for 2 problems and I am pretty sure you can point me in the right direction.

                              1. I could not find a solution for saving the state of the enemies (position, behavior) spawned by streamed in blueprints. After the actual level they are in is unloading they are falling. I was going to save their state on level unloading and then restore it after the level they are in is loading back in, but I am having difficulties to find a way to determine which level the actual enemies are in. Also I don't know how to fire event that would store the enemies state on level unload.

                              2. Is there any way to tell the flow manager to change level variables on load. What I would like to achieve is to be able to say for example the third "hub level" streamed in should have 3x more enemies or change prefabricator setting to controll the theme of that particular level. This way I could reuse the same level and still add some variety to the dungeon or manage difficulty,theme or even fire an event.

                              Thanks for the hard work you put into these projects.

                              Attila
                              Subsense Thank you for using DA.

                              #1
                              There are 2 ways of doing this. One way is to make the level streaming system keep the level state in memory (UE4 feature). So when the level is streamed out, it is hidden from the world (and hence does not render anything there) but keeps the state and data in memory. This is the easiest way and doesn't require any change from your end. When the level is streamed back in, it will retain all your monsters in it with their health, and other state. The demo game uses this method to remember if the monsters in the room have been previously cleared or not
                              The other way is to save the state when you want to not just hide the streamed out level, but also unload it. In this case, I have a serialization framework that you can use as shown in the video below

                              To choose one of the above two methods, Select the Dungeon Actor and use this checkbox to control if you want to unload the chunks when they are hidden

                              ‚Äč


                              Like mentioned above, if you leave this unchecked, you won't have to do anything and your state will be restored when you walk back to the module again. If you do unload, then use the serialization framework like this:




                              #2

                              You can save this data in the game state (e.g. difficulty) and when your NPC spawner actor gets initialized, you can query the difficulty and spawn accordingly (3x more NPCs).
                              You can find an example of this in the demo game where, in the spawn room, you can step on a pressure pad and set a flag on whether you want NPCs to spawn in the game. I set this flag in the game state and whenever a player enters a module, the logic checks this flag before locking all the doors and spawning NPCs. It can be extended to spawn different NPCs or the number of NPCs.

                              Having external configuration variables to guide the generation of the flow dungeon is a useful feature and I'll add it in the future
                              Dungeon Architect | Prefabricator

                              Discord Support

                              Comment


                                Ali Akbar Hi, some notes on the Floorplan Theme, UE 21.2.

                                LOW
                                Editor crash when wrong ration to min and max room size is entere, ie. larger or equal amount of min room size to max room size. Also an option to disable room generation would be handy, though this can be adjusted with room min size setting.

                                LOW
                                Marker Emitter Node Offset appear to have no effect. This can be adjusted when directly editing Marker Node Location settings.

                                LOW
                                If I have tiles with 300x300 widths, Dungeon however shows a slight 1 pixel bias, once instanced, thus have to set 299 px width to account for this bias. Not a big deal.

                                MED
                                If you use ceiling/roof mesh which are centered you have to add an location offset, usually around x= -150, y=-150, in a relative standard grid size configuration of wall lengths 300x300. However, even though this is usually correctly accounted for inside the preview, the created Dungeon does not always update this location entry. This can be fixed with a single modification of the location setting, ie, setting the x value to 0, and back to -150.




                                Suggestion

                                Default Spawn Logic
                                Add an option or default spawn location modifier to automatically align spawned actor nodes, relative to the root Marker Node. I know I can add this somehow with creating some spawn or transform logic, but it would be more convenient. For instance if I want an Actor Mesh spawned on the BuildingWall, it is applied to world transform, which result in two of the four BuildingWall sides, to place the Actors outside the wall, instead of inside the building.

                                Setting for floor amount
                                Basically it appears that if you want additional floors, you have to make many different adjustments, based on the base level ground or ceiling to add additional floors. An option to create additional floors with adding the ground with an offset to account for the ground thickness, and also to have lightning builds in mind, and then loop through the logic to create the remaining actors for that floor. However, I would think you usually do not want more than 2 floors, unless they are very small, due to performance considerations. Rather loading the next floor with a streaming level volume. So this feature would be nice to have for small story buildings, for urban one or two family homes.

                                Wall Thickness
                                While in many level design scenarios the 1 pixel width for BuildingWalls is sufficient, and inside building walls can be more easily adjusted when having a width through small offsets, it becomes more tricky if you take a look from outside, the BuildingWall building corners are aligned to create an empty corner, instead of creating an overlap depending on that wall thickness. The workaround here is to place columns or additional wall pieces. While you can set a BuildingWall offset inside the location setting, it creates some empty parts at the end of that wall. So it is not exactly clear how to adjust BuildingWall offsets when using a wall thickness, usually around 20-40 pixel.


                                LEGENDS OF EPICA | CS - SPACE ALPHA

                                Comment

                                Working...
                                X