Jump to content

[1.12.x] - Modular Kolonization System (MKS)


RoverDude

Recommended Posts

1 hour ago, Julien249 said:

How do you make a mm patch? Cause that sounds like an amazing idea.

The github has a decent wiki describing various aspects.

https://github.com/sarbian/ModuleManager/wiki/Module-Manager-Handbook

Here's an example of a MM patch doing something similar to what you want.

@PART[USI_Nuke_*]:FINAL
{
	@MODULE[ModuleResourceConverter]:HAS[#ConverterName[Reactor]]
	{
		@OUTPUT_RESOURCE:HAS[#ResourceName[ElectricCharge]]
		{
			@Ratio *= 10
		}
	}
}

This will look for every part that has an internal name starting with USI_Nuke_, find the module for the resource converter with a ConverterName set to Reactor,  find the output resource of that converter with a ResourceName set to ElectricCharge, and then multiply the output ratio of that resource by 10. And the :FINAL tells it to run after everything else (FINAL is typically reserved for user created patches, as opposed to patches that get distributed with mods for compatibility support). 

To get a patch to work, all you need to do is put the patch in a file with a .cfg extension somewhere in the GameData folder.

Edit: I should probably note that I haven't tested this patch, so for all I know there could be some stupid syntax error present that I overlooked. Also, the practice of patching everything that matches a name with wildcards might not be the best, there is a chance that something not a reactor could slip in. It would probably be better practice to look for every part named "USI_Nuke_*" that had a Reactor module, but I was feeling lazy.

Edited by TBenz
Link to comment
Share on other sites

KSP 1.10.1, MKS 1.4.1, JNSQ 0.9.0, RR 1.14.1

I'm following the current (WIP) tutorial on the Wiki.  I've solved the Rational Resources Dirt problem with a MM patch from JadeOfMaar.  However, I seem to have run into another issue.

The tutorial states that adding a crew member will add 10 CrewPoints in the corresponding specialization.  Is this still true because I get only 1 point (see pic in the spoiler)?  Could it be that the number of crewpoints generated is dependent on Kerbal experience, even in a sandbox game?

I can't say definitively, but I don't think this was the case before resolving the Dirt problem.  Could they be related?

Spoiler

Qyf8F5f.jpg

 

Edited by Brigadier
Link to comment
Share on other sites

3 minutes ago, Brigadier said:

KSP 1.10.1, MKS 1.4.1, JNSQ 0.9.0, RR 1.14.1

I'm following the current (WIP) tutorial on the Wiki.  I've solved the Rational Resources Dirt problem with a MM patch from JadeOfMaar.  However, I seem to have run into another issue.

The tutorial states that adding a crew member will add 10 CrewPoints in the corresponding specialization.  Is this still true because I get only 1 point (see pic in the spoiler)?  Could it be that the number of crewpoints generated is dependent on Kerbal experience, even in a sandbox game?

I can't say definitively, but I don't think this was the case before resolving the Dirt problem.  Could they be related?

  Hide contents

Qyf8F5f.jpg

 

Something (some mod) is messing with your Kerbals.   In sandbox they should all be five starts.

Link to comment
Share on other sites

47 minutes ago, eberkain said:

there is an option in the stock game to enable kerbal xp in sandbox. 

But only at save creation (and not just in sandbox saves).  You can't do it post-initialization in-game (the option is removed from the Settings dialog) unless you modify the EnableKerbalExperience parameter to False in the persistent.sfs file, which I did. 

When I returned to the VAB and reloaded the production vessel, I thought this hack hadn't worked because nothing seemed changed.  It turned out that was only because all the Kerbals jumped ship and went back to the Astronaut Complex on exit from the VAB, leaving the craft empty.  Repopulated and, presto, it all makes sense.

Thanks to you both.  Mystery indeed solved.

It's not yet mentioned in the tutorial that Kerbal experience drives Resource production efficiency.  It certainly makes sense in hindsight.  I'll add it somewhere.

Link to comment
Share on other sites

8 minutes ago, eberkain said:

is there an electricity planner that works with MKS, so I can look at all the power input/output on a base before I start deploying it? 

You might try AmpYear although my experience has been a little mixed of late with it not calculating dark side transits well.  If you've got Near Future installed, there's a power summary baked into that but it might not recognize all the MKS parts.

Oh, and there's Fusebox but I've never tried it.

 

Edited by Brigadier
Added Fusebox
Link to comment
Share on other sites

4 hours ago, Plomie said:

Hello roverdude. I have a question: If i want to build in situ or in orbit do in need to i instaal EL or GC. Since you deleted GC from the mks mod? 

I think both mods are still "supported" so you can use them but he has hinted at making his own version of vessel construction within MKS.

Link to comment
Share on other sites

4 hours ago, Plomie said:

Hello roverdude. I have a question: If i want to build in situ or in orbit do in need to i instaal EL or GC. Since you deleted GC from the mks mod? 

Or wait a little bit ;)

14 minutes ago, eberkain said:

I think both mods are still "supported" so you can use them but he has hinted at making his own version of vessel construction within MKS.

Maybe @DoktorKrogg has his own hints :D

 

Link to comment
Share on other sites

8 hours ago, Brigadier said:

You might try AmpYear although my experience has been a little mixed of late with it not calculating dark side transits well.  If you've got Near Future installed, there's a power summary baked into that but it might not recognize all the MKS parts.

Oh, and there's Fusebox but I've never tried it.

 

Dynamic Battery Storage is Nertea's mod for this.  

He includes a list of all the modules that it supports, but I'm not familiar enough with the inner workings of MKS to know what all modules it uses. 

Link to comment
Share on other sites

18 minutes ago, eberkain said:

Dynamic Battery Storage is Nertea's mod for this.  

He includes a list of all the modules that it supports, but I'm not familiar enough with the inner workings of MKS to know what all modules it uses. 

MKS uses stock for all of our converters.  Even USI-LS is actually based on the stock BaseConverter class :)  Pretty nifty that someone at Squad thought to give modders an extensive framework for building out 'things that convert x to y and do z over time'.  With a lot of performance stuff already baked in.

