2023年12月8日金曜日

ディープロック・ギャラクティックのカスタム難易度クイック&ダーティガイド

 ディープロック・ギャラクティックのカスタム難易度クイック&ダーティガイド

written by Virryn

AssemblyStormが作成したカスタム難易度

The Brainによってテストされた様々な値


この(できれば)簡単なガイドは、あなた自身のカスタム難易度プリセットを作り始めるのに役立つはずだ。始める前に、いくつか言っておかなければならないことがある:



変数の中に配列がある場合、その配列の4つの値はそれぞれロビーにいるプレイヤーの数に対応します。例えば、Haz5のEnemyDamageResistance変数は、ソロかデュオなら1.2、3人なら1.4、フルチームなら1.5だ。このガイドでは、配列をサポートするフィールドは斜体で表示される。配列のほとんどの値は乗数である。



一部のフィールドには "ビン "があります。ビンには最小値と最大値の整数値が格納され、ゲームではその範囲内の値をランダムに生成して計算します。たとえば、EnemyWaveInterval(大群が発生するまでの時間を決定する)には3つのビンがある:最小/最大値が160/180のもの、230/280のもの、299/299のもの(Haz5の値、単位は秒)。これらのビンは "重み付け "することができ、ゲームにそれらを選択する頻度を指示することができる。重みが大きいほど、ビンが選択される確率が高いことを意味し、重みが0であれば、ビンは選択されないことを意味する。このガイドでは、ビンを含むフィールドは太字で表示されます。


Custom Difficultyの仕組みの中には、十分に理解されていなかったり、直感的でなかったり、あるいは名前が適切でなかったりするものがある。CDのフィールドはゲームのコードからそのまま引っ張ってきたものなので、このガイドを読んでもまだ理解できないことがあれば、それはGSG以外の誰も理解していない可能性が高い。



名前と説明:

難易度プリセットには好きな名前をつけることができるが、簡潔で有益な名前にしておくのがいいだろう。また、他のプレイヤーにその難易度が何を提供するのかを説明することもできます。ロビーにいる他のプレイヤーは、あなたがプリセットで変更した実際の値を読むことができます。



MaxActiveCritters, Swarmers, & Enemies:

Crittersは一度に存在できる敵対的でないクリーチャーの最大数を決定する。このフィールドは、実際にどのクリーチャーがこのプールにいるのかを決定するためのテストが必要である。

Swarmersは一度に存在できるスワーマー・サイズの敵の最大数を決定する。これにはGlyphid Swarmers、Naedocytes、Shredders(?)などの敵が含まれる。

Enemiesはマップ上に存在する残りの敵の最大数を決定する。ツルハシを振り回しても死なない場合は、このプールにいる可能性が高い。

敵キャップの良い数値はまだ議論中だが、今のところ改造ゲームプレイで一般的に受け入れられているキャップ値は ソロプレイでは80から120、デュオでは120から160、3人、4人のグループプレイでは180だ。


ResupplyCostとStartingNitra:

ResupplyCostは補給に必要なニトラの量を設定でき、

StartingNitraはミッション開始時にニトラの量を与える。


ExtraLargeEnemyDamageResistance(+B, C, & D):

このフィールドはボス敵のダメージ耐性を決定する。

接尾辞のないバリアントは3種類のドレッドノートのダメージ耐性に影響する。

BはKorlok Tyrant Weedのダメージ耐性に影響する。

CはOMEN Towerのダメージ耐性に影響する。

Dはエリートの敵のダメージ耐性に影響する。


EnemyDamageResistance:

このフィールドはゲーム内のほとんどの大型の敵のダメージ耐性を決定する。これにはPraetorians、Oppressors、Menaces、Goo Bombers、Bulk Detonatorsなどのクリーチャーが含まれる。


SmallEnemyDamageResistance:

このフィールドは他の2つの耐性フィールドでカバーされない敵のダメージ耐性を決定する。これにはグランツやグランツベテラン、マクテラやマクテラベテラン、スウォーマーなどのクリーチャーが含まれる。

M1000のような武器のブレイクポイントを維持するために、プレイヤーのスケーリングや難易度の変更に関わらずHaz5のデフォルト値である1.2を維持することは一般的に良い考えであることに注意。


EnemyDamageModifier:

このフィールドは敵が全ての攻撃で与えるダメージ量を決定する。


EnemyCountModifier:

このフィールドはゲームが任意の時間にスポーンする敵の量を決定する。


これには、ウェーブ、ノーマルウェーブ、固定敵、エンカウント、コンスタントプレッシャースポーン、エクストラクトスポーン、ミニMULEスポーン、ミューテーターウェーブ(スワーマゲドン・スウォーマーウェーブなど)が含まれる。

