KSP-KOS / KOS

Fully programmable autopilot mod for KSP. Originally By Nivekk
Other
697 stars 230 forks source link

Simulate avionics limitations by optionally limiting controllable mass #671

Closed jwvanderbeck closed 9 years ago

jwvanderbeck commented 9 years ago

In Realism Overhaul and its counterpart RP-0, we are implementing the concept of Avionics systems. The basic idea is that avionics aren't all powerful, and have limitations in how much craft they can handle. However this isn't necessarily limited to RO/RP-0 and is something that other players may be interested in in the larger scope, so it would be nice if kOS amongst its other optional limitations, can define the maximum controllable mass. Since essentially kOS == Avionics.

ZiwKerman commented 9 years ago

How is general purpose CPU and mass are related? IMO KOS is much more than avionics

jwvanderbeck commented 9 years ago

IMO KOS is much more than avionics

Avionics doesn't mean autopilot. Avionics generally simply means the electronics on an aircraft or spacecraft. Avionics is the computer that controls everything on the spacecraft. Sound familiar? :)

First off, remember that this is an optional limitation, just like all the other limitations that kOS has.

Secondly, RE Mass, yes you are right it isn't a direct correlation, but Mass is a good stand in for spacecraft complexity, more so than any other property of a craft in KSP. The idea is to require more advanced avionics to handle more complex craft. As I said we are doing this for Realism Overhaul using a new plugin and instead of getting all hacky on our side for kOS we thought that adding this feature directly to kOS made more sense because its a feature others may want to use as well. As I said the implementation makes it completely optional; by default if it isn't defined then there is no limit.

Also @NathanKell can maybe expand more on the reasoning since the original concept is his.

ZiwKerman commented 9 years ago

So basically you want users to bring more powerful CPU's or more CPUs for bigger crafts to deal with complexity? why mass and not partcount then or some mix of both?

ZiwKerman commented 9 years ago

One more example - imagine a shuttle with robotic arm. Shuttle is manned, but kos CPU is used to control the robotic arm. Your KOS CPU will only control a fraction of your vessel.

jwvanderbeck commented 9 years ago

So basically you want users to bring more powerful CPU's or more CPUs for bigger crafts to deal with complexity?

Yes, exactly.

why mass and not partcount then or some mix of both?

Because part count isn't a very good indicator and can easily be "gamed" more so than mass. Due to the way KSP works, more parts isn't necessarily a more complex craft, and less parts isn't necessarily a simpler craft. For example I may use 3 procedural fuel tank parts in a row to represent a single tank, just to get the right look of a real world rocket.

Mass though, while not perfect, more accurately represents the ambitions of the craft because one designed to lift more or go farther is simply going to mass more no matter what you do.

erendrake commented 9 years ago

@jwvanderbeck I dont disagree with mass as a measure of ambition, i just have a hard time tying ambition to kOS in a way that is not very realistic. We went to the moon with a pocket watch's computer and today we lift smaller payloads with many very sophisticated modern computers.

If we want to measure complexity based on mass i have a few alternatives to straight mass that makes me feel better.

both of these functionally limit mass but would make me feel much better than straight mass.

jwvanderbeck commented 9 years ago

We went to the moon with a pocket watch's computer and today we lift smaller payloads with many very sophisticated modern computers.

The whole point though is to be able to provide that progression if desired.

As for other ways to measure it, I am really going to leave that discussion up to @NathanKell because the whole Avionics thing is his, I just implemented it on the kOS side, and it would be very confusing/bad for players if it is done differently in kOS and in RO.

Dunbaratu commented 9 years ago

In addition to the complaint mentioned by @erendrake that mass isn't really a good way to measure this, I also have a code architecture complaint. I don't like implementing it as a property of the Part, and would prefer it to be a property of the vehicle assembly and be part of Career mode's limitations. And when you think about it... it already IS that, because building tech level limits part count, and I thought that was already meant to represent the notion that at lower tech it's harder to control the complexity of a ship that does more things.

jwvanderbeck commented 9 years ago

RP-0, along with many others, don't use the .90 building restrictions as they are really badly done and silly.

Dunbaratu commented 9 years ago

Then you're not asking for nearly as small a change as you claim. You are asking for a major paradigm shift to replace stock career with something else, thus my code architecture objection. This is not something you do as a small incremental change. In order for it to remain a coherent mod that agrees with itself, you also would need change other stuff in kOS along with this.

Maybe I could be persuaded that replacing stock career limits with a different system is good as an entire shift of focus across the whole mod. Maybe I could be persuaded that its good to use stock career across the whole mod. But it's a hard sell to convince me that we should do a mix of the two, and use stock career limits in kOS everywhere except here where we do something else homemade. That is what your pull request would be doing because it doesn't touch upon any of the other ways kOS pays attention to stock career limits.

That's my code architecture complaint - that this is a change that shouldn't be made in isolation as a one-off special exception to career mode limits. If it's to be done, it would need to be as one part of a larger overhaul to how we use that system.

So it's not enough to merely try to use the argument that mass is a good measure of avionics complexity (Which it just isn't. A B29 weighed 74,520 lbs, and an F16 weighs 19,700 lbs. It would be ridiculous to claim the B29 had the more complex avionics of the two. Also, amount of fuel is an enormous portion of the total mass, but using editor tweakables to remove half the fuel from a fuel tank doesn't change the complexity of the avionics one bit.)

jwvanderbeck commented 9 years ago

We are going to close this and approach it differently. Thanks everyone!