Jump to content

Community Resource Pack [WIP]


RoverDude

Recommended Posts

Does the MKS prerelease include the move to the CRP? (just checking so i can update my own stuff ahead of time :) )

Yep, so things are going to be very interesting for a while. Which means you probably want to have two versions for a bit. I anticipate the MKS pre-release lasting a week or two, based on how fast I get feedback.

Link to comment
Share on other sites

I would like to put forward some 5 of the resources included in KAAG. KAAG isn't released yet, but the first release is extremely close. That's why I want to get the resource defs added in. :P If I could that is. Anyway, here are the defs:


RESOURCE_DEFINITION
{
name = Ice
density = 0.01
unitCost = 0.01
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = CompressedAir
density = 0.00463
unitCost = 0.042
flowMode = ALL_VESSEL
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = Hydroxol
density = 0.025
unitCost = 5
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = RefinedHydroxol
density = 0.1
unitCost = 15
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = OilyWater
density = 0.06
unitCost = 0.8
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = false
}

Edited by ToTheMun
Link to comment
Share on other sites

I would like to put forward another 3 new resources in KAAG. These are completely new. In other words, I used my imagination and made them up :P.

Kenzodrine, Lqd(liquid) kenzodrine and atm(atomic) kenzodrine. The stats are below.


RESOURCE_DEFINITION
{
name = Kezodrine
density = [SIZE=2]0.46827[/SIZE]
unitCost = [SIZE=2]21.37[/SIZE]
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = LqdKenzodrine
density = [SIZE=2]0.2148[/SIZE]
unitCost = 14.6
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = AtmKenzodrine
density = 0[SIZE=2].6489[/SIZE]
unitCost = [SIZE=2]48.26[/SIZE]
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}

Link to comment
Share on other sites

I would like to put forward another 3 new resources in KAAG. These are completely new. In other words, I used my imagination and made them up :P.

Kenzodrine, Lqd(liquid) kenzodrine and atm(atomic) kenzodrine. The stats are below.


RESOURCE_DEFINITION
{
name = Kezodrine
density = [SIZE=2]0.46827[/SIZE]
unitCost = [SIZE=2]21.37[/SIZE]
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = LqdKenzodrine
density = [SIZE=2]0.2148[/SIZE]
unitCost = 14.6
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}
RESOURCE_DEFINITION
{
name = AtmKenzodrine
density = 0[SIZE=2].6489[/SIZE]
unitCost = [SIZE=2]48.26[/SIZE]
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}

Once they are released and out in the wild for a bit, we can add them in. First to the 'stuff other people use' list, then once they are adopted by a few mod, to the main list.

Thanks

Link to comment
Share on other sites

Once they are released and out in the wild for a bit, we can add them in. First to the 'stuff other people use' list, then once they are adopted by a few mod, to the main list.

Thanks

Note that CRP needs to have a unaltered list of resources, thus you cannot make cfg files compatible with Squad / MM format. Some may try to use MM to alter CRP's cfgs to their liking. Also, there should be a downloadable list of resources, a "table of elements" so to speak, ensuring players always have access to basic generally agreed-upon resource definitions.

A in-game list of implemented resources displayed by CRP's GUI (with highlights for newly added items) is ofcourse a gimmick on a backburner :)

The list could also show which addons use what resources. This requires addons to register their resource usage and that could be done in their "part.cfg" files (i know partless plugins have different access) within "RESOURCE" tags, i do not know if separate "MODULE" tag with something like "name=CRP" should be needed though. CRP would then just pull "manufacturer" field out of every "part.cfg" and there you go - a list where player can review what addons use which resource.

What bugs me is that i can't think of automation for addons that use resources that are not officially implemented in CRP or are in conflict with other addons. In both cases it could be done by presenting a GUI so player can manually resolve this conflict. Not pretty, but if left to machine-logic, it would open the floodgates to chaos. Its better than nothing.

Link to comment
Share on other sites

Note that CRP needs to have a unaltered list of resources, thus you cannot make cfg files compatible with Squad / MM format. Some may try to use MM to alter CRP's cfgs to their liking. Also, there should be a downloadable list of resources, a "table of elements" so to speak, ensuring players always have access to basic generally agreed-upon resource definitions.

A in-game list of implemented resources displayed by CRP's GUI (with highlights for newly added items) is ofcourse a gimmick on a backburner :)

