Jump to content

[1.x+] Community Resource Pack


RoverDude

Recommended Posts

1 hour ago, Nertea said:

Want to draft up some cfgs for the distributions (I'll do it myself, but my time is limited these days)? I want to do ingame tests on this before we decide for sure. 

don't worry, I will make the new cfg files, I will make them available through a share.

Edited by FreeThinker
Link to comment
Share on other sites

6 hours ago, Nertea said:

Cool. I'll try to find some time to test in the next 24 hours.

Alright, here is the share

Notice I only modified LqdHe3, Xenon and Hydrogen, the other resource never get lower than 0.001. For LqdHydrogen, I correctly some clear errors in it abundance. Hydrogen should vary between 40% and 80% by mass percentage. Jools atmosphere should consist of 60% to 80% hydrogen

Regarding LqdHe3,  I question the logic of specifying its density lower 0.0001, they are simply uneconomical to collect, (even if the cost would be a million times higher). The highest concentration should theoretically be found on the exosphere. Note that in reality due to the limited escape speed of Kerbin, any hydrogen and helium would be lost in a few decades. also from a game balance perspective, it makes no sense to allow them to be harvested from the homeworld atmosphere. Instead, it should be made into the ideal Mac Grufinite and make it only available on gas giants, rare gas wells, and in the regolith of celestial bodies without an atmosphere. I also think it send out the wrong educational message to players, giving them the impression Helium3 can just be scooped for our atmosphere, which it is clearly not the case.

Edited by FreeThinker
Link to comment
Share on other sites

You know there's more than one gameplay paradigm out there, right? It's beneficial to allow other modders to... do their thing without trying to force a particular way of play on them. I don't particularly like the way you balance things. I expect you don't like mine either. This project is where we try to get along for long enough that our mods don't conflict in a terrible way. 

We've got this tiny abundance in the atmosphere. You'll live. It's low enough that it doesn't matter for your players. It's high enough that someone can test their fuelling strategy on Kerbin, which is what I want. If it were up to me, I'd throw probabilities of it in every atmosphere, and other rare things too. 

Link to comment
Share on other sites

15 minutes ago, Nertea said:

We've got this tiny abundance in the atmosphere. You'll live. It's low enough that it doesn't matter for your players. It's high enough that someone can test their fuelling strategy on Kerbin, which is what I want. If it were up to me, I'd throw probabilities of it in every atmosphere, and other rare things too. 

 

Well then you should like that I added additional random variance. Let me know if it works.

Link to comment
Share on other sites

I barely had time to test the atmospheric concentrations themselves, but I did test the exoatmospheric values and they don't... work. Maybe need to ping @RoverDude here.

I tried several variations on the numbers for abundance and altitudes without much success. Specifically, the scanner reported a value of 0 all the time, no matter where in the SOI I was. Version with altitude in M

GLOBAL_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 3
	
	Distribution
	{
		PresenceChance = 100
		MinAbundance =  1
		MaxAbundance = 100
		MinAltitude = 500
		MaxAltitude = 200000000000
		MinRange = .01
		MaxRange = .5	
		Variance = 20
	}
}

Version with SOI fractions:

GLOBAL_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 3
	
	Distribution
	{
		PresenceChance = 100
		MinAbundance =  1
		MaxAbundance = 100
		MinAltitude = 0.1
		MaxAltitude = 2.0
		MinRange = .01
		MaxRange = .5	
		Variance = 20
	}
}

I even tried just cloning the CRP exo Karbonite definition with no luck. 

Here's my detector code, by the way. Fairly simple. 

MODULE
{
	name = ModuleResourceScanner
	ScannerType = 3
	ResourceName = LqdHydrogen
	RequiresUnlock = false
}

 

Link to comment
Share on other sites

@Nertea

Min/Max Altitude are multipliers of the body's radius.  The average of which is your ideal altitude.

Min/Max Range determines the upper/lower potential range - note that the range can be less than this based on the RNG.

Then we look at where you are relative to the total width of the band... being at the perfect altitude gives you a 100% modifier... down to a 0% if you're on the edge of the band.  Your abundance is then multiplied by this modifier.

My recommendation is to always start with a very high abundance and high range, so you can at least make sure stuff works, then dial it back down as needed.

