Jump to content

1.3 Stationary Atmosphere Harvester Changed?


Gordon Fecyk
 Share

Recommended Posts

I noticed in KSP 1.3 that parts using ModuleResourceHarvester type = 2 (atmospheric) no longer appear to harvest any resource if surface speed is exactly zero, such as if the craft is attached to a launch clamp or has wheel brakes engaged. If there's any motion, such as a heavy craft wobbling on its clamps, or with brakes engaged but can still be tilted side to side, then it'll harvest the resource. This seems to happen regardless of abundance.

This differs from air intakes that can still take in a fixed amount of IntakeAir if perfectly stationary. I originally tuned my harvesters to match whatever the corresponding air intake would harvest in IntakeAir while stationary, then re-tuned that to match the IntakeAir rate times whatever MinAbundance was (assuming MinAbundance and MaxAbundance were equal). Now it seems I'll have to re-tune that based on a fixed non-zero speed.

Or maybe there's an option for a stationary atmospheric harvester to still work. Where can I find changes to ModuleResourceHarvester?

Edited by Gordon Fecyk
Grammar
Link to comment
Share on other sites

The field

 airSpeedStatic =

has always existed, I think in 1.3 its default value may have changed. Add this field to your harvester, and play with it a bit, it's supposed to be the air speed that is used when the part is not moving relative to the atmosphere. 

Link to comment
Share on other sites

(re: airSpeedStatic) That makes sense, like an air intake has a static speed defined. Thanks.

These harvesters are supposed to be clones of air intakes, so cloning the airSpeedStatic value might be sufficient.

[edit] The Wiki for ModuleResourceHarvester doesn't mention airSpeedStatic as a value. No doubt this needs updating; is there a more recent reference for this?

Edited by Gordon Fecyk
Added Wiki link
Link to comment
Share on other sites

2 hours ago, Gordon Fecyk said:

[edit] The Wiki for ModuleResourceHarvester doesn't mention airSpeedStatic as a value. No doubt this needs updating; is there a more recent reference for this?

Ugh, yeah, anything the wiki says should be considered suspect. Use tomf's docs or the official KSP ones at https://kerbalspaceprogram.com/api/index.html.

Link to comment
Share on other sites

I just started experimenting with the various values in ModuleResourceHarvester. It appears airSpeedStatic is ignored, along with CausesDepletion and DepletionRate if these are supposed to represent resource leakage.

This doesn't behave differently if I change it from a Module Manager patch to a fully defined independent part. At one point I thought Module Manager's order of adding parts would have made a difference. For reference I've added a fully defined harvester part here in a spoiler; this is supposed to be an atmospheric harvester that behaves like an air intake, only taking in a hydrocarbon from the atmosphere instead of IntakeAir.