Though I would disagree that the Squad design was 'Awful' (quoting Nertea's OP).  But then he was not in the room when all of this was discussed with pros/cons (and ultimately, we decided it was better to have the player get some free EC than have floating point math overrun battery storage or do dynamic EC capacity expansion).   

Edited by RoverDude
Link to comment
Share on other sites

1 hour ago, eberkain said:

Dynamic Battery Storage is Nertea's mod for this.  

He includes a list of all the modules that it supports, but I'm not familiar enough with the inner workings of MKS to know what all modules it uses. 

Not discounting Nertea's work, but for me it doesnt work very well (doesnt account for a lot of ec consumers) and is a frequent source of nullref spams in my logs...

Link to comment
Share on other sites

19 minutes ago, TheDog said:

Not discounting Nertea's work, but for me it doesnt work very well (doesnt account for a lot of ec consumers) and is a frequent source of nullref spams in my logs...

yeah i tried it alongside MKS, didn't seem to work for me either. 

Link to comment
Share on other sites

11 hours ago, Brigadier said:

It's not yet mentioned in the tutorial that Kerbal experience drives Resource production efficiency.  It certainly makes sense in hindsight.  I'll add it somewhere.

Ah. I'd wondered about that. In my early missions to gather science from Mun and Minmus, I often bring along extra Kerbals just to get them XP (when I'm not carting paying tourists instead). I was wondering whether there was any reason to do this with MKS specialists as it wasn't immediately obvious to me that it made any difference. Thanks for the clarification.

Link to comment
Share on other sites

@RoverDude So I have a question, somewhat relating to ascetics.  I finally got all the Wolf parts in my career mode after looting all the science I could wring out of Minmus and Mun and have set up a pretty capable KSC depot to support a soon-to-come orbital shipyard.  When I logged into my game today, I was somewhat shocked to see all of the dozens of Kerbals I had assigned to my depot suddenly available in the astronaut center again.   I figured that it’s probably because I left the “respawn missing kerbals” button checked in the game settings (?), so just for S&Gs to see what would happen, I built an H2O to fuel processor and re-assigned some of the Kerbals to it with no ill effect.  So now I have 2 geologists doing double duty.

SO.... this means that there’s a potential exploit here of being able to recycle kerbals.  Also, does this mean that when we assign them to a Wolf component and they’re listed in the missing/dead category in the astronaut center, we can delete them from that list without interrupting our Wolf facilities?

Link to comment
Share on other sites

3 minutes ago, MaxPeck said:

