Jump to content

[1.x+] Community Resource Pack


RoverDude

Recommended Posts

On 5/10/2018 at 8:13 PM, Someone2018 said:

EDIT: cross-referencing wiki and stock resources suggests the unit of the config file is metric tonne per liter, is that true? (liquid fuel is on the wiki as 5 kg/L, but in the config file as 0.005)

2

Yes its true, at CRP we use the standard 1L/unit which differs from the stock 5L/unit used for LiquidFuel, Oxidizer and XenonGas resources. 

Edited by FreeThinker
Link to comment
Share on other sites

I submitted a proposal PR based on some discussion we had like a year ago about resource concentrations. Basically proposes changing oceanic, atmospheric and exo resources to a relative abundance model, which has a number of advantages.

Edited by Nertea
Link to comment
Share on other sites

I'd like to speak in favor of this PR. I (and surely, many other players) have had my heart broken by CRP concerning, example, ArgonGas, where I kept a save for a very long time, preparing an Argon-powered infrastructure for Duna, but on creating a new save to deploy in I found that there was none at all, making a complete waste of all my planning and test-building. I had no idea how configs worked yet, to tweak them, as most players, so the situation was hopeless.

With (particularly) the percentage based system there's: A guarantee of a consistent presence of [x] resource between saves; Always a minimum playable amount of it, however small; Ease for resource modders to see how they're balancing resource distributions for a given planet.

Link to comment
Share on other sites

This proposed change would be a lot more end user parse-able when considering scanner readouts in my opinion. To see a scanner readout say "Ore Abundance: 15%" is a lot more intuitive than to represent it just as an integer with no reference frame. Just my 2 cents.

Link to comment
Share on other sites

Well the problem is that @Nertea proposal would effectively break the balance of all existing resource gathering and KSPIE currently assumes real numbers. Granted it uses its own resource collectors which is able to handle values below 0.001 but any stock resource gatherer will give much higher output than it used to. As an alternative, I repropose to use the non-linear scale below 1%

Quote

I have an improved solution for the CRP rounding issue, that is both convenient and powerful


scaled_value =IF(C21>=1, original_value, ROUND(original_value^0.25, 3))

In this formula, all values above or equal to 1% remain the same. Only values below 1% get scaled exponentially.

So effectively from 0 to 1, it grows exponentially and from 1 and 100 it grows linearly.

Here is an example how this works in practice:

    Relative Abundance CRP   Scaled with conditional exponent  
    Abundance Range   Abundance Range
Resource   Min Max   Min Max
ArgonGas   0.001 0.1   0.178 0.562
CarbonMonoxide   0.00003 0.27   0.074 0.721
CarbonDioxide   0.00002 97   0.067 97
Karbonite   0.001 2   0.178 2
Karbonite [exo]   0.001 0.5   0.178 0.841
LqdHe3   0.000000000072 0.00014   0.003 0.109
LqdHydrogen   0.00005 80   0.084 80
LqdHydrogen [exo]   0.00000001 0.00000005   0.01 0.015
Oxygen   0.13 20   0.6 20
XenonGas   0.00000005 0.01   0.015 0.316
LqdDeuterium   0.0000000007 0.00003   0.005 0.074

 

1
1

The big advantage is that the rescaled values is functional in the stock resource system and will not significantly break existing resource gathering balance

Edited by FreeThinker
Link to comment
Share on other sites

I really don't like the conditional exponential scaling, it's super user-opaque. 

This does indeed need a (small) change to other mods' harvesters, but as it's only the non-stock harvesters that are affected. 

Link to comment
Share on other sites

On 2/16/2017 at 5:42 PM, RoverDude said:

For abundance equations, ResourceMap.GetAbundance does round to 1/1000 as it runs through the RNG and various calculations.

What’s special about 1/1000?  I would think the resource calcs should be able to use full precision from end to end :huh:

E: sorry to quote a very old post but there was some new discussion about it which surfaced this particular aspect.

Edited by blowfish
Link to comment
Share on other sites

12 hours ago, blowfish said:

What’s special about 1/1000?  I would think the resource calcs should be able to use full precision from end to end :huh:

E: sorry to quote a very old post but there was some new discussion about it which surfaced this particular aspect.

Because we're dealing with floating point math and available GUI real estate.  The right answer is that if you want something to be extremely scarce (beyond 0.001%) you're better served by limiting the harvester itself.  There are a ton of dials and levers for handling resource harvesting, folks are not limited to just one.

RE the current discussion, I have no skin in this game, ultimately I'll let folks hash it out.  Though I'd say that the focus of CRP has to be within the operational parameters of the stock game and it should be mod agnostic.

Link to comment
Share on other sites

Ahm... sorry, I'm having a small problem with asteroid mining and am looking for help.

To start with, I have TAC Life Support and hence CRP as a dependency. I then went mining an asteroid with a crewed vessel. First thing I noticed was that my water supplies would be refilled; next, that there would be a constant mass loss while mining. Finally, I couldn't refuel my vessel even once. The asteroid started out at 95% resource density and still shows 94.94, but it's apparently been stripped of ore already.

