Jump to content

KSP Interstellar Extended Continued Development Thread


FreeThinker

Recommended Posts

8 hours ago, FreeThinker said:

Version 1.8.23 for Kerbal Space Program 1.1.2

Released on 2016-06-03

  • Improved Precooler air-intake search
  • Overheating engine due to lack of precooller is now linked to air density and airspeed
  • Improved support for RSS : more accurate Atmosphere resource collecting
  • Fixed magnetic nozzle fairings
  • Static radiators are now activated at startup
  • Static radiator part maximum temperature is linked to radiator maximum temperature
  • Removed redundant config controls for Electric RCS

 

 

Have you changed the behaviour of heat production for thermal nozzle? Now my engines overheat on reentry(Kerbin - mach 7) when using fuel(methane or liquid fuel) and having precoolers.

Originally, in my patch I have removed parts of the code that set part temp directly in ThermalNozzleController.cs and added code to increase heat generation based on air speed and number of precoolers. I was going to make another pass on the code to adjust heat generation values but it seems you have reverted my changes. Could you update source code on github?

Also, I want to make some additional changes to the code. Is it fine to increase part cost for upgrade components(something very high like 999kk) so players clearly see that this part is a place holder and are not tempted to buy it?

Link to comment
Share on other sites

9 hours ago, FreeThinker said:

Version 1.8.23 for Kerbal Space Program 1.1.2

Released on 2016-06-03

  • Improved Precooler air-intake search
  • Overheating engine due to lack of precooller is now linked to air density and airspeed
  • Improved support for RSS : more accurate Atmosphere resource collecting
  • Fixed magnetic nozzle fairings
  • Static radiators are now activated at startup
  • Static radiator part maximum temperature is linked to radiator maximum temperature
  • Removed redundant config controls for Electric RCS

 

 

I just tried to use the direct cycle nuclear turbojet which claims to have an integrated precooler, but it overheated.  Is the description wrong or is it not working correctly?

Link to comment
Share on other sites

@FreeThinker   There is a minor bug with the Non-Upgraded Solid core nuclear engines.  If you click "Switch mode" in the VAB the engine cannot be swapped back to uranium mode and is essentially useless. (until you delete it and put a new one on the ship)

Edited by Profit-
Link to comment
Share on other sites

3 hours ago, Mine_Turtle said:

Have you changed the behaviour of heat production for thermal nozzle? Now my engines overheat on reentry(Kerbin - mach 7) when using fuel(methane or liquid fuel) and having precoolers.

Originally, in my patch I have removed parts of the code that set part temp directly in ThermalNozzleController.cs and added code to increase heat generation based on air speed and number of precoolers. I was going to make another pass on the code to adjust heat generation values but it seems you have reverted my changes. Could you update source code on github?

Alright uploaded to GitHub. Are you sure all preecoolers properly connected, if not, traveling at mach 7 would defiantly overheat.

3 hours ago, Mine_Turtle said:

Also, I want to make some additional changes to the code. Is it fine to increase part cost for upgrade components(something very high like 999kk) so players clearly see that this part is a place holder and are not tempted to buy it?

Well instead of increasing the cost of upgrade placeholder to ridiculously high number , I simply made the upgrade placeholders useless by removing all their partmodules. They are now empty mockups, that only serve as a help to know which parts get upgraded with which technodes.

Edited by FreeThinker
Link to comment
Share on other sites

28 minutes ago, FreeThinker said:

Alright uploaded to GitHub. Are you sure all preecoolers properly connected, if not, traveling at mach 7 would defiantly overheat.

Well instead of increasing the cost of upgrade placeholder to ridiculously high number , I simply made the upgrade placeholders useless by removing all their partmodules. They are now empty mockups, that only serve as a help to know which parts get upgraded with which technodes.

Trust me, I know how to connect my precoolers. Also, air heating should not affect other fuels which it does in my case.

 

Briefly looking at the code I found two possible problems:

1)  public float engineHeatProductionMultiplier = 2000;

This essentially multiplies engine heat production by a significant amount. And because actual heat assignments depends on fuel flow and from my experiments true branch is always true making your heat production always 2000 times higher

2)  baseHeatProduction * engineHeatProductionMultiplier / max_fuel_flow_rate

Because you divide by flow rate and because flow rate can be < 1 you effectively multiple heatproduction further on. Lowest possible value for max_fuel_flow_rate is 0.001 so multiply your heat production by another 1000.

 

What I have in mind but have not managed to start working on is this:

1) baseHeatProduction and engineProductionMultiplier should be merged together and defined in part cfg file. The way current formula works engine heatproduction is the result of multiplication of those two variables and extra modifiers like air and fuel flow. So it makes sense to this variable defined only in one place.

2) Dividing heat by fuel flow rate tells me that engine should have higher heat production at low thrust and lower at higher thrust(since thrust and fuel flow are related). However, using division should have a fine control. So, if you want fuel flow to affect engine heat at low thrust you should multiply engine heat by lowest flow threshold+- some adjustment. This way you still get the effects of fuel flow but do not overextend them. For example,

if (fuel_flow > 0.001) heatProduction = baseHeatProduction*(0.001*1.1)/fuel_flow. At the lowest flow value you get slight increase of 10% to heat production which starts decreasing as more fuel flows and cools engine.

3) Air intakes and precoolers. As I see it this is a separate effect on engine heat generation(thus it is addition not multiplication). As I understand the formula should be something like ExtraHeatProduction*modifier, where ExtraHeatProduction is a constant and modifier varies from 0 to 1(according to number of precoolers-intakes) according to square law as it is done now. Obviously this addition should be ignored if we use some fuel and not air.

I am going to create a new patch this weekend with new formula and check if it works smoothly. Then you can decide if you like it or not. But for now, please, reduce engineProductionMultiplier and max_fuel_flow_rate threshold to allow players use thermal nozzle again.

 

 

As for adjusting the price for upgrade parts. As I understand it is limitation of the game, so unlocked upgrade components are still visible in parts list. Setting high price will serve as an extra filter, you will still be able to see which parts get upgrade from the node, but wont be able to unlock them(unless you are very persistent) and pollute parts list with placeholders.

 

Btw, if I am to start digging the code again I do not mind looking at some other issues. Do you have any potential problems(code and cfg only) that needs to be looked at?

 

Link to comment
Share on other sites

1 hour ago, Mine_Turtle said:

What I have in mind but have not managed to start working on is this:

1) baseHeatProduction and engineProductionMultiplier should be merged together and defined in part cfg file. The way current formula works engine heatproduction is the result of multiplication of those two variables and extra modifiers like air and fuel flow. So it makes sense to this variable defined only in one place.

2) Dividing heat by fuel flow rate tells me that engine should have higher heat production at low thrust and lower at higher thrust(since thrust and fuel flow are related). However, using division should have a fine control. So, if you want fuel flow to affect engine heat at low thrust you should multiply engine heat by lowest flow threshold+- some adjustment. This way you still get the effects of fuel flow but do not overextend them. For example,

if (fuel_flow > 0.001) heatProduction = baseHeatProduction*(0.001*1.1)/fuel_flow. At the lowest flow value you get slight increase of 10% to heat production which starts decreasing as more fuel flows and cools engine.

3) Air intakes and precoolers. As I see it this is a separate effect on engine heat generation(thus it is addition not multiplication). As I understand the formula should be something like ExtraHeatProduction*modifier, where ExtraHeatProduction is a constant and modifier varies from 0 to 1(according to number of precoolers-intakes) according to square law as it is done now. Obviously this addition should be ignored if we use some fuel and not air.

I am going to create a new patch this weekend with new formula and check if it works smoothly. Then you can decide if you like it or not. But for now, please, reduce engineProductionMultiplier and max_fuel_flow_rate threshold to allow players use thermal nozzle again.

 

That all sound great. I reduced engineProducionMultiplier for now but eventualy want to get rid of engineHeatProduction entirely(and replace by directly controlling part temperature)  because it is inherently difficult to control (because it depends on fuel flow and isp) and I want to better simulate heat effects without the stock engine controller heat effect which were mend for chemical rockets, not thermal rockets which have heat-up and heat down effects.

This weekend I will be away, so feel free to execute your ideas

1 hour ago, Mine_Turtle said:

As for adjusting the price for upgrade parts. As I understand it is limitation of the game, so unlocked upgrade components are still visible in parts list. Setting high price will serve as an extra filter, you will still be able to see which parts get upgrade from the node, but wont be able to unlock them(unless you are very persistent) and pollute parts list with placeholders.

 

Btw, if I am to start digging the code again I do not mind looking at some other issues. Do you have any potential problems(code and cfg only) that needs to be looked at?

 

People should use the filters and filter extension I made, they properly filter out the techtree placeholder parts. I don't like the high cost solution. Instead, I rather make their cost 0 and make them dead weight.

Edited by FreeThinker
Link to comment
Share on other sites

54 minutes ago, FreeThinker said:

That all sound great. I reduced engineProducionMultiplier for now but eventualy want to get rid of engineHeatProduction entirely(and replace by directly controlling part temperature)  because it is inherently difficult to control (because it depends on fuel flow and isp) and I want to better simulate heat effects without the stock engine controller heat effect which were mend for chemical rockets, not thermal rockets which have heat-up and heat down effects.

This weekend I will be away, so feel free to execute your ideas

People should use the filters and filter extension I made, they properly filter out the techtree placeholder parts. I don't like the high cost solution. Instead, I rather make their cost 0 and make them dead weight.

Well, originally part temp was set manually instead of using heat mechanic. I intentionally removed it because it was causing problems with nuclear turbojet engine. Moreover, setting part temp directly conflicts with stock heat system. Not only you have to increase part team(internal flux) manually, but also decrease according to radiation/conduction/convection properties of the part, thus requiring knowledge not only of the part itself but surrounding parts as well. To me it seems like reinventing wheel and stock heat system seems to have all the necessary tools to do what you want. You can increase part heat production depending on conditions like air speed, isp or fuel flow and ksp heat system will calculate how much to adjust temp according to craft configuration. Not to mention that setting part temp can lead to potential issues like with that nuclear turbojet.

Cooling might be a problem though and you might have to adjust temp manually, but you have to take into consideration internal parameters(part size and conductivity) to do so, not only external. I wonder if negative heatproduction is possible. I am going to investigate this and check if it is possible to control part temp without manual adjustment.

Yes, people should use and in fact KSPI tab does not contain any upgrade parts, however they are still present in stock tabs like energy tab.

Link to comment
Share on other sites

On 1-6-2016 at 1:16 AM, Nansuchao said:

You can set it in the VAB and in flight too. If you can't, there is something wrong in your install. I use on a daily basis that RCS thrusters without issues.

Well, it appears that not installing the toolbar plug-in (it is not required according to the start post and its button style annoys me) causes this bug. When installed, the Resistojets have all options they should have.

Link to comment
Share on other sites

@FreeThinker

Can we have ability to resize QSR to 10 meters and umbrella radiators (perfect to leave thermal energy in somewhat one direction) to 30 meters?

This way we could reduce part count. on our motherships - 10x heavier mothership can carry 10x heavier SSTO with same TWR.

 

Edited by raxo2222
Link to comment
Share on other sites

8 minutes ago, Sherrif said:

So can I get an answer on why KSPIE has the buggiest mod as a dependency?

I can understand people will put up with the issues Tweakscale causes, but I avidly hate the thing.

Technically you don't need it, before installing KSPI I remove the tweakscale folder and it runs fine without it.

Link to comment
Share on other sites

@FreeThinker there is small bug/inconsistency in reactor fuels cofing.

Notice that SingularityHydrogen has produceGlobal = False, other QSR reactions have produceGlobal = True

On UNRELATED note it seems like you get Hydrogen from Helium reaction meaning you can take Helium with you and produce Hydrogen.

 

REACTOR_FUEL_MODE
{
    name = SingularityHydrogen
    ReactorType = 256
    GUIName = Hydrogen
    ChargedParticleRatio = 0.95
    FuelEfficiencyMultiplier = 0.05
    NeutronsRatio = 0
    NormalisedReactionRate = 1.0
    NormalisedPowerConsumption = 1.0
    MeVPerChargedProduct = 1.079411

    FUEL
    {
        name = LqdHydrogen
        UsagePerMW = 1.0e-14
        Unit = mg
    }
       PRODUCT
        {
            name = Antimatter
            ProductionPerMW = 0.0005e-14
            Unit = l
        produceGlobal = False
        }
       PRODUCT
        {
            name = LqdHydrogen
            ProductionPerMW = 0.95e-14
            Unit = l
        produceGlobal = False
        }
}

REACTOR_FUEL_MODE
{
    name = SingularityDeuterium
    ReactorType = 256
    GUIName = Deuterium
    ChargedParticleRatio = 0.67175
    FuelEfficiencyMultiplier = 0.32825
    NeutronsRatio = 0
    NormalisedReactionRate = 1.0
    NormalisedPowerConsumption = 1.0
    MeVPerChargedProduct = 1.079411

    FUEL
    {
        name = LqdDeuterium
        UsagePerMW = 1.4142e-14
        Unit = mg
    }
       PRODUCT
        {
            name = Antimatter
            ProductionPerMW = 0.0032825e-14
            Unit = l
        produceGlobal = True
        }
       PRODUCT
        {
            name = LqdDeuterium
            ProductionPerMW = 0.94999e-14
            Unit = l
        produceGlobal = True
        }
}

