Announcement

Collapse
No announcement yet.

Dungeon Architect

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

  • replied
    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

    Leave a comment:


  • replied
    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.

    Leave a comment:


  • replied
    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!

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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

    Leave a comment:


  • replied
    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.

    Leave a comment:


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

    Leave a comment:


  • replied


    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.

    Leave a comment:


  • replied
    I've added support for engine 4.22 and will submit a new update soon

    Leave a comment:


  • replied
    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


    Leave a comment:


  • replied
    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:	19
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)

    Leave a comment:


  • replied
    Originally posted by unit23 View Post

    What version does it read inside the launcher? Click on Installed Plugins...

    Click image for larger version

Name:	tip.jpg
Views:	9
Size:	96.0 KB
ID:	1602836
    Firstly; hi i am very thankful to you that you are helping me.
    Secondly; the launcher is not detecting the plugin.
    and here is output from rebuild (VS)--
    LOG.txt

    Leave a comment:

Working...
X