これは除外される: ドレッドノートのスポーン、ブルードネクサスから徐々にスポーンされるスウォーマー(ただしネクサスがポップされた時はスポーンされない)、クルサイトの敵、Fungus BogsやDense Biozoneのスタティックエッグをポップしてスポーンされるスウォーマー、Rival Presenceのタレット、クリッター。

EncounterDifficulty:

このフィールドは "Encounter "スポーンとしてスポーンする敵の数を決定する。エンカウンター・スポーンはプレイヤーが洞窟内の未探索の部屋から一定の距離内に入った時にスポーンする。

これらのスポーンには通常Grunt packs、Praetorians、Mactera groupなどが含まれる。

これらのスポーンには固定敵は含まれない: Spitballers、Brood Nexii、Breeders、Cave Leechesなどである。

これらのスポーンにはCrassus Detonators、Huuli Hoarders、Prospectorsのような特別なイベントの敵は含まれない。

これらのスポーンはアグロされずにスポーンする。つまり、攻撃しようとする前にプレイヤーは彼らに近づくか、彼らに発砲しなければならない。

難易度ビンは各スポーンイベントまたは各部屋ごとに個別にロールされることに注意すること(部屋ごとに複数のエンカウントが発生するかは不明なのでテストが必要)。


StationaryDifficulty:

このフィールドは静止した敵が何体スポーンするかを決定する。

これらのスポーンは以下の通り: Spitballers、Brood Nexii、Breeders、Cave Leechsである。

これらのスポーンにはIndustrial SabotageのRival Turretが含まれる場合と含まれない場合がある。

これらのスポーンにはCrassus Detonators、Huuli Hoarders、Prospectorsのような特別なイベントの敵は含まれない。

これらのスポーンはアグロされずにスポーンする。つまり、プレイヤーが近づくか、攻撃しようとする前に発砲する必要がある。(これにはBreedersとNexiiも含まれる。BreedersとNexiiはアグロされる前にミニオンの敵をスポーンしようとしない)。

難易度ビンは各スポーンイベントまたは各部屋で個別にロールされることに注意すること(テストが必要)。


EnemyWaveInterval:

このフィールドはウェーブの間隔を秒単位で決める。ウェーブとはミッションコントロールがスポーンする前にボイスラインでアナウンスする大群のこと。

このフィールドはウェーブの持続時間には影響しない。

インターバルビンはウェーブごとに個別にロールされることに注意。


EnemyNormalWaveInterval:

このフィールドは通常波の間隔を秒単位で決定する。ノーマルウェーブ」とはミッションコントロールからアナウンスされないウェーブのことである。

通常ウェーブはPoint ExtractionやRefineryのリペアシーケンス中に出現するスポーンではない。

インターバルビンは通常ウェーブごとに個別にロールされる。


EnemyNormalWaveDifficulty:

このフィールドは通常ウェーブでスポーンする敵の数を決定する。

これはミニMULEスポーン(ミニMULEに接近した際に発生するスポーン)の難易度に影響する。

難易度ビンは通常ウェーブごとに個別にロールされることに注意。


EnemyDiversity:

このフィールドはユニークな敵のスロットを決定する。

このフィールドはスポーンイベントでいくつのユニークな敵がスポーンするかを決定する。例えば、EnemyPoolに10体の敵が存在し、EnemyDiversityに4~8の値を含むビンが1つ存在する場合、1つのスポーンイベントに4~8体の敵が出現する可能性がある。EnemyDiversityが1の場合、グランツとスラッシャーの両方をスポーンすることができる。

このフィールドは通常のウェーブ、告知されたスウォーム内の個々のウェーブ、防衛目標中の個々のウェーブ、救出中の個々のウェーブ、エッグウェーブ、ミニMULEウェーブに影響する。

このフィールドはコンスタントプレッシャースポーンに影響する場合もしない場合もある(要検証)。

多様性ビンはスポーンイベントごとに個別にロールされることに注意。



StationaryEnemyDiversity:

このフィールドはいくつの静止した敵をスポーンできるかを決定する。

このフィールドはEnemyDiversityと同じだが、代わりにSpitballers、Brood Nexii、Naedocyte Breeders、Cave LeechhesといったStationaryな敵が対象となる。



VeteranNormal & VeteranLarge:

これらのフィールドはベテランのバリエーションを持つ敵(ノーマルはグランツとマクテラ、ラージはプレトリアン)に対してスポーンするベテランの割合を決定する。

VeteranNormalが1(100%)に設定されていても、Wardensは通常のGruntsをスポーンさせることができる。

Trijaws(Brundlesは含まない)はVeteranNormalが0に設定されていても敵のプールに入ることがある。

ベテランビンはスポーンイベントごと、またはスポーンした敵ごとに個別にロールされることに注意(要テスト)。

DisruptiveEnemyPoolCount:

このフィールドはユニークなディスラプティブエネミーに使用できるスロットの量を決定する。