REACTOR_FUEL_MODE
{
    name = SingularityHelium
    ReactorType = 256
    GUIName = Helium
    ChargedParticleRatio = 0.67175
    FuelEfficiencyMultiplier = 0.32825
    NeutronsRatio = 0
    NormalisedReactionRate = 1.0
    NormalisedPowerConsumption = 1.0
    MeVPerChargedProduct = 1.079411

    FUEL
    {
        name = LqdHelium
        UsagePerMW = 1.4142e-14
        Unit = mg
    }
       PRODUCT
        {
            name = Antimatter
            ProductionPerMW = 0.0032825e-14
            Unit = l
        produceGlobal = True
        }
       PRODUCT
        {
            name = LqdHydrogen
            ProductionPerMW = 0.94999e-14
            Unit = l
        produceGlobal = True
        }
}

Edited by raxo2222
Link to comment
Share on other sites

Ok, I'm having issues with the Direct Cycle Nuclear Turbojet.

Namely that after a few minutes of flight it overheats and explodes. It seems to generate 845MW of thermal power which is a rather large amount to try and dissipate with flat radiators, the required radiator area is bigger than my whole plane! I'm guessing it can't be that, so perhaps it needs the precooler. But that unlocks higher up the tech tree than the engine, I suggest that if a part just won't work without another part then they should unlock at the same node.

Must admit that as someone who was used to the KSP-I heat mechanic before it was merged into the stock one I find heat mechanic extremely confusing now. My Solid Core engines / Radiators seem to run VERY hot but only when the engine is firing. . . which makes no sense to me. Surely when the engine is firing it heat used being used for propulsion, when its idle is when the heat would need to be dissipated by other means. I'd expect the engine to heat up a bit when its firing and the rads to be hot when its not and visa versa. That's how it used to work.

Link to comment
Share on other sites

2 hours ago, Sherrif said:

So can I get an answer on why KSPIE has the buggiest mod as a dependency?

I can understand people will put up with the issues Tweakscale causes, but I avidly hate the thing.

The short answer is time constraints as it allows me to focus on functionality instead of several sized versions which do the same. Instead I can offer a very large variarity of engines and reactors starting from 1960 tech up to the 23 centurary technology.

Link to comment
Share on other sites

 

2 hours ago, EleSigma said:

Technically you don't need it, before installing KSPI I remove the tweakscale folder and it runs fine without it.

Correct however parts will then only be available in their initial size which will work 90% of the time. exceptions are the smaller solid core reactor and the bigger fusion reactor which need to be connected with a similary sized electric generator

Link to comment
Share on other sites

6 hours ago, raxo2222 said:

@FreeThinker

Can we have ability to resize QSR to 10 meters and umbrella radiators (perfect to leave thermal energy in somewhat one direction) to 30 meters?

This way we could reduce part count. on our motherships - 10x heavier mothership can carry 10x heavier SSTO with same TWR.

 

I would like to see all of the parts scalable up to 10m. Making a large 10m or 20m 6,000T+ mothership requires quite a few copies of various parts which makes the build a bit of a chore. Especially when some don't even scale to 5m.

 

I know it's not a difficult change, but i hate doing my own edits since I like to keep my mods updated lol.

Edited by Txzeenath
Link to comment
Share on other sites

1 hour ago, Txzeenath said:

 

I would like to see all of the parts scalable up to 10m. Making a large 10m or 20m 6,000T+ mothership requires quite a few copies of various parts which makes the build a bit of a chore. Especially when some don't even scale to 5m.

 

I know it's not a difficult change, but i hate doing my own edits since I like to keep my mods updated lol.

Although it is very easy to do this, the reason I 'm reluctant is because of balance concerns due to scale factor that increase faster than exponent 3. By default Tweakscale only allows a fixed growth scale , when resizing. Then properties scale faster than exponent 3, the part become effectively more powerful  for the mass it requires. Now you could argue to change the growth scale to 3, but this would disproportionate unbalance shrinked parts, like nuclear power reactors. The only exception to this problem would be part which are already wary large to begin with like Magnetically Confined Fusion reactors or the QSR.

Am possible solution would be to override property scaling from tweakscale. In effect, the part would determine its property on the size of a part, this allows use a custom function for scaling

1 hour ago, raxo2222 said:

Negative mass issue with charged/thermal generator and antimatter reactor is back - I use latest IFS/Interstellar/TweakScale.

What version of IFS/ Interstellar and tweascale did you use and how to reproduce?

Edited by FreeThinker
Link to comment
Share on other sites

1 hour ago, FreeThinker said:

Although it is very easy to do this, the reason I 'm reluctant is because of balance concerns due to scale factor that increase faster than exponent 3. By default Tweakscale only allows a fixed growth scale , when resizing. Then properties scale faster than exponent 3, the part become effectively more powerful  for the mass it requires. Now you could argue to change the growth scale to 3, but this would disproportionate unbalance shrinked parts, like nuclear power reactors. The only exception to this problem would be part which are already wary large to begin with like Magnetically Confined Fusion reactors or the QSR.

Am possible solution would be to override property scaling from tweakscale. In effect, the part would determine its property on the size of a part, this allows use a custom function for scaling

What version of IFS/ Interstellar and tweascale did you use and how to reproduce?

Now I cant reproduce it without b9 parts (it has useful parts for motherships). It seems like it may be modular fuel tanks (I put hydrazine in parts that can contain fuel)  fault, not this mod.

I have KSPI 1.8.24, IFS 2.0.7 and tweak scale 2.2.12.

I have to do more testing.

Edit: there is CKAN mod list

uKHJl4N.png

Edit:

This is not Interstellar bug. This is B9 HX/Tweak Scale bug/modular fuel tanks interaction bug.

Removing HX structural part from ship fixed bug.

 

Edited by raxo2222
Link to comment
Share on other sites

4 hours ago, raxo2222 said:

Edit:

This is not Interstellar bug. This is B9 HX/Tweak Scale bug/modular fuel tanks interaction bug.

Removing HX structural part from ship fixed bug.

 

I guess B9 HX  hasn't catched up yet to the latest Tweakscale changes yet. It means I fixed it right already, it's just the same bug can happen elsewhere as well, which isn't surprising if you understand what happens under the hood

Version 1.8.25 for Kerbal Space Program 1.1.2

Released on 2016-06-05

  • Fixed Precooler in Nuclear Turbojet
  • Nuclear turbojet unlocking tech changed to Improved Nuclear Propulsion
  • Nuclear ramjet unlocking tech changed to Nuclear Propulsion
  • Improved High speed performance ramjet versus Turbojet
  • Normalized overheating in all thermal engines
  • Added Tweakscale support for Quantum Singularity reactor
Edited by FreeThinker
Link to comment
Share on other sites

2 hours ago, FreeThinker said:

I guess B9 HX  hasn't catched up yet to the latest Tweakscale changes yet

Version 1.8.25 for Kerbal Space Program 1.1.2

Released on 2016-06-05

  • Fixed Precooler in Nuclear Turbojet
  • Nuclear turbojet unlocking tech changed to Improved Nuclear Propulsion
  • Nuclear ramjet unlocking tech changed to Nuclear Propulsion
  • Improved High speed performance ramjet versus Turbojet
  • Normalized overheating in all thermal engines
  • Added Tweakscale support for Quantum Singularity reactor

Well B9 HX itself is fine, it may be actually fault of MFT inconsistency.

 

In my latest SSTO (weights around 200 tons with fuel) version (downscaled to 2.5m) I use thermal turbojet in lower atmosphere and ramjet in upper atmosphere.

I switch to VASMIR (and turn off ramjet/turbojet and AM reactors powering them) only after deployable radiator deploys.

It also has ARCJET attached to bottom for powered descent.

I guess I could turn off thermal turbojet bit sooner :)

Also this is going to reduce part count in bigass QSR mother ship (it has 0.625m AM lighter, and emergency 0.625m molten salt reactor running on 5% serving as life spark),

It has 5m warp drive, ISRU setup for Hydrazine and 4 as big as possible air scoops.

Edited by raxo2222
Link to comment
Share on other sites

12 minutes ago, raxo2222 said:

In my latest SSTO version (downscaled to 2.5m) I use thermal turbojet in lower atmosphere and ramjet in upper atmosphere.

I switch to VASMIR (and turn off ramjet/turbojet and AM reactors powering them) only after deployable radiator deploys.

I guess I could turn off thermal turbojet bit sooner :)

 

Do realize that VASMIR  is scheduled for a realism fix, although it is possible to accelerate ions in an atmosphere, trying do the same with plasma is going to get you in trouble in terms of efficiency. Expect massive overheating issues and terrible performance of VASMIR  in lower atmosphere,

Edit:

12 minutes ago, raxo2222 said:

Also this is going to reduce part count in bigass QSR mother ship (it has 0.625m AM lighter, and emergency 0.625m molten salt reactor running on 5% serving as life spark),

It has 5m warp drive, ISRU setup for Hydrazine and 4 as big as possible air scoops.

I do question why in the world you need such huge ships for, are you trying to create an interstellar ark or something?

Edited by FreeThinker
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...