Jump to content

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


Fractal_UK

Recommended Posts

I don't see the logic. A high-torque electrical induction motor still runs on electricity... Doesn't matter if it's small or industrial scale.

Yes...all electric motors need power to run...not at all what I was saying. Its the AMOUNT of power require to run said motor that changes with size.

I have a little remote control truck, goes about 50mph...runs on a 9volt battery thats a rather low amperage.

The high-torque motors used for steel rolling machines need at least 220volts at a much much higher amperage.

Both run on electricity, but your sure not gonna plug the rc truck battery into the industrial metal working machine and run it...not even a little.

As I see it ElectricCharge is akin to low volt/amp power systems, whereas MegaJoules are akin to high volt/amp systems.....like nuc reactors....

edit:something kinda unrelated...i been feeling like I am missing some resource containers.....is the hexcans bit included a stand alone, or made to overwrite the hex can dl?

Edited by KhaosCorp
Link to comment
Share on other sites

I really wish there was some sort of FAQ on how upgrading or the advanced engines work. I have spent 3000 science on 2 techs and have no progress to anything better at the moment. I also am very interested in making passive science, but I don't quite understand how to reliably get to jool or any other far planet, let alone with more than 1 science lab.

I really really want to use these new ion engines I unlocked, but for now it seems conventional fuel and rockets are far more efficient.

Link to comment
Share on other sites

edit:something kinda unrelated...i been feeling like I am missing some resource containers.....is the hexcans bit included a stand alone, or made to overwrite the hex can dl?

If you already have hexcans installed, you don't need to use the one bundled with Interstellar. Greys may have released a more up to date version - I should check this before the next release of Interstellar.

Sounds good! Just a (hopefully) small request: Would it be possible to give us access in the config files to a variable that determines how much the power attenuates with angle? Or alternatively, specifies the angle range where optimal power is received? That way we could tinker around with making the receivers more forgiving without any need for you to alter your vision of how the parts should work by default.

Mmm, I'm not entirely sure, it's just based on a dot product so it isn't something that's readily configurable in the way that you suggest. There are some options mathematically but they would serve a purpose only as fudge factors rather than permitting anything feature-wise.

The new code seems to perform better in terms of quickly detecting new microwave sources, rather than giving you those funny spells where it won't detect them. I suspect you'll find the microwave systems much improved without any changes to their angular mechanics. We'll see how it goes and also see about some kind of small re-orienting dish.

In other update news:

  • I've replaced the current fuzzy inverse square behaviour of the solar panels with a true inverse square law that scales to the current size of the solar system, i.e. you can use it in both the stock KSP system and also in the Real Sized Solar System mod.
  • I'm also well over halfway through the planetary resource maps.
  • I think I've finally killed the remnants of the asymmetric jet thrust bug.

I'm hopeful of a 0.8 release sometime this weekend or not long after.

Link to comment
Share on other sites

Yes...all electric motors need power to run...not at all what I was saying. Its the AMOUNT of power require to run said motor that changes with size.

I have a little remote control truck, goes about 50mph...runs on a 9volt battery thats a rather low amperage.

The high-torque motors used for steel rolling machines need at least 220volts at a much much higher amperage.

Both run on electricity, but your sure not gonna plug the rc truck battery into the industrial metal working machine and run it...not even a little.

As I see it ElectricCharge is akin to low volt/amp power systems, whereas MegaJoules are akin to high volt/amp systems.....like nuc reactors....

I see this as fundamentally flawed. Something about the whole Ec to Joules system that's bugged me.

Here's why:

See, when you're talking about Joules, usually you're expressing energy in the form of mechanical or thermal energy. When working with an electrical system powering equipment, mechanical and thermal energy is a product process, an output.

When working with electrical equipment, you're storing your joules in the form of potentials in an electrical circuit or voltage. The reason electricity is so useful is because we can take mechanical or thermal energy, and transfer it to a large number of processes ranging from purely computational, which is just lots of small switches putting out a little heat, to fully mechanical in the form of your industrial, 3-phase induction motor. (Which incidentally, puts out a huge amount of heat in itself)

It is at the motor itself that the electricity converts to thermal or mechanical power. And it is Electrical voltages that the motors consume.

While I understand your logic is to say that Ec's and Mj's are just two scales of energy, without transducers to interswap these values freely, you are literally telling physics to go sit in a corner.

In all reality, your equipment should run on Ec's... anything that runs on electricity should use Ec's. It's just a matter of scaling how many Ecs they use. Your drill should run on Ec if it uses an electric motor. However, it should use a scaled up amount of Ecs as would make the solar configs we're used to seeing cry home to mommy.