これらのスポーンは以下の通り: Grabbers、Wardens、Shellbacks、Menaces、Goo Bombers、Bulk Detonators。

敵のプールはミッション開始時に生成され変更されないため、多様性のビンはミッションごとにロールされることに注意。


MinPoolSize:

このフィールドは、直感に反して、スポーンプールに出現する敵の総最大数を決定するようだ。


MaxActiveElites:

このフィールドはエリートの敵が一度に何体スポーンするか、存在するかを決める。(要テスト)


EnvironmentalDamageModifier:

このフィールドはプレイヤーが環境ハザードから受けるダメージの大きさを決定すると考えられている。(要テスト)


PointExtractionScalar:

このフィールドはPoint Extractionウェーブ(または "コンスタント・プレッシャー "ウェーブ)がスポーンする頻度を決めると考えられている。

しかし、1に近い値と10のような大きな値の間に顕著な違いはないようだ。

このフィールドがPoint Extractionの大群の間隔を秒単位で決定することを発見した。しかし、この値の上限は1であり、最初の大群(ミッション開始後4分ほどで出現する)の後でないと有効にならない。スウォームタイマーの計算式は165÷スカラーである。例えば、スカラー値が0.7の場合、スウォームタイマーはおよそ236秒に設定される(165 / 0.7 = ~236)。

このフィールドは定圧タイマー(秒単位)にも影響し、同様の式で40/スカラーとなる。スカラー値が0.5の場合、コンスタント・プレッシャー・グループは80秒ごとにスポーンする。

一般的に信じられていることとは逆に、ポイント抽出の波の頻度は時間とともに上昇することはない。しかし、定圧スポーンサイズは上昇する。

Point Extractionには通常のウェーブは存在しない。


ハザードボーナス

このフィールドはミッション終了時の配当の倍率を決める。MODがApprovedステータスを維持できるように、1.33(133%、Hazard 5の値)より大きくすることはできない。


FriendlyFireModifier:

このフィールドはプレイヤー同士がフレンドリーファイアダメージを与える量を決定する。


WaveStartDelayScale:

このフィールドはMiningミッションの最初のSwarmのスポーン速度に影響する。負の値に設定すると、プレイヤーがドロップポッドに現れると同時に大群がアナウンスされる。これ以外の影響は確認されていない。(要テスト)


SpeedModifier:

このフィールドは地上の敵の移動速度を決定する。MacteraとNaedocytes(?)は影響を受けない。


AttackCooldownModifier:

このフィールドは敵の攻撃速度と攻撃頻度を決定する。攻撃アニメーションの速度を上げる。


ProjectileSpeedModifier:

このフィールドは敵の投擲物の移動速度を決定する。DRAK-25やEPCのような投射型武器には影響しない。


HealthRegenerationMax:

プレイヤーが再生する体力を決定する。ヘルス再生率には影響しない。


ReviveHealthRatio:

このフィールドはプレイヤーが蘇生されたときに得られるヘルス量を決定する。Boscoによる蘇生で得られるヘルスには影響しない。


EliteCooldown:

このフィールドはエリートがスポーンする頻度を決定する。


EnemyPool:

これらのフィールドは次の2つのセクションで詳しく説明する。

SeasonalEvents:

このフィールドではProspector、Data Deposit、Rival Routerなどのシーズンイベントを削除(または再追加)することができる。これらのエントリーを削除するだけで、ミッションに表示されなくなる。

なぜか?これらのイベントはMODの難易度によってうまくスケールしない傾向がある。最も悪名高いのはProspectorで、EnemyCountModifierを増やして誤ってProspectorを発動させてしまうと、一度に5、6体のPatrol Botが押し寄せてくることがある。モディファイされた難易度での激しい群れの中でランダムなプロスペクターをアグロすることは、非常に有能なチームであっても定期的に死を宣告される。

Custom Difficultyの最新アップデートの時点では、Rival EventsもLithophage Meteorsもそのようなフラグが立っていないため、SeasonalEventsフィールドはもはや何の効果も持たない。


EscortMule:

このフィールドはドレッタのダメージ耐性を決定する。

FriendlyFireModifierはプレイヤーがDorettaに与えるダメージ量を決定する。

BigHitDamageModifierは "ビッグヒット "がDorettaに与えるダメージを決定する。数値が大きいほど、受けるダメージが減少する。この値がちょうど1に設定されている場合、受けるダメージは減少しません。

BigHitDamageReductionThresholdは、あるダメージのインスタンスが "ビッグ・ヒット "とみなされる前にどれくらいの大きさでなければならないかを決定する。

NeutralDamageModifierは不明だが、Dorettaに対する環境ダメージを決定するかもしれない。



敵プールの操作


Custom Difficultyでは、好きな敵を好きな敵プールに追加したり、好きな敵プールから削除したりできる。これにはいくつかの方法がある。注意:一部の敵はプールに追加すると挙動不審になる。実験し始めるとゲームがクラッシュすることを覚悟してください。


