1. Black Reliquary
  2. News

Black Reliquary News

Captain's Log: Mod Tool Development Part 2

Attention Crew!

This log is a continuation of a series of logs that reviews the development of new modding tools for Darkest Dungeon. We highly recommend that you check out Part 1 before reading this log.

This log focuses solely on new buff stat types and buff rule types that we're developing.

Keep in mind that the mod tools are still in active development, so everything we mention here may change down the line. gibbed, the main developer of the new mod tools, was unexpectedly unavailable due to personal reasons during the turn of the month. This means that some of the changes we lay out today are more tentative than usual.

[h2]Disclaimer[/h2]
We've seen some confusion regarding the mod tools and our relationship with Red Hook. To be clear, the new mod tools we're developing are entirely unofficial. Black Reliquary will have the tools patched in by default, but base DD players will likely need to patch their game in a way similar to SKSE (Skyrim) or Repentagon (Binding of Isaac).

[h2]Buff Source Checking[/h2]
We're very pleased to announce that we've added "has_bsrc" and "target_has_bsrc" rules types. For Black Reliquary, this means that we'll finally be able to use proper conditional buffs for Amerblighted, Expiated, Frantic, Leeching, and Enraged. Previously, checking for ActorDoTs with a skill involved ADoTs applying various buffs and chains of effects on skills. Now, not only will this be simplified, but modders will also have more options. For example, the closest we could get "+ACC vs Expiated" in the previous iteration was multiple "-Dodge if attacked by skill" debuffs applied by the skill that applied the Expiate itself.
Combined with the custom buff sources that we mentioned in the last log, modders will be able to use new buff sources to create new pseudo statuses.

Here's a basic example of how a hypothetical "Armored" status could be implemented

[h2]Tag Manipulation via Buffs[/h2]
In Vanilla, Heroes and Monsters can both have "tags" defined internally. This determines a handful of minor things, such as if a hero is Religious, if a district should apply buffs to a hero, and what sound effects a hero's footsteps use.

We will be including new "has_tag" and "target_has_tag" rule types, which will allow modders to create highly specific, unit-specific conditional buffs.

For example, a trinket could give a bonus based on if the target has a helmet
We'll also be including a new "enable_tag" buff stat type that will allow modders to add tags to Heroes and Monsters via a buff. The tag is only applied as long as the buff is active. This, along with the new tag rules, will let modders use tags in plethora of useful ways.

In Vanilla Darkest Dungeon, you could make a trinket that makes its holder Religious. This could also be used to find out if a hero has a specific trinket or quirk You could even make use of tags to create soft status conditions
There's really quite a lot that modders can do with this, especially with some of the other changes we have in this log. We've only really scratched the surface with the examples given here.

[h2]Trinket Trigger Buffs[/h2]
We think this one will be pretty exciting. We're planning to convert all trinket triggers to buffs. These buffs will work in a similar way to the "riposte" stat type, where they'll take in an effect id as a sub type. This opens the door for quirks, skills, curios, etc. to apply buffs that apply effects on attacks/kills/etc. This would ideally replace standard trinket triggers entirely. All that being said though, we're still researching this, so we want to stress that this is just a possibility at the moment.

[h2]Other Buffs/Rules[/h2]
This section goes over a handful of new buff stat types and rule types. Some of these will only be used for basic backend QoL, while others have more of an impact on gameplay:
  • "extra_battle_loot" and "extra_curio_loot"
    New buff stat type that takes a loot table in a sub type. On battle end or upon gaining loot from a curio interaction, the loot table is rolled. These are meant to mirror certain hero parameters and means that you don't need to use a size 0 enemy summon to have a trinket drop an item.
  • "in_combat"
    New buff rule type that checks to see if the unit is in combat.
  • "difficulty" and "difficulty_min"
    New buff rule type that checks what the current difficulty is. Greatly simplifies making trinkets with effects that scale with difficulty.
  • "target_has_quirk"
    New buff rule type that checks to see if the target of an ability has a specific quirk. Useful for checking to see if a hero is Religious/Faithless/Pagan.
  • "skill_type"
    New buff rule type that can take in a string. Checks to see if a used skill's type matches the string input. Meant to replace "meleeonly" and "rangedonly" rules.
  • "ignore_riposte"
    This new buff stat type causes the user to ignore riposte. Meant to replace the ".can_be_riposted" skill parameter.
  • "ignore_stealth"
    This stat type isn't new, but we're fixing a longstanding issue where it ignores rules.
  • "is_round" and "is_round_before"
    New rules that can be used to give buffs on/before/after specific rounds.
  • "target_rank"
    New rule that checks the target's rank.
  • "target_stress_above" and "target_stress_below"
    New rules that check the target's stress.
  • "combat_stat_multiply" and "combat_stat_add"
    These aren't new, but we're looking at expanding them to take in a new "crit_dmg" sub type. We may move Crit Dmg to a separate buff stat type, but this is what we're trying now.

[h2]The Future / Transparency[/h2]
Unlike last time, we don't have a solid idea as to when "Part 3" of this series will be ready. But, we do know what we want to work on next. We originally planned to look at effects next, but after realizing that trinket triggers could possibly be condensed into buffs, we're switching gears and looking at trinkets next.