And this in my opinion should go for (SOME OF) the other equipment in KSPI. Does that mean some of the equipment will have scale values that make Fractal look at it and go 'that's a silly small amount to the point as well be useless' ? Yes. But the point is that you can still use it, silly as the design might be. It will take days to build up the charge needed to run something for one second, but the option is 'there'.

Heck, one method of doing it if you want to throw around scales of units, is transformers.

Scale a million Ec's up to a Mega-Ec and another that scales Mega-Ec's down to a million Ec's. Maybe waste a few hundred each way during operation. But then you can free-transform your power scales without making those of us in a power machines class wonder why the units are doing the hokey pokey.

That in turn allows for the introduction of high energy storage units... Mega-Ec heavy batteries and the like. But I get way ahead of myself. One thing at a time.

TL : DR version: I think the entirety of unit conversion system for KSPI could use an overhaul and cleanup for more universal cross-usage of energy. EVEN IF certain configurations of such a system would be laughable. But that's me and the OCD Engineer in me talking.

Link to comment
Share on other sites

I'm not sure why that's necessary. MJ in KSP Interstellar are MJ of electric charge. While Joules may usually be used for thermal or mechanical energy, there's nothing wrong with using the unit to measure electrical energy. Indeed, the definition of one watt is one joule of energy per second. One MJ is equal to 1000 kJ, which is what Fractal_UK uses as the definition of one unit of EC.

There's nothing in KSPI that uses MJ for anything that you wouldn't use electricity for in real life. The only reason for the separate resources is so Fractal_UK can use his custom resource handler to manage it.

EDIT:

I'm also not sure if high-energy batteries are feasible. Enough Lithium-Ion batteries to power a science lab (5 MW power draw) for 1 hour (18 GJ) would weigh more than 38 tons.

EDIT2:

It might also be worth mentioning that "Electric Charge" is a misleading term for electric energy storage. While the term is colloquially used when talking about batteries, the actual unit of charge (the Coulomb, or the Ampere-Hour) really has little to do with energy storage. Batteries are sometimes rated in Ah, but this is a measure of how long it will run under a given amperage, and can't be converted to energy or power without knowing more about the circuit.

Edited by RadHazard
Link to comment
Share on other sites

I really wish there was some sort of FAQ on how upgrading or the advanced engines work. I have spent 3000 science on 2 techs and have no progress to anything better at the moment. I also am very interested in making passive science, but I don't quite understand how to reliably get to jool or any other far planet, let alone with more than 1 science lab.

I really really want to use these new ion engines I unlocked, but for now it seems conventional fuel and rockets are far more efficient.

Most of the engines accessible around the upper parts of the stock tech tree tend to be quite low thrust and high Isp so they're alright when you're in space but they don't really help you get off Kerbin. It is probably a good idea to first design a fairly good medium-heavy lift vehicle to help you lift some of the big reactors into space. The power/weight ratios of the reactors go up quickly with size, so the bigger ones produce disproportionately more thrust.

If you're struggling to get them to Jool though, try landing some on the Mun or Minmus. You get a multiplier to your passive science for being landed on the body, so landing some there will at least give you some. Duna and Eve are easier to get to than Jool and will also give you more passive science than the Mun/Minmus.

[Long post]

The current system isn't ideal and it does constrain design but only in a absolutely tiny number of circumstances. I've said before that if you want an ingame justification for the difference between the two resourcs, you can consider Megajoules as AC Power produced by large generating equipment and ElectricCharge as DC power created by the likes of solar cells and thermocouples. Generators are equipped with rectifiers to supply whichever is needed but solar panels and such aren't by default equipped with inverters to provide AC power.

In reality, as RadHazard suggests, this isn't purely a game constraint of design, it's a practical one as well. Megajoules (as well as ThermalPower and WasteHeat) use a custom resource manager in the mod which is far more advanced than the stock one, this is what makes the generators adapting to power demand possible. The resource manager has lots of information about the current power supply and demand situation and can also make decisions about prioritisation of power if its in short supply and generally ensure as little power is used as possible. This information simply doesn't exist in the stock resource system.

I could actually use the resource manager with ElectricCharge but the problem with doing so is that any stock device that produced ElectricCharge would not be detected as a supply (this is a big problem because then that power might as well not be generated) and anything that consumed ElectricCharge would not be detected as a demand (this isn't such a problem provided there aren't lots of components doing this).

