@DrFrancky I’ve fixed the issue in 2.1.10
@GameMaster79 I won’t wait for larger updates on the marketplace. You’ll get smaller updates alongside the website. I’ll submit a request to Epic with the new build whenever I release on the website. I’ll be sending an update request to Epic (for 2.1.10) in a few hours after testing it on mac
For spatial constraints, I’ll create a video soon
@dremoor Thank you for the screens. I’ve fixed the bug and it no longer created duplicates. The fix will be available in 2.1.10
James, Start module spawning had some issues and is fixed in 2.1.10 and is much faster. I’ll have an update soon
New version is available
Version 2.1.10
- Fixed a bug with duplicate WallHalf and WallHalfSeparator meshes in the Grid Builder
- Fixed a bug where overlapping fence and walls were created with some elevated rooms in the Grid Builder
- Optimized the performance of the Snap Builder by fixing a caching issue
- Fixed a bug where the end modules were also created in the end of branches in the snap builder
- Added support for branch end modules in the snap builder
- Added a flag in the Snap Module Info actor to ignore module count when inserted into the scene. This is useful if you do not want certain types of modules (e.g. small corridors) to contribute to the overall module count
- The Snap door caption is now hidden while playing
4.13 is now supported in the marketplace
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 (.akbar@coderespawn.com)
Great news, thank you!
Excellent news … thank you very much Epic, you guys are … and you are epic … 8-}
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.
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:
PublicDependencyModuleNames.AddRange(new string] { "DungeonArchitectRuntime" });
but i get the following compilation error:
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
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.
Yes, it’s super easy, 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^^):
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
@uced The rivers look
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
Hello,
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
cross post
Thanks for the rivers^^
You’re welcome. Thank you for your support
Fantastic news about the Marketplace, thanks so much [MENTION=28980][/MENTION] and epic!
, You can use DA from your C++ game like this:
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
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
}
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
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
Thansk a lot, there is everything i need.
I can’t wait to try this tonight after work^^