DStaal

[1.2.2] [0.9.5] KPBS/MKS Integration Pack

Recommended Posts

Ok, ages ago I wrote a simple set of MM patches to help integrate UKS with KPBS.  Then it got noticed a bit, and a few of us made some big plans.  Then 1.2.2 came out, USI updated everything, I couldn't run the latest versions, etc, etc, and it fell behind a bit.  @TheRagingIrishman offered to take over the main effort, but stuff got put on hold until @RoverDude released his balance spreadsheet, which hasn't happened yet...

So.  I got a new computer for Christmas, and I'm interested in playing with both MKS and KPBS again.  Nills277 isn't particularly interested in doing MKS integration himself (which is fine: if he doesn't play with it, it's a complicated thing to integrate correctly), and no one seems to be doing much with it, so I'm reviving my patch set.  I've renamed it, in the hopes of eventually doing a 'real' release, and I spent some time today reorganizing and cleaning up.

Current repositories:

GitHub: https://github.com/DanStaal/KPBStoMKS

GitLab: https://gitlab.com/DStaal/KPBStoMKS

I like GitLab from what I've seen, but I know they aren't the big name (and aren't quite as stable), so I've got it on both.  I may drop one or the other if keeping them in sync becomes to much of a hassle.

Current Status:

Current Release is 0.9.5, with logistics, power distribution, Ground Construction, and Kontainers support.

https://github.com/DanStaal/KPBStoMKS/releases/tag/Release-0.9.5

Repository Structure:

I'm trying to teach myself good Git usage using this as well, so I've got the repository structured for a 'Git-Flow' workflow.  That means there are several branches:

  • Release, where the main releases will be made to.  If you just want to grab the last tested & stable version of the patches, go here.  This still has the old version of the patchset.
  • Development, where the main development occurs.  Currently has most of the latest changes.
  • Various 'feature' branches, which are focused development on specific features that may or may not be included in main development.

At the moment there's really only one active 'feature' branch: MKS_Workshops.  It's intended to house development for the big plans that got discussed ages ago, while the main development will be trying to get something that does basic integration.  :wink:  (There's also the old 'master' branch, which I may delete at some point.)

Plans:

Short-term: 

Next on our list is to get USI-LS support written up and functional.  This will probably be two versions: A 'Basic' version for working with just USI-LS (which we'll be sending to Nils277) and a full MKS+USI-LS version which will stay in this pack.

  • Check to see if Multi-Hub has a node at KPBS height, and if not add one.

Long-term, I'd like to see support for the MKS industrial toolchain in the KPBS form-factor.  We had an interesting idea of how to break that up back in the KPBS thread ages ago - I'll look up the links.  It may not be possible with the current way MKS is structured, we'll need to take a new look at it.

How You Can Help:

I welcome discussion and PRs.  If possible, please put the PRs on the correct branch - that's either 'Development', or a feature branch dedicated to the features you're working on.  (At the moment that being the industrial toolchain workshops in the feature/MKS_Workshops' branch.)  This should be fairly easy, as I've set up 'Development' as the default branch to look at.  :wink: 

Also, while I can code fairly well, I have *no* modeling or texturing skills.  I've tried.  Really.  I may try again in the future, but if you have some skills in either, they would be welcomed.  Currently we could use:

  • Textures for the tanks.  (Small, medium, large) For any/all of the MKS resources.  I can do without, or have a default, or just have a couple, but ideally we'd have all of them.

License:

MIT.

Edited by DStaal
Stage 1 Release
  • Like 12

Share this post


Link to post
Share on other sites

Really excited to see where this pack could go. Love MKS and KPBS and would love to see them work better together.

Edited by TheRagingIrishman
  • Like 2

Share this post


Link to post
Share on other sites

Not a lot of computer skills here, I'm afraid, but I am glad to help where I can. My schedule has me going long stretches of time with no free time followed by long stretches of lots of free time, so I'll try to put the latter to good use. 

I do think, if this takes off, that we should consider taking over USI-LS integration. Balancing it with any MKS patches is vital, and it sounds like Nils is getting tired of it anyway. I'm guessing also that the number of people running USI-LS and KPBS but not MKS is probably dwarfed by those running all three. 

With regards to you looking for textures: are you thinking of trying to recreate kontainers in the KPBS container style? I definitely like that idea. 

  • Like 1

Share this post


Link to post
Share on other sites

I've got a lot of photoshop experience and have done a good few re-texturing projects in the past. I've also got newly found modelling skills.

I'd be glad to contribute as much as possible but with the freighter project, upkeep of the USI KSPEDIA and the Mechjeb project I'm stretched for spare time for the next few weeks. So I can't assist with plans.

But if you ping me with a list of required textures models I'll get them knocked together for you within a few days.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, Merkov said:

Not a lot of computer skills here, I'm afraid, but I am glad to help where I can. My schedule has me going long stretches of time with no free time followed by long stretches of lots of free time, so I'll try to put the latter to good use. 

I do think, if this takes off, that we should consider taking over USI-LS integration. Balancing it with any MKS patches is vital, and it sounds like Nils is getting tired of it anyway. I'm guessing also that the number of people running USI-LS and KPBS but not MKS is probably dwarfed by those running all three. 

With regards to you looking for textures: are you thinking of trying to recreate kontainers in the KPBS container style? I definitely like that idea. 

Yep, Kontainers in the KPBS form-factor is the plan.  (And probably depreciate the current MaterialKits and SpecializedParts storage parts at that time.)  I have some code up there already that does most of the hard work semi-automatically (if you put in a dummy module, it uses MM to create correctly sized/cost entries for all the different contents - or it will, once it's been tweaked a bit, currently it's missing a few and I've had trouble finding the right ratios for the liquid/gas Kontainers).  Original goal was to try to talk RoverDude into using it - help him keep all his Kontainers correctly balanced, and help others who want to write interop patches.  :wink: 

So what it needs are textures I can apply to one of the KPBS containers in each size as the repaint.  Of course we could leave without, just dupe the current containers - but I think we can do better than that.  :wink:

@dboi88, I can make up a list once I get the my MM script tweaked (then I'll have it all in one place) - but one thing I've added over the USI Kontainers (and would be the place to start) is a *default* texture.  My code will use the default texture for any and all resources that don't have a specific texture of their own - so if we could get that in the three tank sizes, then we've got a good start.

I agree on LS - I've added a folder in the repository to work on LS patches.  At the moment I think the correct approach is to override any LS patches already in the mod, assuming that's possible, so that we take over that support.  However, do note that KPBS has some parts that are LS-specific, and support multiple LS systems.  How to integrate them is a better question; they have models and designs already that I'm not planning on taking over - but we want them balanced against the rest of the integration.

  • Like 3

Share this post


Link to post
Share on other sites
6 minutes ago, DStaal said:

I can make up a list once I get the my MM script tweaked (then I'll have it all in one place) - but one thing I've added over the USI Kontainers (and would be the place to start) is a *default* texture.  My code will use the default texture for any and all resources that don't have a specific texture of their own - so if we could get that in the three tank sizes, then we've got a good start.

I'm not certain i'm following. Are you looking for a new texture for the 3 PBS container sizes that would be used if you switch to a resource not covered by PBS and that doesn't have it's own texture? If so i'll make a template style plain texture. We'll then be able to change colour/add names/symbols for all the resources once the list is ready?

  • Like 1

Share this post


Link to post
Share on other sites
Just now, dboi88 said:

I'm not certain i'm following. Are you looking for a new texture for the 3 PBS container sizes that would be used if you switch to a resource not covered by PBS and that doesn't have it's own texture? If so i'll make a template style plain texture. We'll then be able to change colour/add names/symbols for all the resources once the list is ready?

Exactly.  Logic (in MM) goes:

  1. Assign default texture to resource.
  2. If there is a specific texture for this resource, replace default texture with the resource-specific texture.

So, if there's a default, then that will be used unless there's a more specific texture.

These will be used like the textures on the classic rectangular Kontainers, which are switched as the contents get switched.

  • Like 2

Share this post


Link to post
Share on other sites
5 minutes ago, DStaal said:

Exactly.  Logic (in MM) goes:

  1. Assign default texture to resource.
  2. If there is a specific texture for this resource, replace default texture with the resource-specific texture.

So, if there's a default, then that will be used unless there's a more specific texture.

These will be used like the textures on the classic rectangular Kontainers, which are switched as the contents get switched.

Cool. These the 3 sizes?

pNgfExU.png

I assume we're going to go with a PBSalike texture?

@Nils277 do you mind me using elements from the originals in the tank textures?

  • Like 1

Share this post


Link to post
Share on other sites

Yep, those three sizes.  And PBSalike would be ideal - MKSalike would be second-best.  :wink:

  • Like 1

Share this post


Link to post
Share on other sites
30 minutes ago, dboi88 said:

Cool. These the 3 sizes?

pNgfExU.png

I assume we're going to go with a PBSalike texture?

@Nils277 do you mind me using elements from the originals in the tank textures?

There is also a fuel tank with the base profile with half the lenght :wink:

I'm totally okay with that. Do you need the original model and texture sources? (Blender and Gimp)

Edited by Nils277
  • Like 2

Share this post


Link to post
Share on other sites
Just now, Nils277 said:

There is also a fuel tank in the in the base profile with half the lenght :wink:

I'm totally okay with that. Do you need the original model and texture sources? (Blender and Gimp)

That'd be great.

 

Share this post


Link to post
Share on other sites

@dboi88 Here you go: Fueltank Templates.zip

I could'nt find the source for the small fueltank in the base profile though. Will have to look for it at the weekend.

  • Like 4

Share this post


Link to post
Share on other sites
11 minutes ago, Nils277 said:

@dboi88 Here you go: Fueltank Templates.zip

I could'nt find the source for the small fueltank in the base profile though. Will have to look for it at the weekend.

Cheers, i really appreciate it. 

Share this post


Link to post
Share on other sites

Ok, I was doing some base-building in my current game and stumbled (it was a bit of nasty surprise, as things weren't as I expected - though planning for it will be nice) across something we may need to decide how to handle: the current version of WBI Pathfinder includes support for applying templates to KPBS.  Pathfinder includes USI-LS support.  So, if someone has both KPBS systems and Pathfinder installed, they already have support for USI-LS, including habitation, recyclers, etc.  (I haven't checked what all templates are available to all the parts - my MK-II habitats were configured as Pigpens, I know that.)  So we're going to need to balance against that as well, for the USI-LS sections.

However, Pathfinder doesn't really have full support for MKS - it's storage units can hold MaterialKits or Supplies for example, but not SpecilzedParts or ColonySuppies.  So there's still a need here, especially for those who *don't* play with both Pathfinder and MKS.

Share this post


Link to post
Share on other sites

So if we're going to balance against the WBI Pathfinder USI-LS values (that was quite the mouthful), does that mean we would have our KPBS USI-LS patches disable themselves when both Pathfinder and USI-LS are present, and we would try to balance the MKS specific (but not USI-LS) stuff against the values that WBI provides?

Alternatively, if Pathfinder's support for full MKS is lacking, is it worth seeing if Angel 125 is able to set up his USI-LS support so that it defers to ours when Pathfinder, MKS, USI-LS, AND KPBS are all installed together?

  • Like 1

Share this post


Link to post
Share on other sites

It would depend slightly on what templates he has in use, but in general I think what we should do if both are present is to leave Pathfinder alone, and fill in some of the gaps.  I doubt he wants to try to defer to our stuff, as he's got a system where you can switch between multiple production templates for various parts (and even things like wet workshops: Send up a tank full of fuel, empty it, and turn it into habitation, or a science lab) - and those templates can be shared among parts, so disabling one of those templates means *none* of the WBI stuff would have access to it.  On the other hand, since all he's doing is adding the template switching to current parts and I was mostly thinking of cloning parts (except for the USI-LS stuff), we should be able to work around each other.

Of course, if we're looking at it and think the Pathfinder USI-LS values are unbalanced, we should probably bring that to Angel-125's attention - as that will affect more than just the KPBS parts.

Share this post


Link to post
Share on other sites

Sorry, I didn't meant change Pathfinder's stuff, I meant change KPBS stuff, though I see how that would be problematic, too.

I can never wrap my head around how WBI's systems work (I'm sure I just need to sit down and play with it, but I haven't had the time), so let me see if I understand this: It sounds like Pathfinder basically supports USI-LS, but not really MKS. Pathfinder then modifies KPBS to support Pathfinder, and by extension, USI-LS (but not really MKS). Is that about right? I know that Pathfinder has its own part/resource switching interface that is pretty slick, so we definitely don't want to interfere with that (I'm thinking of the Buckboards used by Buffalo/Pathfinder, which I always think of as WBI's Kontainers). So, for example, if Pathfinder adds that switching interface to a resource tank, would your plan then be to clone that resource tank, remove the WBI interface, and add our MKS textures/resources, resulting in there being two tanks, a WBI one and an MKS one?

The dangerous rabbit hole I see in front of us is the point where suddenly we're also trying to make a WBI-MKS compatibility pack just to resolve this. Which, don't get me wrong, would be an exceptionally thorough way of solving this, but that's a whole other ball game.

Off topic, but back in the UKS 0.44 days, I started trying to use Pathfinder's code switching system (I think they're called "Game Modes"?) to see if I could figure out how to basically turn Pathfinder into a UKS parts pack. That is, remove the WBI modules from parts, add UKS ones. At the time, I could barely even write a MM patch, so it didn't go very well... :P

Share this post


Link to post
Share on other sites

I'm in and will help chime in with advice on whatever I can. I unfortunetly don't have the time for doing part or texture work, but I will do as much as I can to help work out LS and MKS balance configs. 

Share this post


Link to post
Share on other sites
9 hours ago, Merkov said:

So if we're going to balance against the WBI Pathfinder USI-LS values (that was quite the mouthful), does that mean we would have our KPBS USI-LS patches disable themselves when both Pathfinder and USI-LS are present, and we would try to balance the MKS specific (but not USI-LS) stuff against the values that WBI provides?

Alternatively, if Pathfinder's support for full MKS is lacking, is it worth seeing if Angel 125 is able to set up his USI-LS support so that it defers to ours when Pathfinder, MKS, USI-LS, AND KPBS are all installed together?

My personal goal is to balance KPBS parts directly against MKS parts directly, rather than try to balance them against another mod that is doing its own take on balancing.  Me personally I don't play with Pathfinder though, so I'll let others comment on how to handle it when both are present. 

Share this post


Link to post
Share on other sites
4 hours ago, Merkov said:

Sorry, I didn't meant change Pathfinder's stuff, I meant change KPBS stuff, though I see how that would be problematic, too.

I can never wrap my head around how WBI's systems work (I'm sure I just need to sit down and play with it, but I haven't had the time), so let me see if I understand this: It sounds like Pathfinder basically supports USI-LS, but not really MKS. Pathfinder then modifies KPBS to support Pathfinder, and by extension, USI-LS (but not really MKS). Is that about right? I know that Pathfinder has its own part/resource switching interface that is pretty slick, so we definitely don't want to interfere with that (I'm thinking of the Buckboards used by Buffalo/Pathfinder, which I always think of as WBI's Kontainers). So, for example, if Pathfinder adds that switching interface to a resource tank, would your plan then be to clone that resource tank, remove the WBI interface, and add our MKS textures/resources, resulting in there being two tanks, a WBI one and an MKS one?

The dangerous rabbit hole I see in front of us is the point where suddenly we're also trying to make a WBI-MKS compatibility pack just to resolve this. Which, don't get me wrong, would be an exceptionally thorough way of solving this, but that's a whole other ball game.

Off topic, but back in the UKS 0.44 days, I started trying to use Pathfinder's code switching system (I think they're called "Game Modes"?) to see if I could figure out how to basically turn Pathfinder into a UKS parts pack. That is, remove the WBI modules from parts, add UKS ones. At the time, I could barely even write a MM patch, so it didn't go very well... :P

My plan is to have our own tanks regardless.  :wink:  But yes, you have the concept about right.  Pathfinder loosely supports some MKS concepts - it's logistics attempts to tie in to MKS logistics, for instance - but the support isn't really full support and isn't always balanced.

The issue to keep aware of is that it applies these templates to *other* parts as besides just tanks: For instance, I mentioned that it applied templates to the MK-II habitat - meaning that when I got to my pre-deployed base, it was configured to be a 'Pigpen', which is a *recycler*.  It could be reconfigured to be a habitat, but it wasn't by default.  (But note below for an issue.)

7 minutes ago, tsaven said:

My personal goal is to balance KPBS parts directly against MKS parts directly, rather than try to balance them against another mod that is doing its own take on balancing.  Me personally I don't play with Pathfinder though, so I'll let others comment on how to handle it when both are present. 

Mostly I want it known and thought about, so we don't step on each other's toes.  An example again from my own game: The MK-II was configured as a recycler - but I think it still had the habitation converter from the KPBS patch.  So, definitely overpowered at that point.

The question then is really do we want to defer to Pathfinder when it's present - make our patches conditional on it - or do we want to try to override it's integration?  (There is a third option - which I consider the worst of both worlds - which is to dupe all the parts and provide an MKS-version alongside the Pathfinder version.)

Making our patches - where they might conflict - conditional on there not being Pathfinder would be the easiest route, but it would mean less integrated MKS support at that point - and presumably if someone is installing this patch set they *want* MKS support.  (On the other hand, Pathfinder's stuff is nice too, as it allows for a more flexible base setup.)

Share this post


Link to post
Share on other sites

Nice.  :wink:  (I assume the 'MTO' is what's being planned to have change for specific conents?)

Edited by DStaal

Share this post


Link to post
Share on other sites
1 minute ago, DStaal said:

Nice.  :wink:  (I assume the 'MTO' is what's being planned to have change for specific conents?)

Yep that's the idea.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now