The list could also show which addons use what resources. This requires addons to register their resource usage and that could be done in their "part.cfg" files (i know partless plugins have different access) within "RESOURCE" tags, i do not know if separate "MODULE" tag with something like "name=CRP" should be needed though. CRP would then just pull "manufacturer" field out of every "part.cfg" and there you go - a list where player can review what addons use which resource.

What bugs me is that i can't think of automation for addons that use resources that are not officially implemented in CRP or are in conflict with other addons. In both cases it could be done by presenting a GUI so player can manually resolve this conflict. Not pretty, but if left to machine-logic, it would open the floodgates to chaos. Its better than nothing.

There are a few ways to make it less likely to get stomped, but at the end of the day I think public pressure is always superior to control in these things. For the other requests - Mods that use these, available resources, etc. - those are already in the Google doc :)

CRP is not about control, or enforcement of will. Any mod that tries to do that will fail. It's more about 'let's not break stuff, come hang out with us we have cookies'. In our community, we'll get a lot further with the latter approach.

Link to comment
Share on other sites

There are a few ways to make it less likely to get stomped, but at the end of the day I think public pressure is always superior to control in these things. For the other requests - Mods that use these, available resources, etc. - those are already in the Google doc :)

CRP is not about control, or enforcement of will. Any mod that tries to do that will fail. It's more about 'let's not break stuff, come hang out with us we have cookies'. In our community, we'll get a lot further with the latter approach.

I'm not saying that CRP should enforce it on it's own, but indeed through a public pressure. You just program into CRP a public pressure framework, make it by design.

Link to comment
Share on other sites

I'm not saying that CRP should enforce it on it's own, but indeed through a public pressure. You just program into CRP a public pressure framework, make it by design.

By definition public pressure should require no programming. If we ever feel we have to code in a way that pushes folks to do what we feel is right, versus letting the community come to their own conclusions and opt-in of their own free will, then we're probably peddling a bad bill of goods.

Even if we wished to go to the dark side and swap out coaxing for programmatic changes to the way resources work, or intruding into the user experience, there is no real way to do that without having a negative impact on the people who have no desire to be a part of our club, or our cookies. And from a modder's perspective, there should be no additional workflow. If anything, using CRP means you have to deal with less stuff as you already have a nice resource set to play with (and we don't advocate any specific interactions).

Link to comment
Share on other sites

Then this "rulebook" item is also settled.

There are only two rules.

1. Don't break ORS. When you do, things are unleashed and children are eaten.

2. Don't make a different definition for FluffyUnicorns, and don't make UnicornProducts, FurryUnicorns, and NotScratchyUnicorns if these all mean the same thing. If you use the same definition of FluffyUnicorns that we do, you can share our cookies. If you don't, we'll be sad. If you try to redistribute a modified version of FluffyUnicorns in the CRP folder, we'll give you a really stern look and shame you.

Link to comment
Share on other sites

Do you have a recommendation on how to deal with mods that convert to/from Squad resource definitions to something else?

For example, if a mod maker assumes Oxidizer is liquid oxygen and (to use your terminology) is 5L per unit, and a mod has an oxygen resource that is 1L per unit, how does one deal with this and conserve mass? I think for most instances this wouldn't matter, but if one is basing a mod off of molar masses and chemical rxns, this becomes a Problem.

Just do the calculations with mixed L/unit and sweep oddities under the table?

--Edit: I should mention I'm one of the people that worked on Biomass. We're in the process of updating it, so this discussion is of relevance to me :)

Edited by seanth
Link to comment
Share on other sites

  • 2 weeks later...
Do you have a recommendation on how to deal with mods that convert to/from Squad resource definitions to something else?

For example, if a mod maker assumes Oxidizer is liquid oxygen and (to use your terminology) is 5L per unit, and a mod has an oxygen resource that is 1L per unit, how does one deal with this and conserve mass? I think for most instances this wouldn't matter, but if one is basing a mod off of molar masses and chemical rxns, this becomes a Problem.

Just do the calculations with mixed L/unit and sweep oddities under the table?

--Edit: I should mention I'm one of the people that worked on Biomass. We're in the process of updating it, so this discussion is of relevance to me :)

Hey sorry I missed this.