We mentioned this last time, but we want to reiterate that 1.0 content development has come to a halt while the modding tools are in active development. A lot of what we're planning depends on these tools in one form or another. We're confident that taking this extra time will improve the final product greatly, but working on the mod tools is expensive, tedious, and ever-fluctuating. All that meaning we still can't give a proper timeline/deadline for the 1.0 release/mod tools.
========================================================================

Thanks again for your support and patience,
-Team Reliquary

Captain's Log: Mod Tool Development Part 1

Attention Crew!

There's a lot to talk about, so jumping straight to the point, this log is mostly going to be talking about a handful of features that'll be in our expanded modding tools, which we mentioned in our last log.

This is going to be a bit more technical than usual, and we'll be focusing on explaining new functionality that the tools provide over reviewing everything that these new features allow us to fix. In other words, this log is going to be directed towards experienced mod developers as opposed to players.
We also won't be going over everything; there's a bunch of smaller tweaks and fixes that the new modding tools will implement that simply don't warrant being included in this.

Keep in mind that the mod tools are still in active development, so everything we mention here may change down the line.

[h2]Darkest Dungeon 64-bit build[/h2]
As you may have recently seen, Red Hook has recently released a new Darkest Dungeon build for public testing, and several Black Reliquary developers helped out with testing/validating it. This new build fixes a handful of long-standing issues and even upgrades the Windows version of DD to 64-bit! We're really happy to see these improvements after such a long time, and we're grateful to Red Hook for giving us a seat at the table and working with us to ensure that our development plans weren't hindered. Moving forward, we'll be incorporating all major changes made to DD, including all bug fixes, crash fixes, exploit fixes, and of course the 64-bit upgrade.

[h2]Custom Buff Sources[/h2]
Probably the biggest thing we've accomplished with our modding tools is that we can now create new buff sources and manipulate existing buff sources with extremely basic lua. These sources were previously hardcoded and were probably the most obnoxious modding limitation we had to deal with.

We've also added new functionality to buff sources where modders can define new tray icons for specific buff sources. This is a gamechanger for modding, as it gives modders a lot more control over UI for custom/unique mechanics. This change essentially allows basic custom "statuses" using Actor Dots or buff fx to exist in a more proper manner. For BR, this means a lot of previously obscured information is now more visible and/or digestible.

Look at all these lovely new icons! Janissary's gimmick should be even more obvious now

[h2]Improved Logging[/h2]
One of the more useful adjustments we've made is that debug/game logging is now written to .txt files. This allows us to see debug logs without having to rely on Darkest Dungeon's base debug output, and most importantly, it gives us information on crashes where previously we had nothing. While crash logging won't really be readable to most mod developers, it will enable the BR Team to diagnose and fix crashes that weren't feasible to fix before.

Debug info written down for later reference

This crash is related to hero activities

This is pretty similar to the new logging in the most recent DD 64-bit build, but our implementation will differ a little in how certain errors are logged and also (hopefully) provide more information on crashes.

[h2]Improved Tooltips[/h2]
Another improvement that we've made is related to tooltip length. Darkest Dungeon has a lot of character limits that are pretty restrictive. We've used a lot of workarounds to get tooltips looking as nice as they do, but the way we've been forced to handle it is both extremely time-consuming and practically illegible.
Seriously, take a look at the tooltips for Crusader or Veiled in the files and try to tell us what's going on. Zero-width character tooltip manipulation is a scourge upon our world.

Anyways, we've drastically increased the size of a bunch of tooltips. Basically anything related to character skills and buffs got their tooltips anywhere from doubled to quadrupled.

Here's a side-by-side using the same stress test tooltips

Perhaps more importantly, we also included some new mode parameters that can be used to hide or partially hide mode information. This is useful if you want a unit to have multiple modes for mechanical reasons, but those other modes don't have relevant tooltip info.

Here's what Musk's Standard Shot looks like without any tooltip workarounds You can hide the info/effects for all the extraneous modes And here's what Musk's Standard Shot looks like with those changes
These params only affect the character sheet and training hall upgrade tooltips. When in combat, the tooltips will still be shown dynamically based on the hero's current mode.
This noticeably still has quite a few edge-case issues, so we'll be working on addressing those in the near future, but overall this will give modders way more flexibility in designing complex heroes by saving them a ton of time and effort by using zero-width characters.

[h2]More Status Checks[/h2]
The last thing we'll be going over is that there are several new status checks for the "is_actor_status" and "actorStatus" buff rule types.
Mainly, you can check if a hero/target has:
  • Horror
  • Restoration
  • Aegis
  • Stumble
  • A Symptom/Disease (just Disease for vanilla)
  • Riposte

Despite the implications of this list, we're only planning to apply these to a handful of trinket and quirks at the moment.
Here are some examples of some minor trinket changes that use these new status checks

What's perhaps more exciting is that we're planning to look at expanding the status checks to automatically include all buff sources, meaning you can check to see if a hero/target has a custom buff source applied to them. This could be a big deal for modders, as it'd grant finer control on buff conditions and could even be used to create conditional buffs vs custom "statuses".