Edited by RoverDude
Link to comment
Share on other sites

1 minute ago, RoverDude said:

@Nertea

Min/Max Altitude are multipliers of the body's radius.  The average of which is your ideal altitude.

Min/Max Range determines the upper/lower potential range - note that the range can be less than this based on the RNG.

Then we look at where you are relative to the total width of the band... being at the perfect altitude gives you a 100% modifier... down to a 0% if you're on the edge of the band.  Your abundance is then multiplied by this modifier.

My recommendation is to always start with a very high abundance and high range, so you can at least make sure stuff works, then dial it back down as needed.

Ok, thanks. I will spend some time tomorrow, report back. Let me be sure I understand the parameters. In the following cfg snippet, i expect..

  • 100% chance of the resouce being present
  • Abundances of 1-100%
  • Minimum altitude of 0.1x the body (is this the altitude above sea level?)
  • Maximum altitude of 2x the body 
  • Range of 0.01-0.5x x the body size - is this the equatorial height of the band? 

So I would expect to find the resources 100% of the time in a band that is distributed as per this cross-sectional picture around the body.

fXfWxnR.png

Do i have that right? It's not fully to scale. 

GLOBAL_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 3
	
	Distribution
	{
		PresenceChance = 100
		MinAbundance =  1
		MaxAbundance = 100
		MinAltitude = 0.1
		MaxAltitude = 2.0
		MinRange = .01
		MaxRange = .5	
		Variance = 20
	}
}
Link to comment
Share on other sites

@Nertea - Altitude is ASL.  These are all spheres, but yes, equatorial for range.  Essentially...  Make a big band from MinAlt to MaxAlt.  Go to the middle of it.  Then make a gradient stretching both directions from that ideal altitude based on a random value between min/max range.

 

in your pic, flip range over by 90 degrees :wink:  

 

|          |            X            |          |
+----------+------------+------------+----------+

Min Alt        Min Range         Ideal         Max Range          Max Alt

 

Range takes a value between Min and Max, and feathers the band on both sides of the Ideal Range.

 

Higher Min Range will make a band easier to find.

Link to comment
Share on other sites

Haha, ok. Thanks for helping here!

So let's take a case study to make sure my understanding is right then! Assuming kerbin radius is 500km, if I wanted to create a resource band from 100 km to 500 km, centered near 250 km, I would use

  • Minimum altitude of 0.2
  • Maximum altitude of 1.0
  • Min Range of 0.4
  • Max Range of 0.6
Link to comment
Share on other sites

Getting there :)

With your numbers, the center would be at 300km not 250.

The range would be anywhere from 100-500km at the low range, to 0-600km at the high range.  With the abundance tapering off above and below 300km regardless.

And yeah... start with really big abundance levels to troubleshoot :wink:

Link to comment
Share on other sites

Thanks for working with my lack of coffeeness :P.

Ok, so we establish band center by average of MinAlt and MaxAlt (0.2*500 + 1.0*500)/2 = 300 km. That seems clear.

Then a random number is selected between MinRange: 0.4*500 (so 200) and MaxRange 0.6*500 ( so 300), which is X. This is then subtracted/added from the center point to get the actual bounds.

So in the previous example the resource band starts anywhere between 0 km (300 km - X) and 600 km (300 km + X) and is centered at 300 km.

If that's correct, then to achieve resources from 100 km to 400 km, centered near 250 km, I would use

  • Minimum altitude of 0.25 
  • Maximum altitude of 0.75 (these produce a center of 250 km)
  • Min Range of 0.25
  • Max Range of 0.35 (these produce a X of ~150 km, with some variance)

 

Please be right :P

Link to comment
Share on other sites

Alright @RoverDude... test results.

I found that GLOBAL_RESOURCE definitions either don't work, or are defined differently. My test config in a PLANETARY_RESOURCE context works well. This snippet successfully creates a resource distribution around Kerbin:

PLANETARY_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 3
	PlanetName = Kerbin
	Distribution
	{
		PresenceChance = 100
		MinAbundance = 100
		MaxAbundance = 100
		MinAltitude = 0.1
		MaxAltitude = 1
		MinRange = 0.5
		MaxRange = 0.5
		Variance = 0
	}
}