Oxidizer and Oxygen are different resources in that case. And yeah, if you hit cases where things are mixed, adjust as part of the calculations (I already do this in my mods).

Link to comment
Share on other sites

Greetings,

This has been a very interesting thread. I'm actually here to discuss a practical application, because I want to be complaint with at least one standard out there in the world. I am working on a sort of a "Real Fuels Lite" for lack of a better term. I will post the link at the bottom of this post. I want to implement the following fuel types (copy paste from my post):

Fuel Types:

-Liquid Oxygen/Liquid Hydrogen - High ISP, but difficult to store

-Liquid Oxygen/Methane - Lower ISP, but can be created in CO2 atmospheres (ie. Duna)

-Liquid Oxygen/Kerosene - Lower ISP, but Kerosene is also Jet Fuel

-Hydrazine/Aerozine - Lower ISP, but is inert, and Hydrazine can be used as Monopropellant

-Liquid Hydrogen - This is now the only fuel type needed for NERVA engines

-Hydrazine - This is now MonoPropellant

-Liquid Oxygen/Solid Fuel - Thanks to Procedural Parts, procedural hybrid engines are now implemented. Higher performance, and higher price than simple solid boosters.

I would like to implement this with a caveat. This being, that I would like to treat cryogenic fuels separately from their base components, to make them harder to store. Do you have any current standard for the aforementioned cryogens, or their constituents? If so, what is the best practice I should use to make sure that my module manager configs do not overwrite them, and use them correctly? Are there currently mass and costs associated with these items that have already been standardized? Are there already standard mix ratio and ISP guidelines, beyond those that I can surmise from researched the real world fuels?

I hope this makes sense, and I really appreciate what you gentlemen are doing here.

Original post to project: http://forum.kerbalspaceprogram.com/threads/92433-WIP-0-24-2-More-Fuel-Types-Adapts-to-new-mods-no-engine-configs-needed

Link to comment
Share on other sites

I'm not really sure what this is all about but I'm always happy to see modder cooperation so I hope things are going well.... Are they?

Naten has raised an issue with Skylon fuel and when the time comes to decide on the resources for my mod I might join this train, I just wish the OP was a little clearer. Would you mind editing the google doc with some descriptions? I'm ignorant of most of them.

Link to comment
Share on other sites

Greetings,

This has been a very interesting thread. I'm actually here to discuss a practical application, because I want to be complaint with at least one standard out there in the world. I am working on a sort of a "Real Fuels Lite" for lack of a better term. I will post the link at the bottom of this post. I want to implement the following fuel types (copy paste from my post):

I would like to implement this with a caveat. This being, that I would like to treat cryogenic fuels separately from their base components, to make them harder to store. Do you have any current standard for the aforementioned cryogens, or their constituents? If so, what is the best practice I should use to make sure that my module manager configs do not overwrite them, and use them correctly? Are there currently mass and costs associated with these items that have already been standardized? Are there already standard mix ratio and ISP guidelines, beyond those that I can surmise from researched the real world fuels?

I hope this makes sense, and I really appreciate what you gentlemen are doing here.

Original post to project: http://forum.kerbalspaceprogram.com/threads/92433-WIP-0-24-2-More-Fuel-Types-Adapts-to-new-mods-no-engine-configs-needed

Start with the resource list in the OP (it has a google doc with everything currently agreed to). If you feel something is missing, we can then sort through those :)

Link to comment
Share on other sites

This is fantastic! I will implement this configuration immediately. Assuming that I only define resources which are unique to my particular mod, are there any other MM requirement checks I need to do to ensure compliance? Should I be sharing the resources which are unique to my endeavor for feedback? Do I need to modify my license to include these configs?

Edited by saabstory88
Whoops
Link to comment
Share on other sites

Having deployed the standard CRP, I have found that any existing resource definitions from the constituent mods(TAC, etc..) tend to break the game. Is there a fix which can be deployed for this, or do people intending to use CRP bear the responsibility of deleting these files manually?

Link to comment
Share on other sites

This is fantastic! I will implement this configuration immediately. Assuming that I only define resources which are unique to my particular mod, are there any other MM requirement checks I need to do to ensure compliance? Should I be sharing the resources which are unique to my endeavor for feedback? Do I need to modify my license to include these configs?

Nope. Rock on. If you bundle this (and you can just bundle the configs if your mod is not using ORS for resource harvesting), then you would include it's CC license.