Anyway, it's best not to introduce two incompatible systems, its safer to keep them seperate. Hopefully someday we'll see an improved stock resource system, it's one of the most needed features in the game at this point, particularly for modders. If I ever adapt the resource manager to support others types of resource transfer, rather than just ALL_VESSEL flow, I'll probably release it as a standalone thing for other modders to make use of.

Link to comment
Share on other sites

The current system isn't ideal and it does constrain design but only in a absolutely tiny number of circumstances. I've said before that if you want an ingame justification for the difference between the two resourcs, you can consider Megajoules as AC Power produced by large generating equipment and ElectricCharge as DC power created by the likes of solar cells and thermocouples. Generators are equipped with rectifiers to supply whichever is needed but solar panels and such aren't by default equipped with inverters to provide AC power.

Personally I think the current system is good. Sure it falls apart if you hold it up to real world...but so does alot else in KSP. As far as gameplay goes it works well, and its really not to far from how things work if you look at it the right way.

Honestly, if your comparing ksp and mods to things you learn in engineering classes be prepared to see lots of holes =P

Link to comment
Share on other sites

I could actually use the resource manager with ElectricCharge but the problem with doing so is that any stock device that produced ElectricCharge would not be detected as a supply (this is a big problem because then that power might as well not be generated) and anything that consumed ElectricCharge would not be detected as a demand (this isn't such a problem provided there aren't lots of components doing this).

You seem to get something from Microwave devices though. So you've got 'A' bridge of some form and I'm not sure why that can't be applied on the SAME vessel. Would this not also work for a stand-alone transforming component of some kind? I know this line of thinking tends to boil down to 'set up a transformer network', but it seems rather intuitive to just make a slap-on 'here's a transformer' component. Take EC's over time, turn them into MJ, and store a small amount. Even if the energy level is low, it's akin to aux/emergency power.

But I don't know man, it just seems like a lot of dancing around when a simple fix could handle it. I'd build the part myself to test it. In fact, I started to do so a few days ago, and quickly realized what you had 'under the hood' would be a bit more involved than some simple calls and I haven't had time during the week to just dive into it.

So I follow this up with a simple question.

Is it possible to set up a unit transformer part that won't cause bizzaro world problems with your plugin? If so, I'll go mess around and see if I can come up with a stable part. I know I've been a bit obnoxious here and I'm willing to throw in some effort on my part to develope a working device. Something to be a placeholder for better ways of doing things.

(Incidentally, if I can put together a working part: It would be a power inverter device, if going by the whole DC vs AC power system terminology.)

Link to comment
Share on other sites

My only gripe with KSPIs' electrical system is cross-mod balance...which is not Fractals fault anyway. Its just that even the smallest reactor produces a ridiculous amount of ec/s, so mods that have hungry for electricity parts (like NFP for example) become unbalanced.

Link to comment
Share on other sites

When you're splitting the atom, it's easy to generate huge amounts of electricity.

So's really it's not so much unbalanced as you just have a nuclear reactor.

They tend to be unbalancingly powerful in anything. The reason they aren't just used for everything of course is that in real life, people don't like the potential threats they reprisent. In KSP, you can't contaminate KSC for the next 10,000 years if you crash a nuke-loaded rocket. If we stopped being concerned about nuclear contamination and threw some money at it, we'd be lobbing nuclear reactors into space constantly.

Link to comment
Share on other sites

You seem to get something from Microwave devices though. So you've got 'A' bridge of some form and I'm not sure why that can't be applied on the SAME vessel. Would this not also work for a stand-alone transforming component of some kind? I know this line of thinking tends to boil down to 'set up a transformer network', but it seems rather intuitive to just make a slap-on 'here's a transformer' component. Take EC's over time, turn them into MJ, and store a small amount. Even if the energy level is low, it's akin to aux/emergency power.

There's really only one situation I can see where an Ec to MJ converter is of any use: lots of solar panels very close to the sun. Anywhere else in the system, with any other sort of ship, this transformer would be essentially useless. From a gameplay point of view, that's an edge case and probably not a high priority for creating a special part. They're on different enough scales that it seems pretty reasonable to me to treat them as separate resources.

Link to comment
Share on other sites

Is it possible to set up a unit transformer part that won't cause bizzaro world problems with your plugin? If so, I'll go mess around and see if I can come up with a stable part. I know I've been a bit obnoxious here and I'm willing to throw in some effort on my part to develope a working device. Something to be a placeholder for better ways of doing things.

