Announcement

Collapse
No announcement yet.

Dungeon Architect

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

  • replied
    I have the plugin compiled for UE 4.24

    I'll test it on mac and submit an update later today

    Leave a comment:


  • replied
    Originally posted by Ali Akbar View Post

    Hey AngeIV Thank you for the feedback. I'm working on completely rewriting the documentation and a brand new feature that I've implemented in Unity and will bring the UE4 in a month or so (see below for more info) that will give you more control on the dungeon generation process as a designer
    honestly - yes. this implementation would easily allow me to generate buildings.

    Leave a comment:


  • replied
    Hello everyone, I've been busy working on a new feature. It was being implemented in Unity and I'll bring it to UE4 in a month or so. It gives you lots of control as a designer on your level generation. Check this video


    P.S. This video is for the Unity version of DA. Mods, if this is not allowed, please let me know and I'll remove it

    Last edited by Ali Akbar; 12-08-2019, 01:22 AM.

    Leave a comment:


  • replied
    Originally posted by PatangoWango View Post
    Been playing around with this a bit more, using the GridCustomDungeonBuilder... sadly, it looks like it's got a few bugs.

    I setup two rooms as per the example:

    UGridCustomDungeonBuilder::GenerateCustomLayout_Implementation(UGridDungeonConfig* GridConfig)
    {
    int32 Room1ID;
    int32 Room2ID;
    RegisterRoom(5, -3, 9, 7, 7, Room1ID);
    RegisterRoom(8, -11, 7, 6, 5, Room2ID);
    ConnectRooms(Room1ID, Room2ID);
    }

    ... and the corridor that is generated utterly fails to connect them in a somewhat spectacular fashion, though it does put the doors in the correct place

    Judging from the responses, I'm guessing bugs aren't being fixed? Is the plugin even being maintained anymore?
    I believe this was fixed a while ago. Could you post your plugin version number and engine version?

    Leave a comment:


  • replied
    Originally posted by PatangoWango View Post
    Just downloaded the Dungeon Architect, but it doesn't seem too happy with UE4.22:-

    Module.DungeonArchitectRuntime.cpp (0:06.59 at +0:00)
    2>C:\Program Files\Epic Games\UE_4.22\Engine\Source\Runtime\Core\Public\Templates/Sorting.h(38): error C4800: Implicit conversion from 'int' to bool. Possible information loss
    2>C:\Program Files\Epic Games\UE_4.22\Engine\Source\Runtime\Core\Public\Templates/Sorting.h(38): note: consider using explicit cast or comparison to 0 to avoid this warning
    2>C:\Program Files\Epic Games\UE_4.22\Engine\Source\Runtime\Core\Public\Templates/Sorting.h(37): note: while compiling class template member function 'bool TDereferenceWrapper<T *,PREDICATE_CLASS>:perator ()(T *,T *) const'
    2> with
    2> [
    2> T=UGrammarRuleScriptGraphNode,
    2> PREDICATE_CLASS=`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>
    2> ]
    2>C:\Program Files\Epic Games\UE_4.22\Engine\Source\Runtime\Core\Public\Algo/IntroSort.h(63): note: see reference to function template instantiation 'bool TDereferenceWrapper<T *,PREDICATE_CLASS>:perator ()(T *,T *) const' being compiled
    2> with
    2> [
    2> T=UGrammarRuleScriptGraphNode,
    2> PREDICATE_CLASS=`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>
    2> ]
    2>C:\Program Files\Epic Games\UE_4.22\Engine\Source\Runtime\Core\Public\Templates/Sorting.h(94): note: see reference to class template instantiation 'TDereferenceWrapper<T *,PREDICATE_CLASS>' being compiled
    2> with
    2> [
    2> T=UGrammarRuleScriptGraphNode,
    2> PREDICATE_CLASS=`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>
    2> ]
    2>C:\Program Files\Epic Games\UE_4.22\Engine\Source\Runtime\Core\Public\Containers/Array.h(2401): note: see reference to function template instantiation 'void Sort<UGrammarRuleScriptGraphNode,PREDICATE_CLASS>(T **,const int32,const PREDICATE_CLASS &)' being compiled
    2> with
    2> [
    2> PREDICATE_CLASS=`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>,
    2> T=UGrammarRuleScriptGraphNode
    2> ]
    2>E:\DungeonTest\Plugins\DungeonArchitect\Source\DungeonArchitectRuntime\Private\Builders\SnapMap\SnapMapDungeonBuilder.cpp(725): note: see reference to function template instantiation 'void TArray<UGrammarRuleScriptGraphNode *,FDefaultAllocator>::Sort<`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>>(const PREDICATE_CLASS &)' being compiled
    2> with
    2> [
    2> PREDICATE_CLASS=`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>
    2> ]
    2>E:\DungeonTest\Plugins\DungeonArchitect\Source\DungeonArchitectRuntime\Private\Builders\SnapMap\SnapMapDungeonBuilder.cpp(720): note: see reference to function template instantiation 'void TArray<UGrammarRuleScriptGraphNode *,FDefaultAllocator>::Sort<`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>>(const PREDICATE_CLASS &)' being compiled
    2> with
    2> [
    2> PREDICATE_CLASS=`anonymous-namespace'::GrowNode::<lambda_5e70c48b025ba0820f91d9d03284bc29>
    2> ]
    2>
    2>Error executing C:\Program Files\Epic Games\UE_4.22\Engine\Build\Windows\cl-filter\cl-filter.exe (tool returned code: 2)


    Just trying to figure out what's going on.. anyone had similar?

    EDIT: This is VS2019, implicit conversion from T to bool generates an error.

    EDIT2: Looks like there are numerous issues with VS2019... trying to modify the theme ground model causes a crash. In the end I just gave up on 2019 and installed 2017... which, so far, appears to work.
    4.22 is officially on VS2017 as per the docs. I'll test it on vs2019 and fix it in the next update

    Leave a comment:


  • replied
    Originally posted by CorvaenOboros View Post
    Greetings ,
    Thanks again for the updates Ali Akbar ! we are using the latest SnapMapDungeonBuilder and its very nice making the modules in levels now !
    For Fixed Camera / Isometric games there are a few features would like to request :

    Allow / Disallow Module Rotation - currently we are designing the map modules for a specific isometric view and DONT want them to be rotated 180 by the builder . Could we perhaps specify what modules shouldn’t be rotated in the Snap Map Module Database ? or have a setting on the builder to disable rotating modules ?

    Module Bounds from Mesh - In general the computed bounds of modules is too simplistic and large . Adjusting meshes within the map modules by “ Relevant for Level Bounds “ has been very useful , however is still limited to a singular level bounding box for the collision checks where the power of Snap Dungeons is their unique shapes . In the Module Database if we could specify a custom static mesh that we make to be used for the Level Modules Collision Detection that would be amazing .

    Thanks again !
    CorvaenOboros I'll add those featuers.

    Allow / Disallow Module Rotation: I'll add this in the next update. The disallow rotation will also be necessary for platformer levels
    Module Bounds from Mesh: I could create a new volume actor (like SnapModuleBoundsVolume). When you drop it into the level, the details panel will have options to auto snap with different functions (RelevantForLevelBounds, OnlyCollision, OnlyMeshes, Manual). If you don't have this volume in your module, it falls back to RelevantForLevelBounds. Let me know what you think


    Leave a comment:


  • replied
    Originally posted by AngeIV View Post
    Ali Akbar - I will simplify my question. Can I by any mean spawn specific Markers in a location I desire, much like I can edit "floor/coridor" in the runtime example. Although its not technically spawning markers... in consequence it is spawning markers.
    Can I spawn by hand other types of markers? In example "MyInnerWall" on a brush I make ingame?
    We can have a brush tool that paints markers on the scene. One brush tool that paints on a grid (like floor tiles), paints on edges (for walls) or scatters on a solid object (for dropping crates, trees, foliage etc on any solid surface/walls)

    Leave a comment:


  • replied
    Originally posted by AngeIV View Post
    Ali Akbar Is floor planner ever going to be a thing?

    EDIT: I have been playing around with "Custom Grid Builder" recently. And with some success I was able to generate random buildings that follows my expectations. So they still used procedural inputs in the dungeon settings like min and max cell size, although cells were placed in a different manner. All rooms were placed next to each other always, and sometimes there was special palce left for corridor to connect rooms but in a tight space so there are no free cells. entire thing created a "house" like structure. Querying rooms isn't so hard also - so I was able to place rooftops in an organized way without overlapping elements.
    I Also checked the example for runtime edition by player and found it super easy. The example spawns only corridor cells, but with extra fast tweaking I was able to place rooms or corridors and on bigger space than single cell.
    Still I lack the possibility of control. I made in my theme extra markers like "window", or simply negation empty markers. I am using the swap volumes to edit the building in edit mode to for example swap auto placed walls with windows, detecting unnecessary pillars by spatial constraints and custom market emiter spawn rules.
    However I still lack tools to be able to edit it how I want.
    And the goal is....
    creating a complex set of markers emitters, spawn logic, custom builder etc to be able to either build by hand in-game or randomize a building by a specific theme. After creating the blueprints just produce more and more themes. In case of mixing themes just use theme overwrite volumes.
    Why?
    Because for example I want player to be able to populate large amount of buildings in relatively short time with simple settings. Picking size of buildings, bound, theme, and some features (like contains balcony or not, etc. Or not, as they could be part of the theme itself) and change how they look like with a random seed. Or be able to custom build a house from scratch.
    First use case is super important as all I need to store in save objects or multiplayer replication are the settings and random seed he picked. Second benefit is that once player find a random number that generates a building he likes, he can store it with all his settings to reuse it multiple times later, and the effect will always be the same.
    Second use case is house building in edit mode similar to THE SIMS, however due to theme and how DA works a lot faster as walls, etc could be placed automatically and bind to certain rules, still able to change by hand some small details. In this case I have great trouble to save the data about the building keeping it small. Cant replicate this data easily. and I don't know if I can spawn markers at runtime without using volumes? Or delete markers? Can I access the build data as a single structure and store it?

    Dungeon Architect is by FAR the BEST tool I've worked with in ue4. And I bet it can do much more then I know about. But some functions, events etc lack documentation and sometimes I can read a variable or access function - that I have no idea what it does.
    Hey AngeIV Thank you for the feedback. I'm working on completely rewriting the documentation and a brand new feature that I've implemented in Unity and will bring the UE4 in a month or so (see below for more info) that will give you more control on the dungeon generation process as a designer

    Leave a comment:


  • replied
    Originally posted by vali.olteanu View Post
    Hello Ali, I have a simple question but I cant find a solution for this.
    Using GridDungeonBulder, is there a way to rotate some meshes (corridors) if they are placed along a particular axe? Say if the corridor is along X no rotation but if is on Y rotate 90 degrees.
    Sure, you can use transform rules for this. In the "Get Node Offset" function, you'll find a pin called MarkerTransform. Use that to determine the existing rotation and rotate accordingly

    Leave a comment:


  • replied
    Apologies for the delayed response

    Originally posted by DaveStitch View Post
    Hello,

    I have recently purchased your plugin as I'am interested in the Graph Grammars that you are using, however I cannot find any information on your Mission Grammar and how to use it.

    Is there any documentation on this feature?

    Thank you,
    Dave Ruptash
    StitchHeads studio
    Hello DaveStitch Please check this: https://coderespawn.github.io/dungeo...ser-guide-ue4/
    Last edited by Ali Akbar; 12-08-2019, 01:06 AM.

    Leave a comment:


  • replied
    What happened to landscape modification in Grid? I cant seem to find this option anywhere. Its not where the video is showing, and the example project is ue4.12 :/ Ali Akbar

    Leave a comment:


  • replied
    Hey Ali,

    First off, I would like to thank you for this plug-in. Even though I have had the plugin for awhile, I have never tried anything with it. I would like to ask a question here if I may. Months ago, you said that you used XYZ dungeon kit to make the underground dungeon. What kit was that again? I have skimmed over the pages and I am not able to find that one post.

    Cliff

    Leave a comment:


  • replied
    You remember that one time tht Ali Akbar disapeared? : P

    Leave a comment:


  • replied
    Been playing around with this a bit more, using the GridCustomDungeonBuilder... sadly, it looks like it's got a few bugs.

    I setup two rooms as per the example:

    UGridCustomDungeonBuilder::GenerateCustomLayout_Implementation(UGridDungeonConfig* GridConfig)
    {
    int32 Room1ID;
    int32 Room2ID;
    RegisterRoom(5, -3, 9, 7, 7, Room1ID);
    RegisterRoom(8, -11, 7, 6, 5, Room2ID);
    ConnectRooms(Room1ID, Room2ID);
    }

    ... and the corridor that is generated utterly fails to connect them in a somewhat spectacular fashion, though it does put the doors in the correct place

    Judging from the responses, I'm guessing bugs aren't being fixed? Is the plugin even being maintained anymore?

    Leave a comment:


  • replied
    Originally posted by whisper2shade View Post
    Z fighting is there because the corner pieces occupy the same space as the walls.

    The whole problem is that when i use normal wall pieces for the whole room, the corners of the room from the outside have z-fighting because the wall pieces intersect at the corners of the room. It looks ugly when the player is outside the room.
    The solution was to use the corner wall presets from the multistory pack that contain both the corner wall parts in a single mesh, so there is no z-fighting from the outside. But if i use the corner marker emitter from the grass land demo to place the corner wall pieces, i have to somehow stop the standard wall pieces to spawn at the corners of the room.because at each corner i have the corner pieces and 2x classic wall pieces. And there s a hell of a lot of z-fighting then.
    I need to create a selector, that will select (or deselect) the 2 corner wall pieces from each corner.
    THIS^^^

    We're having significant problems with the Z fighting too... corners and wall ends suffer the same problem. It's also a major issue on "T" pieces when two rooms are adjacent but offset slightly.

    It only seems to work in situations where the mesh isn't textured, but soon as a reflection or light hits it, it's a real mess

    Has anyone had any joy trying to implement 90 degree corners rotated to fit more accurately, or wall ends (180 degree) that don't intersect the existing geometry, or knows how to achieve that?
    Last edited by PatangoWango; 10-17-2019, 10:47 AM.

    Leave a comment:

Working...
X