I presume that the rock is full of CRP resources in variable amounts, which all together come to 95%; I also presume that the stock drill harvests at least several if not all resources, and dumps a lot of them - hence the mass loss. It certainly doesn't dump everything, as it ceases working when the ore bunker is full, or when ore is depleted.

Checking in the save game, the potatoroid part{} on my vessel has several entries like this:

MODULE
{
	name = ModuleAsteroidResource
	isEnabled = True
	abundance = 0.129237294
	displayAbundance = 0.122775428
	stagingEnabled = True
	EVENTS
	{
	}
	ACTIONS
	{
	}
	UPGRADESAPPLIED
	{
	}
}

16 of them altogether, only differing by abundance. Sadly, none of them is named. Asteroid's part action window also only lists a grand total for resources.

What can I do to give me ore-only asteroids, or (even better) to retroactively turn this particular one into a ore-only thing?

EDIT: just removing Asteroid.cfg works well enough. Seems a bit heavy-handed, though -- if there is a more elegant way, I'd still very much like to know.

Edited by Laie
Link to comment
Share on other sites

  • 2 weeks later...
On 8/18/2018 at 7:05 AM, RoverDude said:

Because we're dealing with floating point math and available GUI real estate.  The right answer is that if you want something to be extremely scarce (beyond 0.001%) you're better served by limiting the harvester itself.  There are a ton of dials and levers for handling resource harvesting, folks are not limited to just one.

RE the current discussion, I have no skin in this game, ultimately I'll let folks hash it out.  Though I'd say that the focus of CRP has to be within the operational parameters of the stock game and it should be mod agnostic.

Sorry I didn't see this reply. You do have a tiny bit of skin in the game b/c Karbonite would be slightly affected, but I believe this and the associated PR are totally within-parameters :)

Link to comment
Share on other sites

On 9/16/2016 at 8:31 PM, FreeThinker said:

Well, perhaps in a world where it's inhabitants are not paranoid about Nuclear reactors, and don't waste their stock piles of Tritium on the production of Nuclear weapons, there would actually be more Helium3 available than Tritium. Still the cost Helium3 would be strongly linked to the production cost of Tritium. Because Cost of Tritium is also inflated I will agree will you that lowering Tritium/Helium3  to 50f/unit is  justifiable.

Okay I realize this is two years old but I really must object to tritium costing - by my math, anyway - 340 times less on Kerbin than on Earth. If you took all the tritium in human nuclear weapons - which wouldn't exist without the demand for those weapons, but whatever - and put it on the market, the price would not come down anywhere remotely close to 340 times.

Math: a liter of liquid tritium in Earth prices is 6.4 million dollars.

Assuming that 1√,=1000USD, it's $18,800 on Kerbin.

This makes producing your own tritium super, completely pointless just because people didn't like not being able to buy their way into a fusion rocket program with money they found under their couch.

And antimatter is a hundred thousand USD a gram? What? 

Even if we sold antimatter at Earth grid electricity prices, it should be 6 million dollars (6000√) a gram. (49929066 KW*h/gram at 12 cents per KW*h).

Realistically it should be thousands more than that given its utility in space propulsion and significant cost and inefficiency of manufacture/storage.

Please change, I want to make some money and have an actual reason to have antimatter creation infrastructure instead of buying it in infinite quantities from Antihydrogen R Us.

I realize I could change this easily in the config but I could also change the Isp of liquid fuel to 7 billion seconds. That would be unrealistic.

I think this is realistic, and if I'm wrong, then I'm wrong. But please have a thought for people who like realistic economics. I don't begrudge you your realistic physics when my radiator is bigger than my spaceship.

Edited by Deredere
Link to comment
Share on other sites

6 hours ago, Nertea said:

Sorry I didn't see this reply. You do have a tiny bit of skin in the game b/c Karbonite would be slightly affected, but I believe this and the associated PR are totally within-parameters :)

Ok lets see what we can work with and what resources are problematic.

Antimatter , ArgonGas,  Karbonite, LqdDeuterium,  LqdHe3,  XenonGas can use the relative resource scale as their abundance is always relatively low

However, the primaeval resources LqdHydrogen, Oxygen, CarbonDioxide are problematic because their abundance can vary from very high to very low. Hydrogen and Carbondioxide are only in trace quantities available Earth atmosphere but Hydrogen is very abundant in gas-giants while Carbondioxide is very abundant in Rocky non-breathable atmospheres like Mars and Venus Atmosphere.

A possible solution the variable abundance of these primaeval resources is to use values above 100 when it is very abundant.

Edited by FreeThinker
Link to comment
Share on other sites

Harvesters (at least exospheric, maybe atmospheric too) produce 10% or 1% of the displayed resource abundance. So maybe (anyone, please correct me) if you deploy an exo harvester on a resource with 0.001% abundance, will it not produce 0.00001 unit/s? To gather just 100 units of anything at this rate with one, probably large and costly harvester, would incidentally take a year and a day in-game. And no one is going to settle with just 100 units of something super rare. So harvest time already easily measures in years or (if one is determined) decades.