Yes, it's possible. It can be done in a variety of ways, e.g. by converting an amount of EC specified by the user into Megajoules, converting all the EC in the bar into Megajoules (though this is a bad idea because it might lead to frames without control over the vessel) or by using a variety of schemes to detect the flow of EC that is being produced and converting that exact amount into Megajoules. The last option is, in many ways, the best but also the most complicated because the game has no consistent mechanism for getting that information. Such a system would need to check for EC from solar cells and RTGs seperately and likewise would also need schemes to detect EC production from modded parts - unless those parts use stock PartModules to do the generating.

The fact that there is no ideal way to implement it is the major barrier to this being in the mod already.

They tend to be unbalancingly powerful in anything. The reason they aren't just used for everything of course is that in real life, people don't like the potential threats they reprisent. In KSP, you can't contaminate KSC for the next 10,000 years if you crash a nuke-loaded rocket. If we stopped being concerned about nuclear contamination and threw some money at it, we'd be lobbing nuclear reactors into space constantly.

It will happen, I mean there is really interesting science to be done in the outer solar system. Solar power just isn't very practical at those distances from the sun if you hope to run a high powered science package, nevermind things like electrical propulsion systems. When your options are nuclear or nuclear, the decision is (hopefully) a little bit easier to reach - though I'm sure there would, disappointingly, be some people who would rather just not do the science than use nuclear power to do it.

Link to comment
Share on other sites

Hey, sorry if this has been solved before (I've done some searching and haven't found anything) but I've been unable to get this mod working with my game at all, I've reinstalled the game, removed all other mods and did a bit of troubleshooting but I can't get it to work, it crashes my game at the first loading screen. it goes until \WarpPlugin\Spaces\sci\internal\crewtestinternals then either freezes, crashes or comes up with a runtime error. Any help would be appreciated thanks

I'd definitely suggest deleting everything in the WarpPlugin folder, then redownload the mod and re-install it, occassionally files can become corrupted for whatever reason. Your install location looks to be correct.

I'm having the exact same error on one of my installs. I had KSP Interstellar running in three different installs just fine.

On one of the three installs I deleted some parts I wasn't using to save on memory. One of the parts was the science lab, but everything ran just fine.

Later I decided to re-add those parts and I deleted the whole Warpplugin, HexCans and Treelaoder, then reinstalled them all.

That is when the the freezing and crashing started when \WarpPlugin\Spaces\sci\internal\crewtestinternals shows up.

I have re-downloaded the zip and deleted all the old files, then added them again, but the crashes still happen.

The other two installs are working fine.

Edit: I have this install heavily modded and close to the memory limit I'm sure, but I only tried to add back two parts the science lab and the Computer core.

Edited by Tommygun
Link to comment
Share on other sites

Yes, it's possible. It can be done in a variety of ways, e.g. by converting an amount of EC specified by the user into Megajoules, converting all the EC in the bar into Megajoules (though this is a bad idea because it might lead to frames without control over the vessel) or by using a variety of schemes to detect the flow of EC that is being produced and converting that exact amount into Megajoules. The last option is, in many ways, the best but also the most complicated because the game has no consistent mechanism for getting that information. Such a system would need to check for EC from solar cells and RTGs seperately and likewise would also need schemes to detect EC production from modded parts - unless those parts use stock PartModules to do the generating.

The fact that there is no ideal way to implement it is the major barrier to this being in the mod already.

With no ideal way, I'd be taking the quick and dirty route.

In the quick and dirty route, the part consumes a fixed number of Ec's a second and generates a fixed number of Mj a second. Add an on-off option to it, and make two or three part sizes with different consumption rates and Mj outputs. Simple, effective. Or, for just a few dollars more, set the part with a max Ec consumption rate, apply a slider or other form of user input field to tell the unit to operate from 0 to 100% of that maximum rate. Repeat to scale two to three of these parts sizes and there you go.

This way, the part pulls from whatever stock Ec pool is as needed, the user can throttle it without your custom resource handling code needing to play nice with stock resource handling code.

It may not be ideal, but is it really that much to ask a user to set the rate? Too high, Ec pool starts running down, go tinker with the module and throttle it back until you're not running your electrical power down. Too low, and you're not generating any Mjs. Go turn up the juice.

Sure, with some flaming hoops of coding an automated process could riverdance exactly what the perfect usage of power is, but I think it's okay to let the user handle this one until you have better coding options.

Link to comment
Share on other sites

Once I get back to work Monday I can give you some figures on real life DC-DC and DC-AC drive modules we sell to the rail industry to drive their trains(dimensions, weight, and output).

