-
Notifications
You must be signed in to change notification settings - Fork 2
Description
TechType.Constructor is not one of the progression entities in
| /// Define the entities which progress the game state, i.e. "unlock" other entities. Mostly characterised |
As a result we can get cases where building a Mobile Vehicle Bay requires diving to depths which are assumed to be reachable via access to the vehicles which require it.
For example in a recent game I got the spoiler logs below which gave me these fragment locations:
Fragment | Locations (SubnauticaRandomiser.Objects.Biome Depth)
-------------------|-----------------------------------------------------
Seaglide | Grand Reef (300), Mushroom Forest (150), Dunes (200), SparseReef (100)
PRAWN | Mushroom Forest (150), Safe Shallows (0), Kelp (50)
Seamoth | Safe Shallows (0), Mountains (200), Sea Treader Path (200), Crag Field (200)
Mobile Vehicle Bay | Dunes (200), Grand Reef (300), Mushroom Forest (150)
It looks like ProgressionManager calculates a reachable depth based on the unlocked vehicles but I wasn't actually able to construct them without the prerequisite Vehicle Bay. My actual progression required unlocking the rebreather and tank and fin upgrades in order to reach my final required fragments in the grand reef.
Reading the code I can't be sure if the intended progression path even considers the potentially randomized data box locations or only fragments so I'm not sure if you could get stuck needing a stack of basic tanks to reach data boxes and fragments only found in deeper biomes.
To be clear, this wasn't an actual soft lock but it did add a greater challenge than the calculated reachable depth showed and means randomized games may not play out the way the intended progression path suggests.
Including the Vehicle Bay as a progression entity would push the vehicles toward deeper zones and increase the chance that a player uses all of them to progress gradually rather than gaining access to them all at once when the Vehicle Bay is finally unlocked. I'm not sure if it would be better to get the Vehicle Bay early (implementing it as a prerequisite for the vehicles), when the player cannot use it yet because they have not unlocked any vehicles, or after unlocking a vehicle (not counting the vehicle towards reachable depth until it has been unlocked).
Hopefully all of that makes sense 😵
*************************************************
***** SUBNAUTICA RANDOMISER SPOILER LOG *****
*************************************************
Generated on 2/2/2025 1:32:35 PM with v0.12.0
Craft SeaglideFragment to reach 106m
Unlocked LaserCutterFragment.
Craft ExosuitFragment to reach 1700m
Unlocked SeamothFragment.
Unlocked PropulsionCannonFragment.
Unlocked CyclopsBridgeFragment.
Unlocked CyclopsEngineFragment.
Unlocked CyclopsHullFragment.
*************************************************
***** SUBNAUTICA RANDOMISER SPOILER LOG *****
*************************************************
Generated on 2/2/2025 1:32:35 PM with v0.12.0
///// Fragment Locations /////
// Note: Biomes which end in _TechSite are the big, explorable wrecks.
// Biomes which end in _TechSite_Barrier are inside the wrecks, behind laser cutter doors.
// Biomes which end in _TechSite_Scatter are medium-sized Aurora debris out in the open.
BaseBioReactorFragment: GrandReef_TechSite_Barrier, Kelp_GrassSparse, CragField_Grass, Dunes_TechSite_Scatter, GrassyPlateaus_TechSite_Barrier,
BaseMapRoomFragment: Dunes_TechSite_Scatter, CragField_Sand, KooshZone_TechSite_Barrier, SeaTreaderPath_TechSite_Barrier,
BaseNuclearReactorFragment: Kelp_GrassDense, Dunes_TechSite_Barrier, Mountains_TechSite_Barrier, GrassyPlateaus_TechSite,
BatteryChargerFragment: DeepGrandReef_AbandonedBase_Exterior, Kelp_GrassDense, MushroomForest_Sand, Kelp_TechSite_Scattered,
BeaconFragment: UnderwaterIslands_TechSite_Barrier, GrassyPlateaus_TechSite_Barrier, Dunes_TechSite, GrassyPlateaus_TechSite, SparseReef_Techsite_Scatter,
ConstructorFragment: Dunes_TechSite_Barrier, GrandReef_Ground, MushroomForest_TechSite_Barrier,
CyclopsBridgeFragment: Kelp_TechSite_Barrier, SeaTreaderPath_TechSite, Kelp_TechSite,
CyclopsEngineFragment: Kelp_TechSite_Barrier, GrassyPlateaus_TechSite_Barrier, Kelp_TechSite_Scattered, SeaTreaderPath_Grass, KooshZone_TechSite,
CyclopsHullFragment: Kelp_TechSite_Barrier, SafeShallows_TechSite, KooshZone_TechSite,
ExosuitDrillArmFragment: SparseReef_Techsite, KooshZone_TechSite, GrandReef_TechSite_Scattered, UnderwaterIslands_TechSite_Barrier,
ExosuitFragment: MushroomForest_Grass, SafeShallows_TechSite_Scattered, Kelp_TechSite_Scattered,
ExosuitGrapplingArmFragment: GrassyPlateaus_TechSite, BloodKelp_TechSite, CrashZone_Sand,
ExosuitPropulsionArmFragment: Kelp_GrassSparse, CragField_Ground, MushroomForest_Grass, KooshZone_TechSite_Scatter,
ExosuitTorpedoArmFragment: MushroomForest_TechSite, JellyShroomCaves_AbandonedBase_Outside, GrandReef_TechSite_Scattered, SafeShallows_TechSite_Barrier, GrandReef_TechSite_Barrier,
GravSphereFragment: GrandReef_Ground, BloodKelp_TechSite, KooshZone_TechSite_Scatter, CragField_Grass, GrassyPlateaus_Sand,
LaserCutterFragment: MushroomForest_Grass, GrassyPlateaus_Grass, GrassyPlateaus_TechSite_Scattered, SeaTreaderPath_Sand, MushroomForest_Sand,
LEDLightFragment: DeepGrandReef_AbandonedBase_Exterior, CragField_Sand, SeaTreaderPath_Sand,
MoonpoolFragment: GrassyPlateaus_Grass, MushroomForest_TechSite_Barrier, SparseReef_Techsite,
PowerCellChargerFragment: CragField_Grass, Mountains_TechSite_Scatter, Mountains_TechSite, FloatingIslands_AbandonedBase_Outside,
PowerTransmitterFragment: BloodKelp_TrenchFloor, Dunes_TechSite_Scatter, SeaTreaderPath_Grass, JellyShroomCaves_AbandonedBase_Outside,
PropulsionCannonFragment: CrashZone_Sand, Kelp_GrassDense, Mountains_TechSite_Barrier, SeaTreaderPath_TechSite_Barrier, GrandReef_TechSite_Barrier,
SeaglideFragment: GrandReef_TechSite, MushroomForest_Grass, GrandReef_Grass, Dunes_TechSite, SparseReef_Techsite_Scatter,
SeamothFragment: SafeShallows_TechSite_Barrier, Mountains_TechSite_Scatter, SeaTreaderPath_Grass, SeaTreaderPath_TechSite_Scatter, CragField_Sand,
StasisRifleFragment: UnderwaterIslands_TechSite, DeepGrandReef_AbandonedBase_Exterior, FloatingIslands_AbandonedBase_Outside, Mountains_TechSite_Barrier, CragField_Ground,
ThermalPlantFragment: GrassyPlateaus_Sand, SeaTreaderPath_TechSite_Scatter, Kelp_GrassSparse, KooshZone_TechSite_Scatter,
WorkbenchFragment: SparseReef_Techsite_Barrier, SeaTreaderPath_Grass, Mountains_TechSite_Barrier, CragField_Grass, Mountains_TechSite_Scatter,