Spoiler
PART
{
	name = CircularIntakeExV
	module = Part
	author = C. Jenkins, Porkjet
	rescaleFactor = 1
	node_stack_bottom01 = 0.0, 0.0, 0.0, 0.0, -1.0, 0.0
	buoyancy = 0.1
	TechRequired = aerodynamicSystems
	entryCost = 8800
	cost = 680
	category = Aero
	subcategory = 0
	title = Circular ExV Harvester
	manufacturer = C7 Aerospace Division
	description = A proper turbofan harvester, not only provides explodium to explodium breathing engines, it pulls in twice as much explodium than those puny air scoops from Vac-Co. Optimized for subsonic flight.
	attachRules = 1,0,1,0,0
	stackSymmetry = 2
	mass = 0.04
	thermalMassModifier = 8.0
	emissiveConstant = 0.55
	dragModelType = default
	maximum_drag = 0.3
	minimum_drag = 0.3
	angularDrag = 1
	crashTolerance = 7
	maxTemp = 1900
	fuelCrossFeed = True
	bulkheadProfiles = size1
	tags = aero (air breathe fligh inlet jet explodium plane subsonic suck
	MODEL
	{
		model = Squad/Parts/Aero/circularIntake/CircularIntake
		texture = CircluarIntakes, ExplodiumBreathingEngines/Parts/Aero/circularIntakeExV/CircluarExV
	}
	DRAG_CUBE
	{
		cube = Default, 0.7536889,0.6974452,0.7221569, 0.7536889,0.6974494,0.7221569, 1.213026,0.45,0.7008534, 1.213026,0.9357337,0.1625167, 0.7536888,0.6983959,0.7221569, 0.7536888,0.6964872,0.7221569, 0,0.269185,3.208935E-08, 1.25,0.6633701,1.25
	}
	MODULE
	{
		name = ModuleResourceHarvester
		HarvesterType = 2
		Efficiency = 0.180
		ResourceName = ExpVapour
		ConverterName = ExpVapour Filter
		StartActionName = Start ExV Filter
		StopActionName = Stop ExV Filter
		ToggleActionName = Toggle ExV Filter
		CausesDepletion = True
		DepletionRate = 0.001
		intakeSpeed = 15
		airSpeedStatic = 15
		intakeTransformName = Intake
		INPUT_RESOURCE
		{
			ResourceName = ElectricCharge
			Ratio = 0
		}
	}
	RESOURCE
	{
		name = ExpVapour
		amount = 0.2
		maxAmount = 0.2
	}
	MODULE
	{
		name = ModuleAnimateHeat
		ThermalAnim = IntakeCircularHeat
	}
	MODULE
	{
		name = ModuleAnimationGroup
		deployAnimationName = 
		activeAnimationName = 
		moduleType = Filter
	}
}

 

 

Link to comment
Share on other sites

14 hours ago, Gordon Fecyk said:

I just started experimenting with the various values in ModuleResourceHarvester. It appears airSpeedStatic is ignored, along with CausesDepletion and DepletionRate if these are supposed to represent resource leakage.

This doesn't behave differently if I change it from a Module Manager patch to a fully defined independent part. At one point I thought Module Manager's order of adding parts would have made a difference. For reference I've added a fully defined harvester part here in a spoiler; this is supposed to be an atmospheric harvester that behaves like an air intake, only taking in a hydrocarbon from the atmosphere instead of IntakeAir.

I can't speak for the Depletion stuff (maybe @riocrokite would know) but I think you're right. airSpeedStatic used to work in 1.2.2, now two tests (one with speed = 50 and one with speed = 500) provided the same results. Maybe lets ping @RoverDude in here... possibly something changed in 1.3 that we don't understand. 

For reference: 50ms and 500 ms.

Link to comment
Share on other sites

 

On 6/2/2017 at 8:21 AM, Nertea said:

I can't speak for the Depletion stuff (maybe @riocrokite would know) but I think you're right. airSpeedStatic used to work in 1.2.2, now two tests (one with speed = 50 and one with speed = 500) provided the same results. Maybe lets ping @RoverDude in here... possibly something changed in 1.3 that we don't understand. 

For reference: 50ms and 500 ms.

as for depletion I could never get it to work in stock,

as for air scoop harvesters try changing harvestertype from 2 to 3 and let me know if that works.

Edit: After further inspection there might be a bug in a code so the harvestertype = 2 function might never work :/

I think the code has changed a bit for air harvester so it behaves more like air intake (so there needs to be an intake transform for the code to work and now the position of the transform relative to vessel movement has a meaning similar to air intakes).

Edited by riocrokite
Link to comment
Share on other sites

On ‎6‎/‎5‎/‎2017 at 4:22 PM, riocrokite said:

there needs to be an intake transform for the code to work

That would be great for my harvesters that are supposed to be modelled after the stock air intakes. This doesn't explain the zero harvesting rate for stationary craft, though, as even stationary intakes have non-zero IntakeAir rates. Depletion doesn't matter; just thought I'd see if it actually depleted anything.

The harvester also needed an input resource in 1.2.2, though I could pick zero EC/s and have it still work. Maybe this needs to be non-zero for static harvesting to work?

Link to comment
Share on other sites

9 hours ago, Gordon Fecyk said:

That would be great for my harvesters that are supposed to be modelled after the stock air intakes. This doesn't explain the zero harvesting rate for stationary craft, though, as even stationary intakes have non-zero IntakeAir rates. Depletion doesn't matter; just thought I'd see if it actually depleted anything.

The harvester also needed an input resource in 1.2.2, though I could pick zero EC/s and have it still work. Maybe this needs to be non-zero for static harvesting to work?

from what I can tell calculation might use normalized multiplier depending on angle between surface vessel velocity and intake transform. basically if the angle is 90 you get 0 and harvest rate = 0. with angle = 0 you get 1 multiplier.

You can check it by trying to position several harvesters on each direction and see whether any of them works when stationary: (total of 6 combinations +x / -x / + y / -y / +z / -z)

edit: might want to do second test with vessel moving so there is vessel movement vector present

edit2: ah just read the op topic, so yah that would confirm that it might be a bug (or stock code intention?) to prevent harvesting air scoop when not moving.

Edited by riocrokite
Link to comment
Share on other sites

  • 2 weeks later...

So, forgive the slightly off-topic reply, but what parts use "ModuleResourceHarvester type = 2"? I know nothing in the stock game can harvest resources from atmosphere, but I guess this means the code is there in the stock game. Are there any simple mods that use this to, say, allow you to harvest gas from Jool to convert into liquid fuel?

Link to comment
Share on other sites

20 hours ago, PunkRockZoologist said:

So, forgive the slightly off-topic reply, but what parts use "ModuleResourceHarvester type = 2"? I know nothing in the stock game can harvest resources from atmosphere, but I guess this means the code is there in the stock game. Are there any simple mods that use this to, say, allow you to harvest gas from Jool to convert into liquid fuel?

No stock parts use this, as Stock only gives you parts with type 1 (the Ore drills) but the following can float your boat:

  • Karbonite (for Karbonite itself, which is available in 4 types)
  • Near Future Propulsion (for ArgonGas and XenonGas) have such parts.
  • I made clone intakes to add to NF Propulsion and CryogenicEngines (They handle Methane and Hydrogen)
  • There's also @Gordon Fecyk's Explodium-Breathing Engines.

Amusingly, you can install Karbonite and actually do the Jool thing.

 

Link to comment
Share on other sites

20 hours ago, PunkRockZoologist said:

I know nothing in the stock game can harvest resources from atmosphere, but I guess this means the code is there in the stock game.

Definitely the code is in there. The KSP Devs created the framework to create atmospheric, oceanic and even vacuum resources (think ram scoops from Star Trek) even if they didn't create any actual resources, or parts to harvest them. JadeOfMaar here pointed that out to me, and that's pretty much what makes my part add-on work as well as it does.

From my limited experience, I'm told Liquid Fuel is actually an RP-1 (refined kerosene) analogue and not a hydrogen-analogue. But if you want to treat Liquid Fuel like hydrogen for the purpose of any mod you make, you could certainly make an atmospheric harvester part for Jool's atmosphere, and then make a converter part to convert the harvested gas into Liquid Fuel.

But as Jade pointed out, Karbonite does this.

Edited by Gordon Fecyk
Link to comment
Share on other sites

  • 1 month later...
9 minutes ago, RoverDude said:

FYI - I've looked into this, and the atmospheric harvesters are working fine, both stationary and mobile, with and without air intakes transforms.

The issue isnt that they don't work, it's that they don't obey the airSpeedStatic config variable. See my post just above for screencaps with the value set to 50.0 and 500.0.

Link to comment
Share on other sites

3 minutes ago, Nertea said:

The issue isnt that they don't work, it's that they don't obey the airSpeedStatic config variable. See my post just above for screencaps with the value set to 50.0 and 500.0.

Literally just tested this variable, worked for me (though I had values 40 and 40000 ;))