The typical and far easier way to balance resource harvesting is to make the harvester costly in electric charge or to nerf the devices that use the resource afterward. Where is the fun in having resources measurable at nano-scale? At this point it's better to dump the mod that involves this resource and install something that provides an alternate path to whatever is required of it, or players will ask how to edit CRP files to make the resource more abundant.

Link to comment
Share on other sites

Pretty much what @JadeOfMaar said.  The correct way to have super-rare stuff that extends to super-low concentrations is to adjust the harvesters, not the abundance numbers.  With both of those levers, you have an almost infinite level of variability.   And at this point, I am seeing no compelling arguments against this approach.

Link to comment
Share on other sites

Just having a look at this, yes, there are mining facilities harvesting rarer substances. For example the minimum economically viable gold mining is down in the single digits of parts per million.

But, nothing like that is ever going to be mounted on a craft. You can't pop a drag line and gold processing facility on a rocket or plane. Realistically anyone doing isru is going to be using the more abundant resources than things that are a few parts per million.

So, ignoring the "it's a game factor" (which shouldn't be ignored, because it is a game) it's somewhat unreasonable to expect a craft or small facility to be processing hundreds of tonnes for a few grand of stuff. If they need that, it's going to be much much more sensible to bring it with them. 5000 000 tonnes of refinery or 5kg of refined thingy. Not a hard choice.

Link to comment
Share on other sites

8 hours ago, RoverDude said:

Pretty much what @JadeOfMaar said.  The correct way to have super-rare stuff that extends to super-low concentrations is to adjust the harvesters, not the abundance numbers.

After reading discussion of this issue I also had the immediate thought that it would be easier and more extensible in the long run just to adjust the harvest/collection rates on the parts that are collecting low abundance resources. It will only take a balance pass if necessary and the math for each resource affected with be constant across all other parts for that resource.

It's seems the much more logical approach without introducing some black magic foolery to the resource allocation.

Link to comment
Share on other sites

11 hours ago, Nertea said:

Why is 100 -> 0.001, a total of 5 orders of magnitude of variation, not sufficient to represent abundances from low to high?

For Hydrogen, we need at least 7 order of magnitude as it ranges from 99% down to 0.00005% on Earth. A possible solution would be to multiply hydrogen abundance by 100, allowing 0.005 to represent 0.00005%. To represent 99% abundance, you would use 99000, but I'm not sure if there are GUI restriction which prevents number above 100

Edited by FreeThinker
Link to comment
Share on other sites

2 hours ago, FreeThinker said:

For Hydrogen, we need at least 7 order of magnitude as it ranges from 99% down to 0.00005% on Earth. A possible solution would be to multiply hydrogen abundance by 100, allowing 0.005 to represent 0.00005%. To represent 99% abundance, you would use 99000, but I'm not sure if there are GUI restriction which prevents number above 100

If you look at reality, concentrations can go even lower, down to single digit parts per million.

But this isn't real like, it's a game.  Anything lower than 0.001 is, in game terms, essentially 0.

Link to comment
Share on other sites

7 hours ago, FreeThinker said:

For Hydrogen, we need at least 7 order of magnitude as it ranges from 99% down to 0.00005% on Earth. A possible solution would be to multiply hydrogen abundance by 100, allowing 0.005 to represent 0.00005%. To represent 99% abundance, you would use 99000, but I'm not sure if there are GUI restriction which prevents number above 100

With the implementation that has been discussed, would it just be a process of needing to go through your harvester parts and adjust the efficiency values for the low abundance resources in question, no?

MODULE
{
    name = ModuleResourceHarvester
    Efficiency = 0.01 //Really bad efficiency will yield low resource gain (?)
    ResourceName = YourReallyScarceResource
}

 This would work right, as you specify the resources in the module... or can you only have one ModuleResourceHarvester module per part?

Link to comment
Share on other sites

Well then that sounds like the obvious solution.

So, @FreeThinker, if you required a resource abundance of 0.00005% but the lowest you can go is 0.001%. Just include that resource within its own harvester module and use an efficiency value of ( 0.00005 / 0.001 ) 0.05 for example to simulate the resource harvest rate you'd get with 0.00005% abundance.

Link to comment
Share on other sites

13 hours ago, FreeThinker said:

For Hydrogen, we need at least 7 order of magnitude as it ranges from 99% down to 0.00005% on Earth. A possible solution would be to multiply hydrogen abundance by 100, allowing 0.005 to represent 0.00005%. To represent 99% abundance, you would use 99000, but I'm not sure if there are GUI restriction which prevents number above 100

Think about why you need that. In reality, if you want to be perfectly realistic, you need to support *all* the sigfigs. In the game, what is the difference? Look at this in terms of refuelling time I guess... assume you fill 1 full tank up per day with a harvester.  You can have with 5 orders of magnitude, a representation of fuelling taking between 1 day (100% concentration) and and ~275 years (0.001% concentration). What gameplay value is there in extending this down to 27500 years (2 more orders of magnitude)? Timewarping 275 years for a fillup is already pretty long!

 

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...