Jump to content

[0.25]KSP Interstellar (Magnetic Nozzles, ISRU Revamp) Version 0.13


Fractal_UK

Recommended Posts

I think I have three points I can make.

Please...do not take this as my being argumentative...I am not in any way upset about the comment. It is just....not what I asked. So if 2 can be answered...then please do. After all...the devs have their vision and I respect that, but it does not mean I have to abide by it. That is what mods do isn't...add functionality and change the vision of the game?

Yeah, I see now it wasn't quite what you were asking.

Link to comment
Share on other sites

WaveFunctionP: I seem to have found a bug in your adaptive power reception. It completely ignores MTERs and attached thermal rockets/jets. Input power is 0.00KW. If I attach an electric receiver and put a load on it, the thermal receiver suddenly gets power.

I had a look at the FNNozzleController, but it functions a bit different from the ElectricEngineController, and the power-guiding variable (assThermalPower) is protected, so I couldn't find an obvious fix in the 5 minutes I looked at it :)

Link to comment
Share on other sites

WaveFunctionP: I seem to have found a bug in your adaptive power reception. It completely ignores MTERs and attached thermal rockets/jets. Input power is 0.00KW. If I attach an electric receiver and put a load on it, the thermal receiver suddenly gets power.

I had a look at the FNNozzleController, but it functions a bit different from the ElectricEngineController, and the power-guiding variable (assThermalPower) is protected, so I couldn't find an obvious fix in the 5 minutes I looked at it :)

I haven't done anything to the thermal receivers yet. The modifications I made to reception are located in MicrowavePowerReciever. (Wonderfully commented for clarity, if I say so. :P) The only thing I changed in ElectricEngineController was automatic switching to vacuum plasma mode.

I been busy working on my science plugin, but I've learned some things since that should make configuring the thermal receivers much easier. I'll try to get to it this week.

edit: I think I see the issue, it should be fairly straightforward to fix.

Edited by WaveFunctionP
Link to comment
Share on other sites

I haven't done anything to the thermal receivers yet. The modifications I made to reception are located in MicrowavePowerReciever.

That one governs the MTERs, too.

edit: I think I see the issue, it should be fairly straightforward to fix.

Here's what I did to make my plane fly, I doubt it's the optimal solution:


diff --git a/FNPlugin/MicrowavePowerReceiver.cs b/FNPlugin/MicrowavePowerReceiver.cs
index 22d022b..f110bcb 100644
--- a/FNPlugin/MicrowavePowerReceiver.cs
+++ b/FNPlugin/MicrowavePowerReceiver.cs
@@ -284,10 +284,18 @@ namespace FNPlugin {
// dynamicly configure power reception
List<Part> parts = vessel.parts; // lets find the maxPower in those part configs for each engine
float eEnginePower = 0; //we'll save total electric engine power here
+ bool isThermalEngine = false;
foreach (Part part in parts)
{
foreach (PartModule partModules in part.Modules) //search part modules
{
+ var tEngine = partModules as FNNozzleController;
+ if (tEngine != null)
+ {
+ isThermalEngine = true;
+ break;
+ }
+
var eEngine = partModules as ElectricEngineController;

if (eEngine != null) // is it an electric engine?
@@ -312,6 +320,8 @@ namespace FNPlugin {
// else only recieve the minimum demand (just enough to keep the lights running) again, if enough available power
else powerInputMegajoules = Math.Min(minDemand, total_power / 1000.0 * GameConstants.microwave_dish_efficiency * atmosphericefficiency);

+ if (isThermalEngine) powerInputMegajoules = total_power / 1000.0 * GameConstants.microwave_dish_efficiency * atmosphericefficiency;
+
powerInput = powerInputMegajoules * 1000.0f * receiptPower/100.0f;

Link to comment
Share on other sites

That one governs the MTERs, too.

Here's what I did to make my plane fly, I doubt it's the optimal solution:


diff --git a/FNPlugin/MicrowavePowerReceiver.cs b/FNPlugin/MicrowavePowerReceiver.cs
index 22d022b..f110bcb 100644
--- a/FNPlugin/MicrowavePowerReceiver.cs
+++ b/FNPlugin/MicrowavePowerReceiver.cs
@@ -284,10 +284,18 @@ namespace FNPlugin {
// dynamicly configure power reception
List<Part> parts = vessel.parts; // lets find the maxPower in those part configs for each engine
float eEnginePower = 0; //we'll save total electric engine power here
+ bool isThermalEngine = false;
foreach (Part part in parts)
{
foreach (PartModule partModules in part.Modules) //search part modules
{
+ var tEngine = partModules as FNNozzleController;
+ if (tEngine != null)
+ {
+ isThermalEngine = true;
+ break;
+ }
+
var eEngine = partModules as ElectricEngineController;

if (eEngine != null) // is it an electric engine?
@@ -312,6 +320,8 @@ namespace FNPlugin {
// else only recieve the minimum demand (just enough to keep the lights running) again, if enough available power
else powerInputMegajoules = Math.Min(minDemand, total_power / 1000.0 * GameConstants.microwave_dish_efficiency * atmosphericefficiency);

+ if (isThermalEngine) powerInputMegajoules = total_power / 1000.0 * GameConstants.microwave_dish_efficiency * atmosphericefficiency;
+
powerInput = powerInputMegajoules * 1000.0f * receiptPower/100.0f;

Yeah, that'll get you max power reception in a pinch. But I'll update the code to get all active thermal nozzles and register their demand appropriately, along with a couple of other enhancements.

I've still yet to figure out the power curve for electric engines though. It's annoying.

Link to comment
Share on other sites

Yeah, that'll get you max power reception in a pinch. But I'll update the code to get all active thermal nozzles and register their demand appropriately, along with a couple of other enhancements.

Which is enough for a thermal-only design since it doesn't produce WasteHeat anyway. That, of course, falls flat as soon as you mix MegaJoules and ThermalPower, but I guess Fractal's manual limiter can work around that for the time being.

I've still yet to figure out the power curve for electric engines though. It's annoying.

Your current code works well enough as far as I can tell, definitely better than the initial (smooth scaling) approach :D.

Link to comment
Share on other sites

I disagree. In general, sending a seismometer alone to an arbitrary celestial body is useless - most places you could visit would not be geologically active so sending a seismometer alone is completely pointless - it will provide you with no useful data whatsoever. There may be a few places that both options should be useable side by side but they are the exception rather than the rule.

I think it is therefore better to first cover the more general case, exceptions can be dealt with later. It is, afterall, an extremely easy change to make for anyone who wants both options.

Hi, I don't want to nitpick, but if we go for realism, negative result is also a result, so it does make sense to know that area has no activity. There is no way to know without making an experiment. It's more a problem with the default result seizmometer gives you, rather than the experiment itself.

On the question of readding -

I have a WarpPluginChange folder with config files changing some parts, so it's easier to update.

I just re-add original experiment to seizmometer

@PART[sensorAccelerometer]:Final
{
MODULE
{
name = ModuleScienceExperiment

experimentID = seismicScan

experimentActionName = Log Seismic Data
resetActionName = Delete Data

useStaging = False
useActionGroups = True
hideUIwhenUnavailable = False

xmitDataScalar = 0.45
dataIsCollectable = True
collectActionName = Take Data
interactionRange = 1.2

rerunnable = True
}
}

You might want to add a check if it's already added though

Link to comment
Share on other sites

Ok folks... I need your help!

I already did the <50 ton <70 part grand tour with KSP Interstellar... in only 15 days. I need some new challenge. I'm having a hard time thinking of something. Anyone have anything for me? Already have my mining base and science base designed and operating. I still can't quite get happy with how my orbital fuel station looks, but that's a trivial matter.

I guess I'm just losing motivation. It really makes me sad, because I love KSP.

~Steve

Slam two asteroids into one another. Crash an asteroid into KSP. Crash an asteroid into every planet. Start modding :)

Link to comment
Share on other sites

I wonder if someone can help me, since I'm having a little trouble finding an answer to this question.

With the IR telescope's _regular_ mission, the deep field survey, am I correct in thinking that it only operates while it's the focussed vessel?

EG, if I have it set up, then go away, then come back to it, it doesn't get me any research? I need to set it up and then speed up time while it's focussed to get any research out of it?

If so, that's a bit disappointing given that the science lab will work without intervention...

Link to comment
Share on other sites

I wonder if someone can help me, since I'm having a little trouble finding an answer to this question.

With the IR telescope's _regular_ mission, the deep field survey, am I correct in thinking that it only operates while it's the focussed vessel?

EG, if I have it set up, then go away, then come back to it, it doesn't get me any research? I need to set it up and then speed up time while it's focussed to get any research out of it?

If so, that's a bit disappointing given that the science lab will work without intervention...

Just like the science lab, it will add retroactive science when you go back to it.

Link to comment
Share on other sites

In addition to the earlier suggestion of making SCIENCE! output of the impactor experiment scale with kinetic energy of the impactor, here's another thought for integrating KSPI with 0.23.5 features:

IR telescopes are expected to provide the best method for finding smaller and smaller asteroids owing to a low visible albedo, but high IR emissivity. Therefore, a new science experiment could be enabled with the IR telescope which is an Object Discovery experiment. It would enlarge the space in which asteroids are currently spawned. At present, it seems that they only spawn between Kerbin and Duna. This experiment could provide a means to spawn them either further out OR if you have the telescope in a different region of the Kerbol system, it would spawn the asteroids out there. So, if you had the space telescope in the orbit of Duna, you could start spawning rocks between in near-Duna orbits.

Bonus points if you can spawn even larger asteroids since KSPI technologies are probably the only things capable of moving such large rocks.

Super-duper bonus science experiments with the IR telescope are to run an asteroid into Jool. This is an analogue to the Shoemaker-Levy 9 impact on Jupiter. You can't land seismometers on Jool, but you can watch the impacts if you make sure the impacts on the correct side of the planet for observation, etc.

Link to comment
Share on other sites

So I have been loving the Vista engines now that I know how to use them. The thing is, they have been relying on reactors to power them since they are high part count ships and the multiple MW receivers really lag my comp down. It's a shame since I have such a nice MW Network. It wouldn't be such an issue if Infernal worked and I could just use 2 swiveling receivers.. and if I had a better computer. I think now with all of the angle calculations on the different receivers, and having the opening and closing animations going my framerate drops to about 30%. It also makes limiting power with the "reception" slider a bit of a hassle. I have about 600GW of power in my near Kerbin network so I try to keep it regulated. Thermal receivers work perfectly fine with my framerate.

So, I was thinking what is needed is an omnidirectional MW in line receiver (or near omnidirectional like the thermal receiver). It would be still be based in reality, and in fact could look really cool. Like a crystal prism with a solid (glowing?) center. Or maybe have it fold out? Maybe it would pick up certain axes better from different angles. It would cut down on on-screen animations and part count. It would have to be high up on the tech tree maybe experimental electrics or antimatter power.

Now, I don't have the skills to make this and I wouldn't know if FractalUK would have the time, or even be interested, but it would be amazing if somebody were to agree with me and be able to do this. I really think it's worth implimenting, would add a lot to the game, and I would download the heck out of it.

Please.

Did anybody have any thoughts on this?

Link to comment
Share on other sites

I guess its given that all pods and suits are equipped with geiger counters, we dont need separate science part for this.

But maybe somehow allow players to gain science points from radiation readings? For example, first flight trough van allen (van kerben?) belts woudl automaticly generate science report.

Link to comment
Share on other sites

Did anybody have any thoughts on this?

What I like to do sometimes is connect an electrical generator to a microwave thermal receiver. Given enough microwave energy, that setup can generate massive gobs of power for you to use.

Link to comment
Share on other sites

If you dig back in the thread you will find discussion on the impact experiment vs seismic scans. It is the way it is for balance reasons.

You can have both experiments simultaneously in the same part. I have it in mine. I also reduced the science from the impactor so as to not overpower the game.

Link to comment
Share on other sites

Well, if my skills at Module Manager config writings are correct, then yes - you'll get the option to do either experiment.

FWIW, B9s science packages don't contain either the materials bay or mystery goo - just the various little sensors (barometer, thermometer, atmosphere sensor, seismic sensor) so you'd still need to include the materials bay in your designs somehow. It does cut down on part count though and is a lot easier to use than finding and clicking on all the separate sensors, so it's worth a look in any case.

Well if you really want to, you can use Module Manager to put -every- science experiment into one part to reduce part count. It doesn't have to be realistic. I mean, we -are- modifying config files so how does "realism" come into play anyway? All these numbers are arbitrary when you really think about it.

Link to comment
Share on other sites

EDIT> found out where to put modulemanager... anyone know where I can look to learn about how to use it (it seems to me that it enables you to edit .cfg files without overwriting stock files.?.?.. do I read this as is or what... id like to tweak things to make them more viable, i.e. the nuke engine is 2.5 tons but KW has an engine that is half the weight and half the isp but twice the thrust. so why use two nukes when one KW engine seems to be a far lighter version of 'two nukes'... 120 thrust/400 isp does equal two nukes running at 60/800 respectively doesn't it??)

@Flib665 That would be a no. They are not the same. Read up on what ISP really is.

Link to comment
Share on other sites

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