Some numbers I just crunched.

If we ignore the voltages and just go with peak current output * input voltage. You could probably get 2-3MW of power out off a system that weighs around 1000lbs..

The limiting factor is really cooling, they run the systems in places like California and the high ambient temperatures actually force them to back off at times, due to cooling system restrictions.

Edited by Donziboy2
Link to comment
Share on other sites

I'm having the exact same error on one of my installs. I had KSP Interstellar running in three different installs just fine.

On one of the three installs I deleted some parts I wasn't using to save on memory. One of the parts was the science lab, but everything ran just fine.

Later I decided to re-add those parts and I deleted the whole Warpplugin, HexCans and Treelaoder, then reinstalled them all.

That is when the the freezing and crashing started when \WarpPlugin\Spaces\sci\internal\crewtestinternals shows up.

I have re-downloaded the zip and deleted all the old files, then added them again, but the crashes still happen.

The other two installs are working fine.

Edit: I have this install heavily modded and close to the memory limit I'm sure, but I only tried to add back two parts the science lab and the Computer core.

Did you add any other mods between making those changes? If you're close to the memory limit even a tiny change could be significant.

Link to comment
Share on other sites

Once I get back to work Monday I can give you some figures on real life DC-DC and DC-AC drive modules we sell to the rail industry to drive their trains(dimensions, weight, and output).

Some numbers I just crunched.

If we ignore the voltages and just go with peak current output * input voltage. You could probably get 2-3MW of power out off a system that weighs around 1000lbs..

The limiting factor is really cooling, they run the systems in places like California and the high ambient temperatures actually force them to back off at times, due to cooling system restrictions.

I bold that line because its probably a really good idea. Im all for realism, but going for to much can kill the desired effects, esp in a case like this where your really just butting heads with the stock resource system.

I think AdmiralTigers last post is a good idea for cross over, and I actually like that the player would have to provide input to get the system working as wanted for any given application. I like doing stuff in kerbal...and thats one more thing to do =) Make the throttle control outside the part so you have to EVA (thats probably going to far...but Id love it lol).

Link to comment
Share on other sites

I bold that line because its probably a really good idea. Im all for realism, but going for to much can kill the desired effects, esp in a case like this where your really just butting heads with the stock resource system.

I think AdmiralTigers last post is a good idea for cross over, and I actually like that the player would have to provide input to get the system working as wanted for any given application. I like doing stuff in kerbal...and thats one more thing to do =) Make the throttle control outside the part so you have to EVA (thats probably going to far...but Id love it lol).

The reason I say that is that if you went with real life figures you would max out at 1.5MW continuous. It should not be something you just slap on for the hell of it. Using real life figures you would need about 1.5T per Lab. That is a little excessive, and that would not include the panels needed. I would rather have more ways of doing something then sticking to exact figures.

Link to comment
Share on other sites

... or by using a variety of schemes to detect the flow of EC that is being produced and converting that exact amount into Megajoules. The last option is, in many ways, the best but also the most complicated because the game has no consistent mechanism for getting that information. Such a system would need to check for EC from solar cells and RTGs seperately and likewise would also need schemes to detect EC production from modded parts - unless those parts use stock PartModules to do the generating.

The fact that there is no ideal way to implement it is the major barrier to this being in the mod already.

I've been giving this some thought. What if you just put a one frame lag into it? Detect what the net EC generation was last frame (delta EC) and convert some percentage of that to MJ.

Link to comment
Share on other sites

I've been giving this some thought. What if you just put a one frame lag into it? Detect what the net EC generation was last frame (delta EC) and convert some percentage of that to MJ.

Unfortunately, that doesn't work because the Megajoule resource manager prioritises the production of ElectricCharge. In other words, if the electric charge bar is set to say 5/1000 in one frame and 6/1000, you can take the delta value, consume 1 unit of EC, produce 0.001MJ and immediately the Megajoule resource manager goes "ElectricCharge bar isn't full - convert all available megajoules into ElectricCharge until the bar is full!" and you have a load of code, the net result of which does absolutely nothing.

On the other hand, if the ElectricCharge bar is at 1000/1000 and you measure the change frame by frame, the change is 0 even if you would actually be accumulating charge were the bar not full. An accumulation of Megajoules can only occur when the EC bar is already full and that is the fundamental problem.

The reason that this is difficult to do is because it requires many of the same features that the resource manager actually provides to avoids problems like this.

Link to comment
Share on other sites

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