Charle_Roger Posted July 15 Share Posted July 15 (edited) Immersive Chemicals Immersive Chemicals is a collection of mods which overhaul and expand the stock resource system to enrich the experience of heavily modded KSP. The component mods are designed to be played together, but you can pick and choose any subset to play with, like Nertea's Near Future Technologies. The goal is to provide many ways to acquire and process resources into other resources which are useful not only in the the domain of these mods, but many other popular mods too, connecting everything into one cohesive web. There are many resources and resource chains similar to what you might find in RealFuels and MKS, but the Immersive Chemical suite aims to be less complex and more modular rather than centralised and all-encompassing The individual mods are listed below, with the feature progress marked like so: [concepting]: I have a pretty good idea of what this will look like, but haven't started making anything. [development]: I've started making something, maybe even nearly finished it. [ready]: First-pass "done", ready for pre-release. [pre-release]: Available in a v0.x pre-release. [release]: Available in a v1.x release. Immersive Chemical Propulsion 0.3.0 [pre-release] Download Requires: ModuleManager, B9PartSwitch, Immersive Chemical Core, Cryogenic Tanks Replaces stock propellants with a small handful of real chemicals, with engines matched to their real-life inspirations where applicable. I'm mostly targeting rocket engines provided by Nertea's mods at the moment, but suggestions for other mods are welcome. You can think of it as a Nertea-like soft alternative to RealFuels. Monopropellant engines and tanks have a choice of two propellants: HTP which is cheap and low-tech, and Hydrazine which is more expensive but yields a significantly higher specific impulse. [pre-release] LiquidFuel/Oxidizer engines are categorised into one of four types, each of which similarly has a pair "basic" and "advanced" bipropellants with fixed mixture ratios: [pre-release] Hypergolic: 1 Kerosene / 4 HTP 2 Hydrazine / 3 NTO Kerolox: 3 Kerosene / 5 LqdOxygen 5 Pentaborane / 11 LqdFluorine Methalox: 7 LqdMethane / 9 LqdOxygen 3 Diborane / 5 LqdFluorine Hydrolox: 3 LqdHydrogen / 1 LqdOxygen 3 LqdHydrogen / 1 LqdFluorine Near Future Launch Vehicles' KR-701 'Cougar' and KR-74 'Lynx' are bimodal hydrolox engines with an additional kerosene-augmented mode, based on their real-world analogues the RD-701 and RD-704: [pre-release] 1 Kerosene / 4 LqdHydrogen / 3 LqdOxygen Jet engines use Kerosene, with the rocket mode of multimodal engines running on Kerosene/LqdOxygen. [pre-release] Nuclear engines are changed to use LqdHydrogen. [pre-release] All the fiddly little bits like ISRU, fuel cells and RCS are all brought in line accordingly. [pre-release] Various stock and modded engines have their performance adjusted to bring them in line with the new propellants. Note that the values listed here correspond to the advanced pair Hydrazine/NTO in the hypergolic engines, but the basic pairs Kerosene/LqdOxygen, LqdMethane/LqdOxygen and LqdHydrogen/LqdOxygen in the other types. As well as these changes, a couple of plugins are planned for enhancing the experience of chemical rocketry: Hazards: Hazardous propellants create regions of environmental danger when: Leaking from CryoTanks [concepting] Fired in rockets [concepting] Released by more explosive means [concepting] Hazard regions can be cleaned up for a cost at the KSC [concepting] Hazard regions decay at a rate determined by the local atmosphere [concepting] Ignition (might be a fork of Engine Ignitor): Non-hypergolic engines require an ignition source, chosen in the VAB: Single-use pyrotechnic [concepting] Refillable starter fluid (TEATEB or similar) [concepting] Reusable spark plug [concepting] Stock [pre-release] The tech tree starts with small hypergolic engines and progresses to kerolox and hydrolox. There are not too many of the latter types, so Cryogenic Engines, Restock+ and Near Future Launch Vehicles are especially recommended. Spoiler LV-1R "Spider" Hypergolic 24-77 "Twitch" Hypergolic Mk-55 "Thud" Hypergolic LV-1 "Ant" Hypergolic 48-7S "Spark" Hypergolic LV-T30 "Reliant" Hypergolic LV-T45 "Swivel" Hypergolic LV-909 "Terrier" Kerolox RE-I5 "Skipper" Kerolox RE-M3 "Mainsail" Kerolox LFB KR-1x2 "Twin-Boar" Kerolox Kerbodyne KR-2L+ "Rhino" Hydrolox 2000kN → 1750kN 205-340s → 310-430s S3 KS-25 "Vector" Hydrolox 4t → 3t 1000kN → 675kN 295-315s → 365-450s T-1 Toroidal Aerospike "Dart" Hydrolox 290-340s → 380-430s RE-L10 "Poodle" Hydrolox 90-350s → 180-460s S3 KS-25x4 "Mammoth" Hydrolox 15t → 12t 4000kN → 2700kN 295-315s → 365-450s Making history [pre-release] The Wolfhound doesn't need such weirdly high Isp when you have methalox and hydrolox to play with. Spoiler LV-T91 "Cheetah" Hypergolic 150-355s → 150-315s RE-J10 "Wolfhound" Hypergolic 3.3t → 0.8t 375kN → 110kN 70-380s → 70-330s RV-1 "Cub" Kerolox RK-7 "Kodiak" Kerolox 285-300s → 285-320s LV-TX87 "Bobcat" Kerolox Kerbodyne KE-1 "Mastodon" Kerolox RE-I2 "Skiff" Hydrolox 1.6t → 1.4t 300kN → 310kN 265-330s → 200-420s Labradoodle [pre-release] The Poodle and the Labrador are made much more distinct by their different propellant types. Spoiler RE-L20 "Labrador" Kerolox Missing History [pre-release] These two engines also appear in Restock+, though with slightly different stats, but I've just left them as is. Spoiler LV-303 "Pug" Hypergolic LV-T15 "Valiant" Hypergolic Restock+ [pre-release] Most of these are cheeky Making History knockoffs (which are obviously higher quality) with equivalent stats, so aren't present if you have the DLC installed. Spoiler LV-303 'Pug' Hypergolic 250-330s → 220-310s LV-T15 'Valiant' Hypergolic RK-1 'Trash Panda' Hypergolic RE-137 'Schnauzer' Hypergolic 70-350s → 70-330s KR-1 'Boar' Kerolox Mk-1H 'Torch' Kerolox RK-107 'Ursa' Kerolox 285-300s → 285-320s Kerbodyne UR-1 "Galleon" Kerolox RE-I2 'Caravel' Hydrolox 2t → 1.4t 510kN → 310kN 265-320s → 200-420s KR-10A 'Corgi' Hydrolox 5.25t → 2.2t 750kN → 220kN 95-355s → 110-465s Near Future Launch Vehicles [pre-release] Very handy kerolox engines of all sizes, including some fancy multimode bipropellant/tripropellant engines based on the RD-701 and RD-704. Spoiler KS-10AJ 'Walrus' Kerolox KS-600AJ 'Manatee' Kerolox KS-1M 'Otter' Kerolox 280-295s → 280-310s KR-1M-V 'Sphinx' Kerolox 260-330s → 230-350s KR-701 'Cougar' Kerosene-augmented hydrolox Hydrolox 295-345s → 330-415s 295-345s → 220-460s KR-74 'Lynx' Kerosene-augmented hydrolox Hydrolox 298-345s → 355-405s 298-345s → 245-450s KR-84 'Ocelot' Kerolox KS-1E 'Goldfish' Kerolox 270-280s → 270-310s KR-1E-V 'Angora' Kerolox 250-320 → 220-340s KS-160 'Orca' Kerolox KS-107 'Porpoise' Kerolox Cryogenic Engines and CryoEngines Extensions [pre-release] Existing liquid hydrogen and liquid methane methane engines are automatically converted to use LqdHydrogen/LqdOxygen and LqdMethane/LqdOxygen respectively. Immersive Chemical Storage 0.1.0 [pre-release] Download Requires: ModuleManager, B9PartSwitch, Immersive Chemical Core, Cryogenic Tanks Highly configurable tanks which store single chemicals, useful for chemical factories, rocket stages and giant spacecraft. Three types of tank: Basic [pre-release]: stores stable, non-cryogenic resources. Lightweight cryogenic [pre-release]: Mass-optimised, balanced to be equivalent to CryoTanks. Heavy-duty cryogenic [pre-release]: Much heavier with way less boiloff, for storing chemicals on surfaces or orbit long-term. Five diameters: 2.5m [pre-release] 3.75m [pre-release] 5m [development] 7.5m [development] 10m [development] Spherical tanks at double those diameters [development] Several Length options [pre-release] Several structural options: Trusses [pre-release] Legs [pre-release] Horizontal mounts [pre-release] Radial mounts [development] Several surface options (each tank type has its own set) [pre-release] Immersive Chemical Harvesting [development] A resource harvesting overhaul. A plugin to change the way surface mining works which should encourage building mining colonies vs. small mining probes. [concepting] Several parts for harvesting from oceans and atmospheres. [concepting] Both stock Drill-O-Matics and all seven drills in Stockalike Mining Extension come in three varieties which each acquire a different category of resource: basic minerals, ices and metals. Basic mineral drills are the stock drills which can mine Ore, as well as the other generic mineral substances Rock and Hydrates. [ready] Ice-specialised drills can directly mine Water, LqdAmmonia, LqdCO2, LqdMethane, and Organics, and perhaps others in future. [ready] Metal-specialised drills can directly mine Spodumene, MetallicOre, Uraninite, RareMetals, and ExoticMinerals, and perhaps others in future. [ready] Immersive Chemical Conversion [development] Provides suites of new ISRU parts with semi-realistic chemical conversion processes for many resources in the Community Resource Pack, replacing the uninspiring universality of turning Ore into everything else. Carbonate decomposition Rock → LqdCO2 Hydrate decomposition Hydrates → Water Ore reduction Ore → LqdOxygen Water electrolysis Water → LqdHydrogen + LqdOxygen Ammonia electrolysis LqdAmmonia → LqdNitrogen + LqdHydrogen Electrochemical reduction of CO2 LqdCO2 → LqdCO + LqdOxygen Haber process LqdNitrogen + LqdHydrogen → LqdAmmonia NTO synthesis LqdAmmonia + LqdOxygen → NTO + Water Hydrazine synthesis LqdAmmonia + LqdOxygen → Hydrazine + Water Sabatier process LqdCO2 + LqdHydrogen → LqdMethane + Water Reverse water-gas shift reaction LqdCO2 + LqdHydrogen → LqdCO + Water Bosch reaction LqdCO + LqdHydrogen → Carbon + Water Fischer-Tropsch process LqdCO + LqdHydrogen → Kerosene [low yield] + Water Polymer synthesis Organics → Polymers Kerosene synthesis Organics → Kerosene [high yield] The above process are provided by the following parts: Convert-O-Tron 125: Carbonate decomposition; Hydrate decomposition Convert-O-Tron 250: Carbonate decomposition; Hydrate decomposition; Ore reduction Electr-O-Tron 125 [development]: Water electrolysis; Ammonia electrolysis Electr-O-Tron 250 [development]: Water electrolysis; Ammonia electrolysis; Electrochemical reduction of CO2 React-O-Tron 125-N [development]: Haber process React-O-Tron 250-N [development]: Haber process; NTO synthesis; Hydrazine synthesis React-O-Tron 125-C [development]: Sabatier process; Reverse water-gas shift reaction React-O-Tron 250-C [development]: Sabatier process; Reverse water-gas shift reaction; Bosch reaction; Fischer-Tropsch process Mobile Processing Lab MPL-LG-2: Polymer synthesis Organics Factory (3.75m, name TBD) [concepting]: Polymer synthesis; Kerosene synthesis If Immersive Chemical Propulsion is not present, Kerosene and Hydrazine are changed to LiquidFuel and MonoPropellant, and Oxidizer can be configured to replace either LqdOxygen or NTO. Immersive Chemical Metallurgy [development] Ore sorters and smelters. Spodumene sorting Ore → Spodumene [low yield] Metallic ore sorting Ore → MetallicOre [low yield] Rare metal sorting Ore → RareMetals [very low yield] Exotic mineral sorting Ore → ExoticMinerals [very low yield] Lithium roasting Spodumene → Lithium Carbon reduction MetallicOre + Carbon → Metals CO-injected reduction MetallicOre + LqdCO → Metals + LqdCO2 Hydrogen plasma reduction MetallicOre + LqdHydrogen → Metals + Water The above process are provided by the following parts: Small Ore Sorter (1.25m, name TBD) [concepting]: Spodumene sorting; Metallic ore sorting Large Ore Sorter (2.5m, name TBD) [concepting]: Spodumene sorting; Metallic ore sorting; Rare metal sorting; Exotic mineral sorting Convert-O-Tron 125: Lithium roasting Convert-O-Tron 250: Lithium roasting Smelt-O-Tron 250 [development]: Lithium roasting; Carbon-fired reduction Smelt-O-Tron 375 [concepting]: Lithium roasting; Carbon-fired reduction; CO-injected reduction Plasma Arc Furnace (5m, name TBD) [concepting]: Hydrogen plasma reduction Edited September 3 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 15 Share Posted July 15 Woo! Nice to see that you're starting this. Seeing the part suites and chains in point form really helps to present a simplified view of all this. I like the Smelt-O-Tron bit in particular. It's a very nice expansion to my concept for the RR Blacksmith furnace. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 16 Author Share Posted July 16 On 7/15/2024 at 3:15 AM, JadeOfMaar said: Woo! Nice to see that you're starting this. Seeing the part suites and chains in point form really helps to present a simplified view of all this. I like the Smelt-O-Tron bit in particular. It's a very nice expansion to my concept for the RR Blacksmith furnace. Thanks. I may end up with some other classes of converters, but right now I like this split into ice-type and metal-type resources with their corresponding specialised drills and converters. Actually I'm having some trouble getting the model to accept a new texture for the small Smelt-O-Tron , the part simply doesn't load if I specify any replacement texture (though the larger one works fine). Once I figure that out I'll stick it on github. While I have you, I'm still hoping to modify/add/remove RR patches but yet to get anything working there. Also, why are RareMetals and ExoticMinerals so common? I've been trying to figure out what to use as my one rare, expensive resource which is hard to get hold of but necessary for RocketParts and both of those seem pretty abundant. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 16 Author Share Posted July 16 (edited) Immersive Conversion should (on its own) be relatively narrow in terms of gameplay complexity, but offer some depth in terms of possibilities for resource production chains via a good balance of constraints and freedom to encourage creativity and customisation. Breadth comes from the connection to other mods, which should come in optional extra chunks which are nicely separable where applicable. Some design principles in pursuit of this goal: Bigger converters are more energy efficient, but not more material efficient, everything operates on the same conversion ratios (i.e. no more 90% losses on small converters). Primitive resources (that you can acquire directly in situ) should generally have multiple purposes. Synthesised resources (that you can't acquire directly in situ) should generally have multiple recipes. Following from above, just stick to one version of each resource, no need for Hydrogen if there is already LqdHydrogen. If another mod needs Hydrogen, there are things like RationalResourcesParts for that. Low tech allows for the acquisition of generic minerals (Ore, Hydrates, Silicates) from basically any rocky body, which can be converted into a limited set of useful resources at a very low efficiency. Also atmosphere sifting, so going all the way to a planet with an atmosphere gives quite a benefit compared to the moons. Mid tech allows for the acquisition of specific minerals (ices and metal ores) which depend on RR distributions, so you can build specialised production chains. Also some resources which can't be acquired with low tech, like Uraninite. High tech allows for some highly specialised non-mineral resource acquisition like exospheric scooping and Helium-3 regolith harvesting (neither of which are actually provided by ImmersiveConversion, just adjusted with patches). Edited July 18 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 16 Author Share Posted July 16 Considering using Rock rather than Silicates for a few reasons: This mod is intended to pair with Space Dust, which uses Rock out the box, and not with any mods that use Silicates. Avoids confusion with Silicon, a direct derivative. Since it's more generic than Silicates it opens up other sensible recipes, LqdCO2 from carbonates for example, as well as various metal ores with some late-game trace extraction tech, for when you are really desperate to squeeze uranium from a stone. Quote Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 16 Share Posted July 16 8 hours ago, Charle_Roger said: While I have you, I'm still hoping to modify/add/remove RR patches but yet to get anything working there. I got around to testing and figured out why this probably is. The patch method I suggested to you is in conflict. The same MM patch pass I told you to use is what's being used to create the templates so I have to move the templates into a new pass and declare a new mod just for those operations which would then allow your edits to run "before" that. On 7/14/2024 at 9:35 PM, Charle_Roger said: Smelt-O-Trons -snip- might get their own models eventually. I've started carving away at some custom ones of my own which I had sidelined since my concept for the furnace/smelter was lacking in depth. That has changed now since you came along. The models are 2.5m (tall) and 3.75m (short) and should have equal capacity but that waits to be seen (measured). I have the impression that anything smaller is questionable and a bother to make. 8 hours ago, Charle_Roger said: Also, why are RareMetals and ExoticMinerals so common? That's either another entry under "MKS legacy" or I didn't think hard enough on the weight of the words "Rare" and "Exotic." The presence chance (usually 70% if not 100%) could bump down but that would break people's mining rigs that use these resources so there's only the safe option of reducing the abundance values and maybe increasing the variance and/or dispersal values which, iirc, respectively affect the resolution and the contrast of the noise map of the resource abundance. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 16 Author Share Posted July 16 (edited) It may be sensible to have specific "heater" parts so as to not overload the smelters with the many potential non-smelting recipes which might arise, such as: Hydrates → Water Rock → various trace ices LqdAmmonia → LqdNitrogen + LqdHydrogen and other similar chemical decompositions Mulch → Organics? Something with Polymers? 20 minutes ago, JadeOfMaar said: I got around to testing and figured out why this probably is. The patch method I suggested to you is in conflict. The same MM patch pass I told you to use is what's being used to create the templates so I have to move the templates into a new pass and declare a new mod just for those operations which would then allow your edits to run "before" that. Thanks so much for all your help! I hope we can end up with seamless integration of our mods on both ends. 20 minutes ago, JadeOfMaar said: I've started carving away at some custom ones of my own which I had sidelined since my concept for the furnace/smelter was lacking in depth. That has changed now since you came along. The models are 2.5m (tall) and 3.75m (short) and should have equal capacity but that waits to be seen (measured). I have the impression that anything smaller is questionable and a bother to make. This is exciting. I have been considering not bothering with the 1.25m smelter, mostly because I can't get the stock model to work with a new texture, but also because this stuff just feels more appropriate for the bigger machines. FFT's nuclear smelter is gigantic for example. The smelter models are low priority for me, I want to get the system balanced first and I know I will spend a long time making models and textures once I start. Edited July 16 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 16 Share Posted July 16 52 minutes ago, Charle_Roger said: specific "heater" parts The 1.25m RR Therm-O-Tron exists (but it has a bunch of phase change recipes in it already. See: The Hydrogen and Oxygen issue). Feel free to clone it and use distinctly. 55 minutes ago, Charle_Roger said: because this stuff just feels more appropriate for the bigger machines That's among my reasons too. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 17 Author Share Posted July 17 2 hours ago, JadeOfMaar said: The 1.25m RR Therm-O-Tron exists (but it has a bunch of phase change recipes in it already. See: The Hydrogen and Oxygen issue). Feel free to clone it and use distinctly. Yeah I was thinking about the Therm-O-Tron, but I won't use it for anything internal. Immersive Conversion will provide a small set of native parts (looking like just drills, smelters and heaters probably, plus changes to stock parts) and won't rely on other part mods for the core system. Parts like the Therm-O-Tron will get patches to join in. I will keep in mind what's available in your mods and others which I'm targeting though, so as to have a precedent to balance against and not end up with too many redundant parts when playing with combinations of mods. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 17 Author Share Posted July 17 (edited) Thoughts about drill variants: Definitely liking how the three-way split (basic minerals / ice-specialised / metal-specialised) plays and feels. Currently have them as three separate parts so that the specialised drills (which have recoloured stock textures based on KPBS) would be unlocked later in the tech tree, but this might not be necessary if tech constraints are instead placed on the converters. No point mining metal ores if you have no smelter yet. Ices are constrained by their RR distribution, so again it doesn't matter if you already have a drill which can mine ice, Hydrates is still a more generally available source of Water so the basic drill still has advantages. Having three separate drill parts is quite nice and clear to the user, but tripling all the drills in e.g. Stockalike Mining Extension would be crazy, so B9 part switch would be a better approach for support there and can be patched to any drill generically (though they won't necessarily have the bespoke recoloured textures I intend to make for SME). Using part switch also keeps the total part count down, so has the benefit of reducing dependency residue. If Immersive Conversion is uninstalled, or the specialised drill modules are removed or significantly modified in a later version, it should break less things. Same works in reverse, you could easily hack a specialised drill into an existing mining base with a simple config edit. Edited July 17 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 17 Author Share Posted July 17 Semi-successfully implemented drill types via B9PartSwitch by the following method: Patch all Ore drills with additional Rock and Hydrates harvesting modules Add B9PartSwitch module which targets those three resources and replaces them with different triplets of resources (Water/LqdCO2/LqdAmmonia and MetallicOre/Spodumene/Uraninite) Functionality is as intended, but not all of the text gets replaced. Screenshot below shows the rates and start/stop buttons still have the original values, while the harvester name (and ostensibly the resource name) are correct. Patch: Spoiler @PART[*]:HAS[@MODULE[ModuleResourceHarvester]:HAS[#ResourceName[Ore]]]:FOR[ImmersiveConversion] { @MODULE[ModuleResourceHarvester]:HAS[#ResourceName[Ore]] { @ResourceName = Rock @ConverterName = Rock Harvester @StartActionName = Start Rock Harvester @StopActionName = Stop Rock Harvester @ToggleActionName = Toggle Rock Harvester } +MODULE[ModuleResourceHarvester]:HAS[#ResourceName[Rock]] { @ResourceName = Ore @ConverterName = Ore Harvester @StartActionName = Start Ore Harvester @StopActionName = Stop Ore Harvester @ToggleActionName = Toggle Ore Harvester } +MODULE[ModuleResourceHarvester]:HAS[#ResourceName[Rock]] { @ResourceName = Hydrates @ConverterName = Hydrates Harvester @StartActionName = Start Hydrates Harvester @StopActionName = Stop Hydrates Harvester @ToggleActionName = Toggle Hydrates Harvester } MODULE { name = ModuleB9PartSwitch moduleID = ICDrillSwitch switcherDescription = drill type affectDragCubes = False affectFARVoxels = False SUBTYPE { name = Basic title = Basic minerals descriptionSummary = <b>Rock</b>, <b>Ore</b>, <b>Hydrates</b> descriptionDetail = This drill can harvest readily available basic minerals from rocky bodies. primaryColor = #b8884a secondaryColor = #b8884a addedCost = 0 addedMass = 0 } SUBTYPE { name = Ice title = Ice-specialised descriptionSummary = <b>Water</b>, <b>LqdAmmonia</b>, <b>LqdCO2</b> descriptionDetail = This drill is specialised to target and directly harvest ices. primaryColor = #6b8394 secondaryColor = #6b8394 addedCost = 0 addedMass = 0 MODULE { IDENTIFIER { name = ModuleResourceHarvester ResourceName = Rock } DATA { ResourceName = Water ConverterName = Water Harvester StartActionName = Start Water Harvester StopActionName = Stop Water Harvester ToggleActionName = Toggle Water Harvester } } MODULE { IDENTIFIER { name = ModuleResourceHarvester ResourceName = Ore } DATA { ResourceName = LqdCO2 ConverterName = Carbon Dioxide Harvester StartActionName = Start Carbon Dioxide Harvester StopActionName = Stop Carbon Dioxide Harvester ToggleActionName = Toggle Carbon Dioxide Harvester } } MODULE { IDENTIFIER { name = ModuleResourceHarvester ResourceName = Hydrates } DATA { ResourceName = LqdAmmonia ConverterName = Ammonia Harvester StartActionName = Start Ammonia Harvester StopActionName = Stop Ammonia Harvester ToggleActionName = Toggle Ammonia Harvester } } } SUBTYPE { name = Metal title = Metal-specialised descriptionSummary = <b>MetallicOre</b>, <b>Spodumene</b>, <b>Uraninite</b> descriptionDetail = This drill is specialised to target and directly harvest metal ores. primaryColor = #a26160 secondaryColor = #a26160 addedCost = 0 addedMass = 0 MODULE { IDENTIFIER { name = ModuleResourceHarvester ResourceName = Rock } DATA { ResourceName = MetallicOre ConverterName = Metallic Ore Harvester StartActionName = Start Metallic Ore Harvester StopActionName = Stop Metallic Ore Harvester ToggleActionName = Toggle Metallic Ore Harvester } } MODULE { IDENTIFIER { name = ModuleResourceHarvester ResourceName = Ore } DATA { ResourceName = Spodumene ConverterName = Spodumene Harvester StartActionName = Start Spodumene Harvester StopActionName = Stop Spodumene Harvester ToggleActionName = Toggle Spodumene Harvester } } MODULE { IDENTIFIER { name = ModuleResourceHarvester ResourceName = Hydrates } DATA { ResourceName = Uraninite ConverterName = Uraninite Harvester StartActionName = Start Uraninite Harvester StopActionName = Stop Uraninite Harvester ToggleActionName = Toggle Uraninite Harvester } } } } } Any attempt to switch the texture in the part switch module like the following also causes the part to fail to load. I'm not sure what information I'm missing. TEXTURE { currentTexture = TriBitDrill texture = ImmersiveConversion/Assets/TriBitDrill_blue } Drills from Stockalike Mining Extension are not only configured identically to stock drills, so the patch works for them too, they even use stock textures, so if I can get the TEXTURE node working I won't actually have to make any new textures to support recolouring for SME. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 18 Author Share Posted July 18 (edited) New idea based on the drill pattern of single low tech generic part -> a pair of high tech specialised parts: Convert-O-Trons will continue to play a similar role to stock, just much less efficiently, as implied by the part description: "... take raw materials containing even trace amounts of oxygen and hydrogen, and crack them into useful fuel products". These will continue to extract a more limited set of useful resources at very low efficiencies from single raw materials: Rock → LqdCO2 Hydrates → Water Ore → Oxidizer perhaps others React-O-Trons are new parts unlocked slightly later in the tech tree, like the Smelt-O-Trons, which handle chemical reactions to efficiently produce a wider array of propellants: Water → LqdHydrogen + LqdDeuterium + Oxidizer LqdCO2 + Oxidizer → LqdMethane + Water LqdNitrogen + LqdHydrogen → LqdAmmonia LqdAmmonia + Oxidizer → Monopropellant + LqdHydrogen (might remove the Oxidizer requirement here for simplicity) Organics → LqdMethane Organics → LiquidFuel Edited July 18 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 18 Author Share Posted July 18 Had to abandon using B9PartSwitch for the drill variants since it just doesn't seem to support ModuleResourceHarvester properly. Stockalike Mining Extension will just have stick with basic drills, not the end of the world, unless I decide tripling all the drills is actually fine. Placeholder Convert-O-Tron reskins are done and good enough to last the while before I make more restock-like models (which will be the exact same size). I do actually like the proper stock vibe of them though and I think it very succinctly gets the point across that these are an expansion of the Convert-O-Tron into three separate parts. All that's left to do before I can release something is add tank switching options for ores and liquids and figure out how to remove the Ore > Lithium recipe added by NearFuturePropulsion, which I just cannot seem to do for some reason. RR Companion does provide most of the tank switching I need, but it also provides a lot of other stuff which is beyond the scope of Immersive Conversion and not tuned into the new parts, so I think I will have to declare it incompatible and just add my own simple patches. RR Jet Family, Nuclear Family and RCS Family are all perfectly compatible and probably recommended, since they give direct purposes to some of the new liquids which are otherwise just intermediate products. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 19 Author Share Posted July 19 (edited) Managed to remove all redundant resources and replace gases with liquids (e.g. CarbonDioxide > LqdCO2) in all scanners and surface distributions, so I have just the curated set of Immersive Conversion resources now. This will probably expand in future as I add support for more mods. I intend for the only resources which are available and visible to be the ones which are used by supported mods. Also, decided to support both RareMetals and ExoticMinerals, since either or both are used by various off-world construction mods, and with KSP Recall these can be returned to Kerbin for a profit. To that end, they should be made impossible to acquire on Kerbin and harder to come by in general, so I've been attempting to remove them from many of the RR templates with not much success. In the places where they can be acquired, they should be made rarer, since it's currently possible to e.g. fly an unmanned craft (5% harvester rate) to the Mun and generate over 10,000 funds/day. With a 125% engineer bonus you'd only need 3 days on the Mun to net 1,000,000 funds. The absolute upper limit for a single drill should probably be more like 1,000 funds/day when operating at the highest possible abundance in a full-on colony situation (Kerbals on site long-term), so the abundance of these rare materials might need to taken down by a factor of a thousand. I think a base producing tens of tons (100,000s of funds) of so-called rare metals every year is pretty reasonable. Of course there's nothing stopping anyone just slapping 10 drills on a base and breaking all the balancing anyway, so I'll have to think about how best to support this. I don't really want to just have the rare resources extractable as trace products from ores, since I want them constrained by limited RR templates as stated above. Another thought, I wonder if anything can be done with the asteroid and comet drill modules to output other resources. Asteroids seem to become much less useful with Rational Resources, but it would be cool if they were a highly profitable source of RareMetals. Edited July 19 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 19 Author Share Posted July 19 (edited) 12 hours ago, Charle_Roger said: Of course there's nothing stopping anyone just slapping 10 drills on a base and breaking all the balancing anyway Maybe there could be. Possible plugin idea to enhance mining with two bits of functionality: If two drills are placed in close proximity, say within 50m of each other, they take an efficiency hit. Could be implemented as each successive drill accumulating e.g. 0.7x efficiency, which in the infinite limit only gets you about 3.3x a single drill, and you can get most of the way there with only four or five drills. This can alternatively be computed as (an - 1)/(a - 1) for some efficiency multiplier a and number of drills n, in order to apply the same multiplier to all drills. There is still a benefit to having multiple drills, particularly a second, third, or even fourth drill on a mining drone, but with clearly diminishing returns. This encourages seeking much more definitive benefits, like using a bigger drill (courtesy of Stockalike Mining Extension, though the largest ones might need a nerf) or building a mining colony with high-level engineers to boost your drills, which brings me to... Engineer efficiency bonus can only apply to a single drill. If you have multiple drills on a vessel, you'll need to support multiple engineers to get the most out of them. This encourages colony building rather than cheesing it with one Kerbal and tons of drills. With the diminishing drill returns, also encourages separate mining outposts and vehicles serving a central colony. After thinking more about this, I don't think the second point is necessary. Separate mining outposts and vehicles are already encouraged by having to physically separate the drills. The only way the engineer-per-drill constraint makes sense is if you could somehow extend the engineer bonus from a central colony to all nearby vessels, which might be something to think about but ultimately is quite a complication when the first point is so simple and effective. Edited July 19 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 19 Share Posted July 19 On 7/18/2024 at 1:15 PM, Charle_Roger said: Placeholder Convert-O-Tron reskins -snip- Minmus Strawberry Ripple mantle confirmed. Buckle up, miners! We're going deeper! 19 hours ago, Charle_Roger said: Another thought, I wonder if anything can be done with the asteroid and comet drill modules to output other resources. Asteroids seem to become much less useful with Rational Resources, but it would be cool if they were a highly profitable source of RareMetals. Until now I didn't see enough value in asteroids to mess around with them. So... finally I made some configs and did some testing. From my observation: "The asteroid will contain whatever combination of resources as given by the RNG. The one asteroid harvester module on your drill will extract every resource that the asteroid contains and you keep what you have tanks for but the mass that belongs to the resources you didn't cater for gets dumped. Since mass is lost there's no coming back to the asteroid to mine it for resource B after you've already mined it dry just for resource A." I can't think of any trick that might be pulled to increase resource yields but it looks like just puffing up the mins and maxes of all the resources is very much needed... That said, Rock already has a high min and max. It shouldn't be possibe to reach down to < 1% as in the screenshot below. I might have to push some maxes beyond 100 and hope KSP doesn't break. (Apparently the sum of the % of the resources shown is only 30-something.) Screenshots: Fresh asteroid. Resources shown, not mined yet. Mined dry for just Minerals. 1740 units collected. Mined dry for Hydrates and Minerals. Same amount of Minerals collected. The asteroid and comet configs will eventually be released in my coming update. On the subject of manipulating RR's templates, I've made some progress. I have to put the templates in another folder, currently GameData/000_RationalResources/ and I've gotten a patch to work to remove resources before RR spreads them around. Patch ordering is fixed. Now I think I just have to figure out what the exact syntax error is because targeting by tag + resource name doesn't work. Quote Link to comment Share on other sites More sharing options...
Lonelykermit Posted July 20 Share Posted July 20 I don't know if somebody asked this already but how will this mod interact/conflict with kerbalism? Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 20 Author Share Posted July 20 15 hours ago, JadeOfMaar said: "The asteroid will contain whatever combination of resources as given by the RNG. The one asteroid harvester module on your drill will extract every resource that the asteroid contains and you keep what you have tanks for but the mass that belongs to the resources you didn't cater for gets dumped. Since mass is lost there's no coming back to the asteroid to mine it for resource B after you've already mined it dry just for resource A." Very interesting. So there is hope for making something of asteroid mining, I'm sure we can figure out how to configure it properly. 15 hours ago, JadeOfMaar said: On the subject of manipulating RR's templates, I've made some progress. I have to put the templates in another folder, currently GameData/000_RationalResources/ and I've gotten a patch to work to remove resources before RR spreads them around. Patch ordering is fixed. Now I think I just have to figure out what the exact syntax error is because targeting by tag + resource name doesn't work. This is great to hear. I did already achieve most of what I wanted with a bit of a messy patch, which should be made much more straightforward by your work. I also found that targeting tags and resources didn't work when trying to remove ExoticMinerals and RareMetals from certain templates. 8 minutes ago, Lonelykermit said: I don't know if somebody asked this already but how will this mod interact/conflict with kerbalism? I've never used Kerbalism, so I'm not sure yet. Given how popular it is I think it would be mad not to provide some support for it, but I can't say anything for now since I just don't know much about it. JadeOfMaar did point out to me that it uses gas forms of some resources while ImmersiveConversion will only deal in liquids. I may eventually add Kerbalism support patches that provide gas<->liquid converters, or just recommend the use of Rational Resources Parts which already has those. Quote Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 20 Share Posted July 20 5 hours ago, Lonelykermit said: I don't know if somebody asked this already but how will this mod interact/conflict with kerbalism? (My guess) this mod won't interact with Kerbalism, and especially, it won't conflict. If it does it would have to use the swappable converter/harvester module in all its parts. For @Charle_Roger that means every part can have a slot count and each slot can be assigned a drill module or converter recipe. Some of the config work has to take the form of a Kerbalism support profile which serves as an extension to the active profile. All of this is a bit tedious to do but it's better than abusing B9PS. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 21 Author Share Posted July 21 Stockalike Mining Extension is fitting more and more into my vision for Immersive Conversion, so I will definitely support variants for all the drills. As mentioned before it takes literally no effort to do this on my end since it already uses stock textures, my only worry is I'm not such a big fan of filling up the part list with clones. There are only seven so it's not so bad, but it would be really nice to get this working with B9PartSwitch if I can ever figure that out. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 21 Author Share Posted July 21 @JadeOfMaar Currently figuring out tank switch options (LqdAmmonia, LqdCO2, LqdNitrogen, Organics, Water), and since RR already does most of this I don't want to step on your toes. RationalResourcesSquad seems to confusingly provide tank switching for tons of mods, but not stock parts, and does so after CryoTanks but only adds fusion fuels and not the ones I'm after to the CryoTanks themselves. Also, it adds a LqdOxygen subtype, and I'm still slightly confused about whether you intended to support LqdOxygen or whether it was meant to all be merged into Oxidizer already when RealFuels is not present. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 21 Author Share Posted July 21 I was planning on just having those reskinned Convert-O-Trons until the mod was basically fully functional, but I couldn't help myself, so here's a chemical reactor. Parts are fun to make, I'm actually semi-tempted to divide the chemical reactor further. If I do, it will probably be a tech level separation, like maybe this 2.5m reactor gives you water electrolysis, sabatier and haber processes, monopropellant production etc, but a more advanced 3.75m reactor additionally allows combustion process with Oxidizer or pyrolitic processes like turning LqdMethane into Organics. Processing Organics into Polymers or LiquidFuel likewise could be handled by a separate part. I don't want to overdo it with parts, but I don't want to end up with one converter operating an even wider array of recipes than the old Convert-O-Trons, since the whole point is to make something more immersive. Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 22 Author Share Posted July 22 UV unwrapping is less fun for a model like this, but baked in ambient occlusion looks real nice. Quote Link to comment Share on other sites More sharing options...
JadeOfMaar Posted July 23 Share Posted July 23 (edited) On 7/21/2024 at 7:06 AM, Charle_Roger said: Stockalike Mining Extension is fitting more and more into my vision for Immersive Conversion, so I will definitely support variants for all the drills. As mentioned before it takes literally no effort to do this on my end since it already uses stock textures, my only worry is I'm not such a big fan of filling up the part list with clones. There are only seven so it's not so bad, but it would be really nice to get this working with B9PartSwitch if I can ever figure that out. I'm both sad and hopeful if you're not already doing the texture switch like this. It seems to work well for me since I absolutely need this for my own upgradeable solar panels. SUBTYPE { name = Type1 // no change, no "currentTexture" references } SUBTYPE { name = Type2 TEXTURE { texture = Path/texture2 shaderProperty = _MainTex } } SUBTYPE { name = Type3 TEXTURE { texture = Path/texture3 shaderProperty = _MainTex } } If this has already been tried and has failed then do try this next one. I haven't had to use its components together like this (welding repeat models; stock texture replace; giving names to the model nodes) but the components have worked for me so this altogether should work. (Sorry. Haven't tested it as a whole but OPT's aerodynamic RCS uses repeat models with variant textures baked in, and I learned about named models by learning that I could make another model be the child of, and swing with, a cargo bay door). If this example works then you can use it to have one part be all the different variants of drill or refinery you have planned. PART { MODEL { name = DrillYellow model = Path/Model } MODEL { name = DrillCyan model = Path/Model texture = default, Path/texture2 } MODEL { name = DrillMagenta model = Path/Model texture = default, Path/texture3 } MODULE { name = ModuleB9PartSwitch SUBTYPE { name = Type1 transform = DrillYellow } SUBTYPE { name = Type2 transform = DrillCyan } SUBTYPE { name = Type3 transform = DrillMagenta } } } On 7/21/2024 at 8:58 AM, Charle_Roger said: @JadeOfMaar Currently figuring out tank switch options (LqdAmmonia, LqdCO2, LqdNitrogen, Organics, Water), and since RR already does most of this I don't want to step on your toes. RationalResourcesSquad seems to confusingly provide tank switching for tons of mods, but not stock parts, and does so after CryoTanks but only adds fusion fuels and not the ones I'm after to the CryoTanks themselves. Also, it adds a LqdOxygen subtype, and I'm still slightly confused about whether you intended to support LqdOxygen or whether it was meant to all be merged into Oxidizer already when RealFuels is not present. RR Squad does handle the stock tanks, with and without CryoTanks. However, it won't do so if it detects other major fuel switch plugins (namely: Configurable Containers (Allista's mods), Interstellar Fuel Switch, Modular Fuel Tanks/Real Fuels). I'm curious to the fusion fuel situation. Is there something other than D +3He and FusionPellets that's popular outside of KSPIE? The purpose of LqdOxygen is that it seems really weird to have Oxygen gas (used by TAC and Kerbalism) be turned into Oxidizer resource when liquefied, meanwhile, RealFuels and KSPIE prefer LqdOxygen over Oxidizer and Kerbalism treats Oxidizer as Hydrogen Peroxide. On 7/21/2024 at 5:02 PM, Charle_Roger said: I was planning on just having those reskinned Convert-O-Trons until the mod was basically fully functional, but I couldn't help myself, so here's a chemical reactor. Parts are fun to make, I'm actually semi-tempted to divide the chemical reactor further. If I do, it will probably be a tech level separation, like maybe this 2.5m reactor gives you water electrolysis, sabatier and haber processes, monopropellant production etc, but a more advanced 3.75m reactor additionally allows combustion process with Oxidizer or pyrolitic processes like turning LqdMethane into Organics. Processing Organics into Polymers or LiquidFuel likewise could be handled by a separate part. I don't want to overdo it with parts, but I don't want to end up with one converter operating an even wider array of recipes than the old Convert-O-Trons, since the whole point is to make something more immersive. Did you really sculpt this? It's reeeeeally good. I encourage you to avoid patching the stock parts and make your own. Too many ISRU mods already do it and make for a mess. Rational Resources would have its own refinery suite (in spite of Stockalike Expansion) but I'm saving the energy for that for the refinery suite in Sterling Systems. Edited July 23 by JadeOfMaar Quote Link to comment Share on other sites More sharing options...
Charle_Roger Posted July 23 Author Share Posted July 23 (edited) 10 hours ago, JadeOfMaar said: I'm both sad and hopeful if you're not already doing the texture switch like this. The texture switching is not the issue, in fact I got B9PartSwitch almost completely working already. The issue is the way it fails to handle certain parts of ModuleResourceHarvester, some text on buttons wasn't being replaced properly, so e.g. the water drill would display "Ore: Inactive" instead of Water, be activated with a "Start Ore Harvester" button, but display "Water rate: X u/s" once it was activated, and indeed produce Water. I will have another go tonight, I think it should be possible. 10 hours ago, JadeOfMaar said: RR Squad does handle the stock tanks, with and without CryoTanks. However, it won't do so if it detects other major fuel switch plugins (namely: Configurable Containers (Allista's mods), Interstellar Fuel Switch, Modular Fuel Tanks/Real Fuels). I'm curious to the fusion fuel situation. Is there something other than D +3He and FusionPellets that's popular outside of KSPIE? The fusion fuels I was referring to are LqdDeuterium, LqdHe3 and FusionPellets, which all appear in the CryoTanks tanks as expected, but I'm seeing LqdAmmonia, LqdCO2 etc. added only to tanks in other mods, not CryoTanks or stock. I have no other fuel switching mod you mentioned, but I'll see if I can figure out what's going on there. I should also stress that RR is strongly recommended for Immersive Conversion, but not actually a depedency, so I will provide equivalent tank switching natively if RR is not present, unless RR knows not to add subtypes which are already present. 10 hours ago, JadeOfMaar said: The purpose of LqdOxygen is that it seems really weird to have Oxygen gas (used by TAC and Kerbalism) be turned into Oxidizer resource when liquefied, meanwhile, RealFuels and KSPIE prefer LqdOxygen over Oxidizer and Kerbalism treats Oxidizer as Hydrogen Peroxide. Yeah I guess this makes sense, I'm just being difficult in trying to avoid a RealFuels situation while still having a bunch of real chemistry going on. I think it's inevitable that RealFuels players will be more interested in ImmersiveConversion than anyone else, so I should probably think about how best to go about all this. Perhaps I should use LqdOxygen everywhere instead, and have Oxidizer be a dead-end product like LiquidFuel. That way there is a better separation of concerns, LqdOxygen for intermediate chemistry and Oxidizer for rockets. Should I do as Kerbalism does and provide LqdHydrogen + LqdOxygen -> Oxidizer, or not require the hydrogen and just have this weird transmutation of LqdOxygen into whatever Oxidizer is meant to be? I think either way will leave people wondering why they can't just use LqdOxygen in their rockets, but maybe those people should be playing with RealFuels so they can. 10 hours ago, JadeOfMaar said: Did you really sculpt this? It's reeeeeally good. I encourage you to avoid patching the stock parts and make your own. Too many ISRU mods already do it and make for a mess. Rational Resources would have its own refinery suite (in spite of Stockalike Expansion) but I'm saving the energy for that for the refinery suite in Sterling Systems. I did, thank you! I have dabbled a bit in making parts a few times over the last decade or so, but never really got anything I wanted to release. This is the first time I've had a genuinely good idea for a mod that I think I can execute well. Certainly the chemical reactors and smelters will get their own models, but I'm not sure about drills. I have two options: Get B9PartSwitch working and have every drill have yellow/blue/red variants — Low effort, but I do like the simplicity. Works very nicely with Stockalike Mining Extension. Make new models for ice and metal drills — Way higher effort, though the end result would undeniably be higher quality. Will probably involve various sizes to work well with SME, so I'd be modelling like 15 drills or something. I'm strongly leaning towards the former, but depending on how popular this mod gets maybe I could be convinced to put in the work. Immersive Conversion wasn't even supposed to be a parts mod, it was originally just going to be patches to connect existing mods together, but now the goal is definitely to achieve that interconnection by providing a suite of new ISRU parts. I have way too many ideas right now (carbothermic processes, molten salt electrolysis, ammonia-burning engines...), so I think I will focus on the basic chemical reactor and leave the smelters for some 0.x update, since they are much more niche anyway. Proper 1.0 release will have everything. Which reminds me, I should probably release something soon... Edited July 23 by Charle_Roger Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.