@RoverDude So I have a question, somewhat relating to ascetics.  I finally got all the Wolf parts in my career mode after looting all the science I could wring out of Minmus and Mun and have set up a pretty capable KSC depot to support a soon-to-come orbital shipyard.  When I logged into my game today, I was somewhat shocked to see all of the dozens of Kerbals I had assigned to my depot suddenly available in the astronaut center again.   I figured that it’s probably because I left the “respawn missing kerbals” button checked in the game settings (?), so just for S&Gs to see what would happen, I built an H2O to fuel processor and re-assigned some of the Kerbals to it with no ill effect.  So now I have 2 geologists doing double duty.

SO.... this means that there’s a potential exploit here of being able to recycle kerbals.  Also, does this mean that when we assign them to a Wolf component and they’re listed in the missing/dead category in the astronaut center, we can delete them from that list without interrupting our Wolf facilities?

huh- that's a new one.  In any case yeah killing a Kerbal does not affect WOLF.  So sounds like we need to figure out another way to keep them from returning.

Link to comment
Share on other sites

17 hours ago, Brigadier said:

But only at save creation (and not just in sandbox saves).  You can't do it post-initialization in-game (the option is removed from the Settings dialog) unless you modify the EnableKerbalExperience parameter to False in the persistent.sfs file, which I did. 

When I returned to the VAB and reloaded the production vessel, I thought this hack hadn't worked because nothing seemed changed.  It turned out that was only because all the Kerbals jumped ship and went back to the Astronaut Complex on exit from the VAB, leaving the craft empty.  Repopulated and, presto, it all makes sense.

Thanks to you both.  Mystery indeed solved.

It's not yet mentioned in the tutorial that Kerbal experience drives Resource production efficiency.  It certainly makes sense in hindsight.  I'll add it somewhere.

Thank you! I had the same issue and now it is solved!

9 hours ago, RoverDude said:

Or wait a little bit ;)

Maybe @DoktorKrogg has his own hints :D

 

Thank you for this and the other awesome mods, @RoverDude! On this new GC replacement, can you at least hint if it will use only Material Kits and Sp? WOLF made me come back to play again after a year and I have a new save. If something else is necessary than I will already put the needed infra. 
Also, is it intended to don’t allow to transport TransportCredits? It could be useful to do it to the orbit biomes. 

Link to comment
Share on other sites

16 minutes ago, CateredCarrot said:

On this new GC replacement, can you at least hint if it will use only Material Kits and Sp?

We are indeed working on a new system for building vessels in-situ and it will live in the Konstruction mod. It will use MatKits and SpecParts along with some new resources (and corresponding converters for them in MKS and hoppers for them in WOLF). The new resources were necessary to account for things like gravioli detectors whose mass is very low but cost is very high. Otherwise you could just dump a crate of MatKits on the runway, pump out a bunch of gravioli detectors and recover the vessel for a substantial profit. A big difference between our system and systems like GC is that vessels will instantly spawn nearby. Our reasoning is that the "build" time is baked into the assembly of the resources themselves. We don't see the simulation of a build process as being "fun" since you can (and most times would) just time warp through that part of the process anyway. It's still in development and all of this is subject to change at any time but that's where things currently stand. :)

Link to comment
Share on other sites

On 12/26/2020 at 12:41 AM, RoverDude said:

So for those of you playing with the new systems... how do you like them so far?

You asked, so here you are :wink:

First of all, @RoverDude and @DoktorKrogg, thank you very much for all of your great work. I really appreciate it. Your work make the KSP experience a lot more interesting!

I'm playing since a long time with MKS and was recently able to get my feets wet on W.O.L.F in a new career game. Think it is a great addition to the game.
I'm not that far progressed currently to have tested all of it as it took a long time getting to W.O.L.F in CTT (absolutely fine with that). So far i really like everything about the way W.O.L.F. works except the Transport-Computer.

All of my findings / suggestions are already implemented on a GitHub fork (Well, almost, except point 1.3) to test them in game, i think it plays well that way. Just tell me what Points you like and i can do a Pull-Request on Github.