However, if I use an identical, but GLOBAL_RESOURCE version (snippet below), I don't see the resource distribution.

GLOBAL_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 3
	Distribution
	{
		PresenceChance = 100
		MinAbundance = 100
		MaxAbundance = 100
		MinAltitude = 0.1
		MaxAltitude = 1
		MinRange = 0.5
		MaxRange = 0.5
		Variance = 0
	}
}

If I understand this correctly, both definitions should provide the exactly the same distribution around Kerbin. The difference is that the GLOBAL distribution should make it happen on all planets. However, when the GLOBAL instead of the PLANETARY one is used, the resources don't show. 

Thoughts?

Link to comment
Share on other sites

@Nertea - Is there still an older Planetary one around - even in a different config?

They work on a priority system - Biome then Planet then Global.  so if you had an old (test) planetary distribution it would override your global one.  Multiple planetary (or biome or global ones) will combine into the most optimistic version.

Link to comment
Share on other sites

Nope, no other exo definitions. There is another definition for atmospheric LH2 though that is PLANETARY.


PLANETARY_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 2
	PlanetName = Jool
	
	Distribution
	{
		PresenceChance = 100
		MinAbundance = 0.05
		MaxAbundance = 0.08
		Variance = 20
	}
}

 I started on a fresh save too in case that matters.

Link to comment
Share on other sites

On 22-2-2017 at 7:06 PM, Nertea said:

Alright @RoverDude... test results.

I found that GLOBAL_RESOURCE definitions either don't work, or are defined differently. My test config in a PLANETARY_RESOURCE context works well. This snippet successfully creates a resource distribution around Kerbin:


PLANETARY_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 3
	PlanetName = Kerbin
	Distribution
	{
		PresenceChance = 100
		MinAbundance = 100
		MaxAbundance = 100
		MinAltitude = 0.1
		MaxAltitude = 1
		MinRange = 0.5
		MaxRange = 0.5
		Variance = 0
	}
}

However, if I use an identical, but GLOBAL_RESOURCE version (snippet below), I don't see the resource distribution.


GLOBAL_RESOURCE
{
	ResourceName = LqdHydrogen
	ResourceType = 3
	Distribution
	{
		PresenceChance = 100
		MinAbundance = 100
		MaxAbundance = 100
		MinAltitude = 0.1
		MaxAltitude = 1
		MinRange = 0.5
		MaxRange = 0.5
		Variance = 0
	}
}

If I understand this correctly, both definitions should provide the exactly the same distribution around Kerbin. The difference is that the GLOBAL distribution should make it happen on all planets. However, when the GLOBAL instead of the PLANETARY one is used, the resources don't show. 

Thoughts?

 
 
 
 
 

Perhaps it would be best to use only planetary definitions (for exospheres), which also a realism perspective makes a lot of sense because only a minority of all celestial bodies have a liquid metal or metallic hydrogen core to create magnetic belts. So we should leave it up to the authors of planets packs have to define these belts themselves.

Edited by FreeThinker
Link to comment
Share on other sites

@FreeThinker, yeah, we might need to define based on planetary definitions. Not really a huge problem. My goal with LqdHydrogen distributions was to make it somewhat available everywhere in low concentrations but higher concentrations in certain locations, like I guess near Jool and stuff. 

I had a test of the atmo definitions today, looks fine mostly, however I'd say let's add deuterium atmospherically to jool in the correct relative concentrations.

@RoverDude I have some questions about extractors, if you'd be willing to shed some light. In ModuleResourceHarvester configured as an atmospheric, there is the airSpeedStatic value, which sets the input airspeed at a "real" airspeed 0. So, for simplicity's sake, with a resource abundance of 100% and a harvester efficiency of 100%:

  • How is the final value calculated?
  • Is there a reference airspeed or something?
  • Does the harvested value depend on air density?
  • Does the harvested value depend on orientation of the part and a transform or similar? (with relation to the airflow) 

Similar question about exoatmospheric harvesting.

  • How is the final value calculated?
  • Does airSpeedStatic have any effect here?
  • Does the harvested value depend on orientation of the part and a transform or similar? (with relation to the speed of the err... interstellar medium?) 

I greatly appreciate any answers!

 

 

 

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.

×
×
  • Create New...