敵の種類をプールに追加したり削除したりするには、その敵のディスクリプタ名をコピーして、必要なプールの "add "か "remove "フィールドに貼り付けるだけだ。例えば、Q'ronar YounglingsをCommonEnemiesプールに追加するには、"ED_Woodlouse_Youngling "を "add "フィールドに貼り付けるかタイプする:


"CommonEnemies": {

    "clear": false、

    "add": ["ED_Woodlouse_Youngling"]、

    "remove": []

  }



現在の敵の記述子の完全なリストはここにある。


EnemyPoolは基本的に "核オプション "である。これに敵を追加すると、ミッションの途中であっても、即座にプールに追加される。しかし、一部の敵は適切なスポーンロジックを受けず、全くスポーンしないか、あまりにも頻繁にスポーンするため、これは望ましくないかもしれない。


CommonEnemiesにはGrunts、Praetorians、そしてそれぞれのベテランバリエーション(Slashers、Guards、Oppressors)が含まれる。敵はミッションの前にこのプールに追加または削除する必要がある。


SpecialEnemiesにはWeb/Acid Spitters、Exploders、Macteraとそのベテランバリエーション(TrijawsとBrundles)、Swarmersが含まれる。敵はミッションの前にこのプールに追加または削除する必要がある。


DisruptiveEnemiesにはGrabbers、Wardens、Shellbacks、Menaces、Goo Bombers、Bulk Detonatorsが含まれる。敵はミッションの前にこのプールに追加または削除されなければならない。


StationaryEnemiesにはSpitballers、Brood Nexii、Breeders、Cave Leechesが含まれる。敵はミッションの前にこのプールに追加したり、このプールから削除したりする必要がある。


EnemyDescriptorsフィールドでカスタムの敵記述子を作成することもできるが、このガイドでは構文以上の詳細には触れない。主な用途は、特定の敵のスポーン率を増減させることだ。操作できる特定の敵のステータスは、敵のディスクリプタ・リストで確認できる。正しく動作しないものもあるかもしれません。