My findings so far:

  1. Found some Bugs:
    1. Can confirm the finding of @MaxPeck, just needed to make sure first no other mod caused the problem (As far as i found out WOLF does not handle the Kerbals in any special way, they just automaticcaly "die" when wessel goes Poof, when Respawn is enabled they get state MIA instead of KIA)
      => Should be easy to solve, just change the kerbal Type to Applicant instead of let him die (Same logic in Stock if you fire them from Astronaut Complex, also no Penalty should kick in this way)
    2. The 3.75m Fuel hopper ratio for reqeip "Liquid Fuel" seems wrong (takes more resources than small version, but same output
      => HopperFuel375.cfg change Ratio = 0.0185185
    3. As far as i can see there is no possibility to add only a CrewMember to depot
      => Not sure about that, but probably there should be a Button "Connect to Depot" on every part that can have crew??
  2. Balancing Issue (probably, not sure if intended for some reason)
    1. Kerbal "Resources" are multiplied by experienceLevel (stars), regarding that star-leveling is not linear probably a balancing issue (https://wiki.kerbalspaceprogram.com/wiki/Experience#Levels)
      => It would better match to multiply by XP (depending on balancing probably XP/??) as it is quite hard to get a 5 star kerbal and you one get only the value of 5 zero star kerbals. This would make training kerbals interesting as you get a real good benefit on LifeSupport- / Habitation-Savings, it could even be balanced by XP/12, this would not give more benefit as currently, but it would be linear by effort provided to train the kerbal. In my opinion you should get more than just 5 points for a 5-star kerbal (But i think you took more time than me to think about balancing so far ;))
  3. Transport-Computer
    1. If i havn't missed something i'm not able to see how good a route performs before connecting it to destination depot. Especially in career mode this is a problem as transportcredits are very expensive to get.
      => Add Route-Cost to in-flight context-menu (or simple, but not so nice => Add a confimation-ui for connect-to-destination where you see the cost)
      => Nice-to-have addon: Add "Cost / Payload" to easily compare different flights
      n0IVDYY.png
    2. Refueling during transport increase payload (unrealistic, why should it)
      => Track lowest mass during flight instead readout while connecting to destination
    3. If a vessel is barely able to reach the destination and arrives completely dry, i can still get a lot of Payload if the craft is heavy enough (unrealistic, where should that payload be stored? With more weight the craft would not have been able to reach destination)
      => Calculate the payload based on resource-mass instead of vessel-mass
    4. Cost calculation
      1. Refueling during transport reduces cost (unrealistic, the opposite should be the case as more fuel is needed for transport)
      2. Flying with high-efficient fuels (like karborundum) a route will be very cheap because almost no mass is lost. But it should be expensive as the fuel is hard to mine and expensive to buy
        => Calculate the route-cost based on "burned fuel cost" + "vessel dry cost start" - "vessel dry cost end"
  4. Code-Suggestion
    1. Change some methods in code from "private" to "protected virtual", this would make it a lot easier to implement custom Transport-Logic for other modders (This would have saved me some time while testing :wink:)
      - CalculateRouteCost
      - CalculateRoutePayload
      - ResetRoute => Or OnResetRoute (new method with calculation-related logic extracted from ResetRoute)
      - ConnectToOrigin => Or OnConnectToOrigin (new method  with calculation-related logic extracted from ConnectToOriginEvent())
      => Even better create a WOLF_AbstractTransporterModule and make CalculateRouteCost and CalculateRoutePayload abstract, implement calculation-logic in WOLF_TransporterModule : WOLF_AbstractTransporterModule

 

Except the cost-calculation (Point 3.4) all of the suggestions are very lightweight simple changes adding almost no complexity. Point 3.4 is a bit more complex, but in my opinion well worth the added realism / possibilities. As it uses only basic KSP-API methods (vessel-resource-enumeration - vessel-part-enumeration - part-definitions - resource-definitions) i don't expect them to change in future => code should be easy to maintain.

@RoverDude @DoktorKrogg If you tell me what of the above implemetations you like i can do a PULL-Request on github for them, just not able to do a single request for every point now as they interfere with each other

Link to comment
Share on other sites

2 hours ago, DoktorKrogg said:

We are indeed working on a new system for building vessels in-situ and it will live in the Konstruction mod. It will use MatKits and SpecParts along with some new resources (and corresponding converters for them in MKS and hoppers for them in WOLF). The new resources were necessary to account for things like gravioli detectors whose mass is very low but cost is very high. Otherwise you could just dump a crate of MatKits on the runway, pump out a bunch of gravioli detectors and recover the vessel for a substantial profit. A big difference between our system and systems like GC is that vessels will instantly spawn nearby. Our reasoning is that the "build" time is baked into the assembly of the resources themselves. We don't see the simulation of a build process as being "fun" since you can (and most times would) just time warp through that part of the process anyway. It's still in development and all of this is subject to change at any time but that's where things currently stand. :)

So is this taking the place of GC, OSE, or both?

Edited by MaxPeck
Link to comment
Share on other sites

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...