Having deployed the standard CRP, I have found that any existing resource definitions from the constituent mods(TAC, etc..) tend to break the game. Is there a fix which can be deployed for this, or do people intending to use CRP bear the responsibility of deleting these files manually?

Define break - there should be no breaking involved (it's just a resource list). Specifics?

Link to comment
Share on other sites

The net effect using this with say, TAC life support, is that the resources defined in TACs resource config conflict with those in the CRP config. This is what module manager, and unity, appear to be reporting in the log file, which I can post when I get home along with the reproduction steps. This results in nothing being loaded into the VAB (or the game for that matter) besides aerodynamic parts. I don't know if it is my Mod causing this, but deleting the TAC life support resource configs, from the TAC folder, solves the problem entirely.

I have not modified the CRP folder contents or structure in any way. I will note, that I am using MM 2.3.1, which I have not seen deployed in any major mod packs. I acknowledge this couldbe an issue.

Link to comment
Share on other sites

The net effect using this with say, TAC life support, is that the resources defined in TACs resource config conflict with those in the CRP config. This is what module manager, and unity, appear to be reporting in the log file, which I can post when I get home along with the reproduction steps. This results in nothing being loaded into the VAB (or the game for that matter) besides aerodynamic parts. I don't know if it is my Mod causing this, but deleting the TAC life support resource configs, from the TAC folder, solves the problem entirely.

I have not modified the CRP folder contents or structure in any way. I will note, that I am using MM 2.3.1, which I have not seen deployed in any major mod packs. I acknowledge this couldbe an issue.

A resource conflict will not cause stuff to not load in the VAB - you have a different issue - you have something else going on there.

Link to comment
Share on other sites

A resource conflict will not cause stuff to not load in the VAB - you have a different issue - you have something else going on there.

Good call. Something was showing a memory access violation in the player log. A sudo purge (I'm on OS X) cleared the issue. I can now no longer reproduce the issue. Thank you very much for the guidance.

A fresh install confirms this. This was a transient issue, and has not yet showed itself again.

Edited by saabstory88
Confirmed
Link to comment
Share on other sites

Are there any immediate plans to assign a cost to LqdMethane? It would greatly help my particular mod, due to the fact that I am using it in launch stages, and the whole thing is geared towards career. It's not totally game-breaking, because liquid oxygen is expensive, but it would be nice to have some cost associated.

Thanks!

Link to comment
Share on other sites

Are there any immediate plans to assign a cost to LqdMethane? It would greatly help my particular mod, due to the fact that I am using it in launch stages, and the whole thing is geared towards career. It's not totally game-breaking, because liquid oxygen is expensive, but it would be nice to have some cost associated.

Thanks!

If it's a part with zero cost right now in the list, there probably are not plans but we can by all means add one :) Just let me know what you're thinking (look at other parts for guidance)

Link to comment
Share on other sites

If it's a part with zero cost right now in the list, there probably are not plans but we can by all means add one :) Just let me know what you're thinking (look at other parts for guidance)

I was imagining about 1/4 the cost of stock liquid fuel, or 0.2 funds per unit. Methane is a relatively cheap fuel, much less than cryogenic rocket propellants. If we look at the cost of LiquidHydrogen, from the CRP table, it is currently set at 0.5 funds per unit. I think this would not be outrageous to set it at this price. I am personally using this as a ISRU resource. It has lower ISP than other fuels, and is pretty abundant here on Earth, so we would imagine it is on Kerbin as well.

Thoughts?

Edited by saabstory88
Link to comment
Share on other sites

Apology for the double post, but I thought it would be useful to throw in the values that I have been using, for reference.


RESOURCE_DEFINITION
{
name = LiquidO2
density = 0.00652
unitCost = 0.75
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}


//LiquidH2 replace with LiquidHydrogen


//Methane replaced with lqdMethane


RESOURCE_DEFINITION
{
name = Kerosene
density = 0.00474
unitCost = 0.1
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}


RESOURCE_DEFINITION
{
name = Hydrazine
density = 0.006
unitCost = 0.5
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}


RESOURCE_DEFINITION
{
name = Aerozine
density = 0.0075
unitCost = 0.5
flowMode = STACK_PRIORITY_SEARCH
transfer = PUMP
isTweakable = true
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...