Link to comment
Share on other sites

I have yet to use an atmosphere harvester while sitting still in 1.3... Would this problem therefore cause the 2.5m karbonite scoop to be no more effective than the 1.25m one? Say I want to farm gas from a foreign planet (Karbonite to LH2 refinery, or Argon depot) and I'm in position to spam big scoops instead of little ones, hoping for their extra speed by size.... This would make the big ones a waste of time and mass then?

(Ignoring the fact that the Karbonite scoops use a different parameter to scale their harvesting ability)

Edited by JadeOfMaar
Link to comment
Share on other sites

8 minutes ago, RoverDude said:

Literally just tested this variable, worked for me (though I had values 40 and 40000 ;))

So there must have been some kind of order of magnitude change, or a change in the base value of this, because cranking that value to 50,000 does produce a change. 

Can you provide information on what this field actually means then? It used to be pretty clearly harvest = rate * (airspeed + airspeedstatic), but now the value airSpeedStatic must be huge compared to what it used to be...

Link to comment
Share on other sites

On ‎7‎/‎21‎/‎2017 at 9:19 AM, RoverDude said:

I've looked into this, and the atmospheric harvesters are working fine, both stationary and mobile

Have you taken a look at bug tracker #15429 yet? I have example parts and resource configurations you can drop into a stock game to see the behaviour I'm running into.

That being said, any non-zero speed seems to take airSpeedStatic into account. When the surface speed is exactly zero though, the harvesting rate will drop to zero. This is most easily reproduced with a craft on launch clamps, but a wheeled craft with brakes engaged will do the same thing.

But any wobble will create a non-zero speed; I found putting some kind of forward thrust against the launch clamps (enabling infinite fuel to help, for instance) helps keep the wobble down and the speed as close to zero as necessary to reproduce this problem.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...