[h2]The Future / Transparency[/h2]
You may have noticed that this log is labeled as a "Part 1". That's right, we're planning on doing 2-3 (depending on how fast things move) more Captain's Logs that focus on our modding tools.
This set of changes was mostly focused on fixing a longstanding set of issues, making UI improvements, and making some QoL changes for advanced DD modding. Moving forward, we'll be focusing more on changes that translate to actual content and aim to have the "Part 2" log completed towards the end of March.

For clarity, 1.0 content development has come to a halt while we continue to chip away at completing our modding tools. A lot of what we're planning depends on these tools in one form or another. We're confident that taking this extra time will improve the final product greatly, but working on the mod tools is expensive, tedious, and ever-fluctuating. We're constantly re-evaluating our priorities based on our testing and the research gibbed does into the engine. All this to say, we still can't give a proper timeline/deadline for the 1.0 release/mod tools in good faith.
========================================================================

Thanks again for your support and patience,
-Team Reliquary

Closed Testing Recruitment

We're looking for closed testers to help provide feedback on the Black Reliquary Dungeon and new mod tool implementations!
Testers must have a Discord account, own Black Reliquary on Steam, be highly active and open about feedback, and able to communicate in English.

Application Form: https://forms.gle/4TuccyZBsZRt1T3L6

Captain's Log: 1.0 Progress Update

Attention Crew!

We hope you've been doing well! It's quite a while since our last Captain's Log, and this one in particular is overdue. This log will be talking a bit about 1.0 progress and, more specifically, our endeavors in creating new mod tools. We won't really be discussing new content too much in this log. We've mentioned this before, but we strongly believe that the Black Reliquary Dungeon itself, along with many other end-game features, will best be experienced completely blind.

We'll also be creating another holiday-themed Captain Q & A video!
You can find the question submission form here:
https://forms.gle/zF87cvvQMkAeuWnE6


Lastly, we'll be recruiting more closed testers towards the end of the November. We're looking for less experienced players to help out with balance testing sections of the end-game.

[h2]1.0 Progress[/h2]
So what have we been up to?
To be frank, development of new assets the last couple of months has been very slow.

But that's because. . .
[h2]WE'RE DEVELOPING NEW MOD TOOLS![/h2]
That's right! We've been holding off on talking about it until we were 100% sure we could see it through, but we're excited to announce that we've been working with gibbed to develop new modding tools for Darkest Dungeon. More specifically, these tools will allow mod developers to hook into the functionality of multiple systems in the game via limited lua scripting. This will also allow us to upgrade Black Reliquary to 64-bit and even get the mod working properly on Mac/Linux. The development of these tools will allow us to add a new level of depth to our end-game, and let us fix many longstanding bugs/crashes that couldn't even be diagnosed before. We'll be publicly releasing the mod tools alongside BR's 1.0 release, allowing other modders to use them for standard Darkest Dungeon modding.

The constraints of modding Darkest Dungeon have been something we've been constantly fighting against. It's hard to get across just how ridiculously limiting Darkest Dungeon's modding capabilities are and how many compromises with gameplay/stability we've had to make. While these new tools likely won't be the perfect silver bullet, it'll make creating new/unique content and fixing/streamlining much of the older content actually possible.

To be completely transparent this does seriously hamstring the development of the 1.0 release itself. In fact, over the last ~5 months we've been putting most of our time/money into developing the foundation of these mod tools, and we've really only just started expanding the functionality of the buff system. Things should move quicker now that a foundation has been established, but the mod tools will need to progress more and we'll need to extensively redo parts of Black Reliquary's backend before new content can continue to be developed.

This might not be what some of our players want to hear, but 1.0's development has evolved into something much more complex than what we original planned. To be clear, the reason we are pursuing these mod tools is because they will let us make a more in-depth and stable final product.

[h2]New Champion-Exclusive Enemies[/h2]
With that announcement out of the way, there are a couple enemies that were shared several months ago, but didn't constitute as enough content for a standalone Captain's Log. So, we'll go into a bit more detail now!

[h2]Ghoul Pharmacopola[/h2]

The Ghoul Pharmacopola is a new Ghoul backliner that primarily functions as an offensive supporting unit. Most noticeably, the Pharmacopola has the ability to give ally Ghouls massive DMG/CRT buffs at the cost of them becoming Frantic.

[h2]Kvarotz Makaris[/h2]

The Kvarotz Makaris is a new Kvarotz Stress-Caster with the ability to summon D'goma (Offerings). D'goma will reduce all healing done by heroes to 0, and can be partially consumed by other Kvarotz enemies to activate Corpse-Requiring skills.

========================================================================

Thanks again for your support and patience,
-Team Reliquary

New Captain Q&A Video

[previewyoutube][/previewyoutube]
[h3]The Captain is Back![/h3]
We've released a new edition of Captain's Q & A!

Just like other times, we posted a form asking for community questions on our Discord and our Twitter, and the Captain answered a selection of them.

==================

Thank you for all of the support!
-Team Reliquary