例として、Point Extractionで数秒おきにスポーンする小さな "Constant Pressure "ウェーブ中にスポーンできるBulk Detonatorの亜種を作ってみよう。(ConP "と "ED "という接頭辞は、新しい記述子の名前には必要ないことに注意。)


"EnemyDescriptors": {

    "ConP_ED_Spider_ExploderTank": {

      "Base": "ED_Spider_ExploderTank": { "Base": "ED_Spider_ExploderTank"、

      "CanBeUsedForConstantPressure": true

}


新しい記述子を CommonEnemies プールに追加します:


「CommonEnemies": {

    "clear": false、

    "add": [ConP_ED_Spider_ExploderTank"]、

    "remove": []

  }


バルクデトネーターは高いレアリティを持つため、ゲームは他の敵を優先的にスポーンさせるだろうが、ポイントエクストラクションでスウォーム以外でもスポーンできるようになった。


注意: EnemyPool以外のプールに追加されたカスタムエネミーは、それらのプールのスロットを占有します。



もしあなたがより多くの改造された難易度のゲーム(主にHazard 6x2ですが、よりカジュアルな改造プリセットもプレイしています)をプレイすることに興味があり、一緒にプレイする仲間を探しているなら、Practical DRG Discord Serverに気軽に参加してください。私たちはDRGの限界に挑戦することを楽しむ人たちの、小さいながらもかなり活発なコミュニティです。


クレジット

Custom Difficultyを作成したAssemblyStorm;

Elythnwaen:敵のヘルススケーリングとその他の敵のステータスの正確なリファレンスを作成してくれた;

The Brain:Custom Difficultyのメカニズムのいくつかをテストしてくれた;

Gaming Existence:どの敵がどのプールに分類されるかを紹介する詳細なビデオを提供してくれた;

The DRG Wiki:隠されたゲームメカニクスに関する(通常は)信頼できる情報を提供してくれた;

Hazard6とHazard7のオリジナルMODを作ったIke;

そしてGhost Ship GamesはDeep Rock Galacticを作った。

 Hazard 6 and 7: A Discussion on the Meta of the Hazard File

Originally created (Dec 2020)

Updated (Oct 2021)

Summary and General Philosophy: 

This edition of Hazard 6 and 7 is a first pass at creating a difficulty to counter the power creep of DRG in line with base game difficulty scaling. The variety of builds and tools at our disposal has been continually expanding; this is not necessarily bad power creep! GSG has continued to create new content and more options for builds, but they have not kept up the difficulty to match the power boosts of perks and OCs.


This is a first pass because it primarily looks at changing the hazard file itself which is how difficulty scales. This is separate from tuning mission or creature files to balance our antagonists or the tamping down of overtuned weapons and perks which could also affect difficulty. The overall philosophy of this mod is to preserve the core mechanics of DRG while scaling up as much of the elements of difficulty in the hazard file as possible. Each element was tested independently and extensively to determine its effects and dozens of versions of both Hazard 6 and 7 were tried to find the right mix. In this document I will briefly describe each element of the hazard file in this mod and how it affects the challenge of the game to help readers understand why I made certain adjustments and not others. A full table of these variables for every hazard is listed in a separate spreadsheet. Feedback on this mod is much appreciated, my only goal here is to make DRG a better game by keeping the difficulty fresh, dynamic, and challenging. I also welcome anyone to come play with us sometime; I am always happy to teach people through these difficulties.


Scaling for 2 players: 

In the base game Hazards there is almost no scaling from one to two players. This is because you lose Bosco. As strong as Bosco is, he is better at completing objectives than killing enemies. A Hazard 6 or 7 player should be a little better than Bosco (maybe not the average Hazard 5 player though), so bumping up the challenge for two players rather than keeping it flat was a design decision I made intentionally. 


Lower Difficulty Variance: 

In the base game Hazards there is a substantial variance in the difficulty of each variable that is determined by the map seed. This is determined at the start of the mission and cannot change within the mission. (For instance Haz5 can have no vets or stationary enemies in a seed!) I do think it makes for a more interesting game if there is variance and you don’t know whether the next wave is coming in 30 seconds or 3 minutes, but unfortunately after the first wave it is set in stone and allowing it to go too low would just create a chance for the mission to be impossible or if parameters are made too high would make the mission too easy. Most people will not be playing Hazard 6 and Hazard 7 very often. It should be a special challenge you need to take seriously and get a crew together for. Given that, I would prefer that the difficulty of these modded Hazards be intense every single time. Also, frankly, it’s just easier to test things that way and I don’t want people playing two games and coming to me saying it’s not that much harder than Haz5. I tried to leave some small windows, but most variables are maxed out every game. So it is not that Haz6 is much harder than Haz4->5, it’s somewhat harder than Haz5 at its hardest. This means it is much harder on average. I am open to increasing the variance in the future, and certainly if the Devs were to implement Hazard 6 I would expect them to keep wider intervals.


Resupply and Drill Health Buffs: 

Packed with Hazard 6 and 7 are two buffs to the player. The first is that resupply cost is reduced to 60 nitra (50 for Haz7). This is primarily to prevent RNG nitra spawns from locking the team out of a resupply early on in Mining/Refining/Salvage Op missions. Significantly increased enemy diversity and wave size mean there is plenty of health to chew through and I also think the ammo meta is a little too strong. The best way to counter that is to throw in a lot of high threat enemies and increase the ammo pool so hard hitting builds are needed to counter them which is what I have done in these mods.


Doretta has received an armor buff effectively doubling her health and a 20% buff to repair speed while in combat. While players can dodge and control enemies, protecting Doretta from the numerous menaces and spitters that will spawn with higher diversity can be pretty difficult. Not to mention the threat of all those bulks. I wanted it to be possible to back off the drill temporarily and to actually make it to the Heartstone with a tread left as well as allowing clutch repairing to save the day when people are downed. I tested extensively to make sure a doretta death was still very possible but not the most common failstate which is frustrating. Doretta can still bite it for sure (that enemy count increase affects the flying rocks and I don’t include ‘babbys first boss fight with addies’ mod that lowers their health), but now you won’t have Doretta death as 95% of fail scenarios.


Some may note that I kept both the buffs similar or both Hazard 6 and 7. Part of that was certainly convenience, but also these buffs don’t necessarily make the combat too much easier; they just exist to prevent the failure scenarios of running out of ammo and Doretta dying from being too common. I want these failstates to be a threat, but not the primary one. Also, one of the primary threats to Dotty and your ammo pool is consistent enemy diversity which is substantially higher in both than the base game but not too much different from each other. 

The Hazard File

(refer to the Hazard Scaling Spreadsheet for exact numbers)


Hazard Bonus: 

This is the in-game reward multiplier. It has always been my opinion that difficulty is multiplicative. Hazard bonuses tend to increase linearly. I landed on 1.66 and 2.0 to make it parallel with Haz4->5 despite it probably being a bigger jump in difficulty than that. I am not worried about Hazard 6 and 7 being farmed; as with other Hazards your best bet is to play a hazard you can complete, and these are not designed to be easy to complete. Farming a lower hazard with weapon mods is a much faster farm.


Hazard Name: 

A fun feature of these mods is that they will show up as ‘Hazard 6/7’ in your steam and discord status. Get your friends curious. Why is it called Hurtme and Killme? Well the Hazard 5 name is ‘Lethal’ and I needed to keep the same number of characters. Those were the names of Hazard 6 and 7 that Medicknight originally came up with in early 2020 and since he taught me how to mod and helped me parse the Hazard files I kept the names as a homage to him. 


Enemy Damage:

I was wary of increasing enemy damage multipliers in Hazard 6 and 7. In the end I increased enemy damage substantially to keep changes consistent between hazards, but there is less of a jump to 6 and 7 than other hazards. Enemy DPS is increased in other ways through attack speed, projectile speed, enemy diversity, and enemy number. I also was concerned about unevenness between enemy attacks. Praetorian spray and acid spitters hit very hard as is. Menaces are killer at close range. Mactera spawns don’t need more damage. I am open to the idea that grunts and webspitters could deal more damage per hit, but that is a problem best addressed by creature balancing rather than the hazard file. 


Enemy Attack Speed:

Enemy attack speed primarily determines the animation speed of bite attacks. It was increased in both Hazard 6 and 7 and I think it makes slower enemies like Oppressors more threatening without making grunts DPS monsters. However, when testing values above 3, the first bite of Praetorian and Dreadnaught class enemies came out extremely fast which I think is counter to their role as a punishment for staying too close to a large enemy rather than something that could sneak up on you. 


Enemy Projectile Speed: 

This was increased to 1.9 for Hazard 6 and 7. Attempts to increase it past 2.0 made it almost impossible to dodge Mactera Spawn and Spitballer attacks, especially if you are not the host. I want there to be counterplay to these enemies if you are paying attention to them, and I don’t want to disadvantage players with a little ping so 1.9 is a good middle spot. This also seems to affect the fire rate of enemies as Menaces received huge DPS increases with high projectile speed making them get too much free damage if they burrowed out near you.


Enemy Movement Speed: 

This was one I wrestled with for ages. I turned it up and down, convinced that speed was critical to difficulty. Every time I played with high enemy speed I kept leaning too hard into cheese to avoid slashers. Ultimately, this modifier is 90% about grunt speed. Flying and ranged enemies aren’t really affected. Increasing Bulk Detonator and Praetorian Speed matters, but since they are much slower they are not that much faster in absolute terms. Grunts on the other hand rocket towards you then shuffle in line to find a spot for a bite. This removes time to react to an oncoming swarm in a dynamic way. Additionally, creature turn speed is not in the hazard file so at some point enemies become much faster in a straight line than they are at turning. That incentivizes players to jump over and around them to create space which is a little cheesey. I think that 1.25 is a good speed; faster than Hazard 5, but the relative pace of the combat isn’t thrown off with racecar slashers. 


Friendly Fire: 

Steady increases in line with other Hazards were in line here. The problem with Friendly Fire in DRG is less about its absolute level and more about how it works weapon to weapon. The Autocannon does zero despite having decent direct DPS with Big Bertha but the minigun shreds allies? The BC does almost nothing despite having way more damage than the PGL? The changes for Hazard 6 and 7 shouldn’t have a major impact on the way the game plays, these weapon imbalances still exist and people are familiar with them. I find advanced players tend to be good about not friendly firing so this hasn’t been a huge impact..


Environmental Damage: 

Similar to above, environmental (includes fall damage) damage was tuned up to have parallel increases with other Hazards. I didn’t increase it as much as the base game hazards did because of how it works. At a certain speed you start taking X damage, which is multiplied by this number. It was becoming a little too easy to fall just far enough to take damage and then take the entire .1 minimum health. It also makes grabbers much stronger which they don’t need to be. 


Revive Health and Max Health Regeneration: 

These are soft capped at 0.1. Beyond this amount the red overlay sits on the screen permanently. For convenience of not having to add mods that remove it, players will lose the blood outline as they regen to 0.1. Realistically, even .1 won’t save you from much.


Point Extraction Scaler: 

PE is a strange mission type. I’ve set this scaler to 20 and barely noticed the effect but, I definitely notice the difference between 0 and 1. For Hazard 6 and 7 I increased the scaler to keep it in line with increases in other Hazard files.


Enemy Count: 

This is perhaps the most sensitive dial on the board. Enemy count multiplies the point value of every spawn cohort in the game. Small changes have huge impacts, especially with wave strength getting as big as it is, small changes to the multiplier result in large absolute differences. Still, in order to make every aspect of the game more difficult this should be tweaked because not every spawn is decided by the wave size multipliers. I did extensive testing with all sorts of values for enemy count with different player amounts. These increases for Hazard 6 and 7 respectively add a lot of challenge and put the enemy number in a place I believe is appropriate. 


Normal Enemy Resistance: 

This affects the health of enemies with very specific breakpoints. Grunts, spawns, swarmers, jellies, etc. I did not increase this for Hazard 6 or 7 to preserve breakpoints in the base game that future updates or balance mods may address directly. Even Hazard 5 does not increase this from Hazard 4 for likely the same reason.


Large Enemy Resistance: 

This is medium enemy health and does affect some multi-hit breakpoints on enemies like goo Bombers, Grabbers, Menaces, etc. for hard hitting weapons like the bulldog and M1K. Pushing it too far makes medium enemies feel pretty spongey, but I think that giving them a few more hits is important to counter the extreme strength of weapons like ER Bulldog and M1k on Hazard 6 and 7 where those types of powerful disruptive enemies are much more common. Also due to power creep enemies like praetorians and goo bombers have become glass cannons and need more staying power. Another issue I encountered was that though breakable weak point enemies had their weak points scaled up proportionally, less overkill on the weak spot from the same damage weapon (which is counted by the weak point multiplier) made the health remaining after weak points were broken much higher. Every goo bomber flying around with several hundred health after both weak points are busted starts to go against the design of the enemy (not to mention bulks!) so I held back on scaling this value up as much as I would have liked. This applies to menaces, hives, and bulk detonators as well.


Extra Large Enemy Resistance: 

There are a couple different categories here which represent the health pools of Dreadnaughts, Korloks, and Bet-C. I significantly increased the health of these boss encounters because to a coordinated team they go down in seconds which is disappointing for what should be a boss fight. They certainly feel tough when you are doing all the work yourself, but several times I had to double check I had the values right because our lobbies were killing Dreadnaughts with double Hazard 5 health in under a minute. This is how it should be; bosses shouldn’t be easily soloable but a team with a plan should have no problem. Making bosses into damage sponges isn’t the most interesting way to increase difficulty, the hazard file also increases their speed, damage, and attack rate. I decided to only increase the boss health by about 50-100% with the intention to look at more interesting ways to buff the Dreadnaught in its specific creature file. The fight is still a little easy as is. 


Update: they made dreadnaughts interesting by adding variants. They are in a great place with this mod now and I don’t have to run potatolaser’s dread buff mod anymore! I recommend my ‘more rare encounters’ mod to fight more BET-Cs and Korloks.


Encounter Wave Strength: 

This governs the size of announced waves which are present in every mission type except Elimination and Salvage Operation. The wave has a set amount of cohorts that it spawns in so increasing the power of this variable will not increase the length of the wave; rather it will just spawn in more enemies at once. A particular challenge with balancing this wave is that the first wave comes very quickly on mining and refining missions where you may not have time to set up and get a resupply ready so if it is too large those missions get busted. In contrast, Egg and Point Extract missions often allow you plenty of time to set up and prepare so in an ideal world I would love to make it huge on those missions. The Hazard file should work to achieve a balance for all mission types though and I think this is a good spot.


Encounter Interval: 

This is the number of seconds between encounter waves on Mining, Refining, and Point Extract missions. Initial Hazard 6 mods turned this down to barely over a minute. This was a little too oppressive in my opinion. The counter starts ticking as soon as the last cohort has spawned so waves of praetorians that took a while to walk to you and be killed can cause waves to bleed together. This puts enormous pressure on ammo and prevents recovery if some dwarves go down or kite far away. This also starts to really discourage extracurriculars like getting minerals, completing side objectives, or doing machine events. Finally, it damages the core pacing loop of DRG which is moments of eerie serenity interspersed with pounding synth-laden chaos. Hazard 6 and 7 shorten this window to encourage speed and efficiency, and shorten it more than the gap between most normal hazards even, but there is still time to rest between the encounters.


Stationary Enemy Strength: 

This is the pool of points stationary enemies spawn from. That includes spitballers, leeches, and hives, but also roaming troops of grunts. Each mission type interacts with this point pool differently and keeping it strong really helps emphasize the differences between mission types. Salvage operations start quiet but then have a huge room full of tons of enemies that you must carefully push into. Too fast and you will be overwhelmed, too slow and you will run out of ammo because that’s where the nitra is. Egg missions are infamous for dropping you in the middle of chaos which only subsides when you clear the room. Mining missions have stationary enemies, but are much more about racing against time because of the encounter waves. I significantly increased this value because I think it adds variety to the game and forces teams to coordinate and plan their approaches rather than just rush off in their own direction. (In haz5 it can be 0 WTF) The one challenge of this variable is refining missions. The difficulty of refining missions combines being dropped into a messy room with encounter waves on a timer. If I turn down stationary strength Salvage Operation and Egg missions suffer, but if I space out the encounter waves mining and Point Extract suffer. So refining is a little rough for now; in the future I will look into the specific mission file. 


Normal Wave Strength: 

This is the pool of points the normal wave spawns from. The normal wave is present in some form on every mission type and is the unannounced cohort of enemies that spawns every few minutes. It only spawns one cohort, so increasing this number just causes all the enemies to spawn at once. I would prefer to be able to space it out a little. I increased the strength in Hazard 6 and 7 by comparable amounts to the base game Hazards. I struggled a lot with this variable because I would prefer it to do different things on different missions. On elimination missions this wave is extremely important. It’s the only consistent pressure and the main challenge of the mission is dealing with it spawning in the middle of a dreadnought fight.  On Salvage/Refining missions it certainly is a form of consistent pressure, but once the room is cleared it poses no threat and making it too large can force you out of ammo before the room is secured. It also makes mining missions run out of ammo early if you don’t get good nitra spawns. It’s in an odd place and I am open to making it stronger after the mission files have been adjusted.


Normal Wave Interval: 

This is the time in seconds between normal wave spawns. I did not reduce it much past the Hazard 5. As mentioned above I think there needs to be a decent lull between activity, and pushing into a Salvage Operation room with a huge wave spawning on you every 2 minutes gets a little crazy. I would love to reduce it on Elimination missions where it should be tough to kill the Dreadnaught in the space between waves, but the time it is at is in an alright place.


Enemy Diversity: 

This variable reduces the chance that two enemies of the same type spawn in a wave. I think keeping this high is key for difficulty. Fighting 200 grunts is mindless, easy, and makes certain weapons shine too much. I want more armored enemies like shellbacks, more long range enemies like menaces, and more tanky enemies like Goo Bombers to make camping ziplines or spamming cryo/sticky flame less effective and force you to bring a varied kit or rely on your teammates to cover your weaknesses. Even as high as it is, you will still see a (visually at least) terrifying sea of 40 veteran grunts crawling down the wall from time to time. 


Stationary Enemy Diversity: 

This variable essentially converts roaming troops of regular grunts into Spitballers and Breeders. Good. I kicked this up a ton from the base game and it really makes new rooms tough to push into. This forces planning and situational awareness. It gives the tunnels and rooms weight rather than just a long string of kiting with the flamethrower.


Grunt Veteran Percent: 

This determines how many grunts spawned will either be a slasher or a guard. This does not apply to stationary roaming grunts or the grunts spawned by wardens. Older versions of Hazard 7 had this at 100% and normal diversity which made an ocean of guards which was hard to wade through and a strain on ammo. This needs to be high because regular grunts are not challenging in the slightest. There is no meaningful challenge increase from 10 grunts to 200 grunts. Since enemy diversity is fairly high, grunts are only part of the oncoming horde and serve to provide important melee pressure on players as they juggle dealing with ranged and disabling threats. Slashers provide intense pressure and guards are pressure that isn’t so easily turned away.


Praetorian Veteran Percent: 

This determines how many praetorians spawned are converted into Oppressors. This doesn’t apply to stationary roaming praetorians spawned at the start of the level. I increased this variable the amount as the base game Hazards do for Hazard 6 and 7. I don’t feel that this variable needs to be increased significantly because Oppressors are not much more of a threat than regular praetorians. Oppressors are slow and easy to avoid. They are designed to help the horde through chokes, prevent downed players from being revived, and just slow down the combat. Having all Oppressors would make combat too slow and just be less fun. They also have some very specific counters in melee and ice so making them more numerous would also upset weapon/perk balance a little bit. 


Disruptive Enemy Pool: 

This determines the number of unique disruptive enemies in the spawn table. I set these values to allow all enemies to spawn since I think that makes the game more interesting and gives you the full haz6 experience every time.



How Spawning Works

Point Values:

Every enemy has a point value. Less for small enemies more for big. The point value for a wave comes from three places: The wave strength (in the haz file), the mission specific multiplier (in the mission file), and the overall enemy count (top of the haz file). This allows enemy count to be adjusted for different wave types and missions. I don’t know what each enemy point value is, someone would have to data mine.


Diversity, Enemy Type, and the Enemy Pool:

There are 5 enemy types: normal (grunts, pr8s, and their veteran variants), special (spitters, swarmers, mactera spawns), disruptive (bombers, grabbers, shellbacks, wardens etc.), stationary (breeders, spitballers, hives, leeches, etc) and bosses. Only the first three types can spawn in after the game has already started. There is a pool of non-normal enemies that can be spawned according to the seed. In lower hazards for instance, you may only get web spitters and swarmers in addition to the normal grunts and praetorians. On Haz5 there are 7 slots for non-normal enemies but three of them will be disruptive and the rest ‘special.’ On haz6 and 7 I unlock this limitation so all enemies can spawn. This is a bit more extreme than haz4->5 but in general the pool is increasing so it’s not a huge jump.


Spawning in Cohorts:

When a wave is about to be spawned, the point total is added up and split into cohorts. Normal unannounced waves have 1 and encounter waves (think mining mission announced waves) have 8 or so. For each cohort the seed is used to roll an enemy with the diversity variable being used to weight towards bigger enemies. Then it keeps rolling until it rolls a point value too big and it re-rolls until you exhaust the points then it spawns the cohort at once in one place. This is why grunts always seem to spawn, it’s just finishing out the point total with small point enemies.