Jump to content

Looking for ways to make a part's availability and price be dependent on whether or not you have bought into a previous part


Recommended Posts

One of the things KSP does not model, which I think would add valuable decision making/gameplay, is how in real life, companies are committed to existing architectures because of financial reasons.

 

In real life you see that almost no orbital launch vehicles are clean sheet, modern designs. They are overwhelmingly the most modern iteration of a series of launch vehicles that go back to the 60s, with development started in the 50s. The reason for this is pretty much common knowledge in the KSP crowd, but KSP does not model this at all.

 

So, I'm looking for ways to accomplish this. When I started with my project I assumed I could do this with the inbuilt part upgrades module, but unfortunately that really does not seem to be the prince that was promised. I can modify mass and cost, and maybe more, but I can't say... modify the contents of a RESOURCE node, or add a new module. Or make a ModuleEnginesFX use different propellants.

 

Let's say I want to make a redstone missile engine, first iteration, and put in in the 20 science level, and make an upgraded version in the 45 science node that has better Isp, thrust, and uses a different propellant. Upgrade nodes allow me to accomplish the thrust and Isp, but not the propellant change. So instead of upgrades, how about I just make a new part and have it's availability or entryCost depend on whether or not the first engine at the 20 science level was purchased? Is there a way for me to hide parts in the tech tree, and make them show up when the player pays the entryCost for a different part?

Spoiler

Real redstone engine was the NAA 75-110, and it started out as an ethanol75/lox engine, like the A-4 engine it was derived from, and as development continued they switched it over to Hydyne/lox, which resulted in improved Isp, about 10% more thrust, and hydyne is more dense than ethanol, so they got more fuel in the existing tanks. If they had never invested in NAA, and gotten them to develop the 75-110 engine, they would never have had access to the improved hydyne burning variant. Incidentally they ended up going back to ethanol for the mercury missions that used redstone/juno, but not for performance reasons, and KSP doesn't model hazardous materials either, so that's irrelevant.

 

Edited by Nnimrod
Link to comment
Share on other sites

I suppose it's worth mentioning that one way of accomplishing this would be to rebuild the tech tree entirely, such that individual part lines have their own nodes/progressions of nodes. This is a pretty big departure from stock tho, and would require a lot of tech nodes. I'd prefer a different way of getting it done.

 

Another way of doing it is to just make the upgrade available as a separate part, in a later node, and have the entryCost as you normally would for an upgrade, and then just put in the part's description "Only available if you bought into the preceding parent engine" And then rely on the honor system. After all, anyone playing a heavily modded KSP is after a challenge anyways, and is likely to be ok with "House rules". The honor system would be an acceptable, if not optimal way of getting it done. Not as good as properly working part upgrades tho as it does tend to clutter the tech tree/VAB. Although Janitor's closet can alleviate the VAB clutter.

Edited by Nnimrod
Link to comment
Share on other sites

A bit hacky perhaps, but it might be possible using PartUpgrades -- if they can set 'subcategory' and 'category' on the parts they target (unsure, haven't tried).

Okay, so you've got an engine in the 15 science node, the first version.  In that same node you add a PartUpgrade that targets the second version of the engine; this upgrade node is something like 'Research T2 Engine Variant'.  Enable part-purchasing costs so it isn't granted automatically.

Now, in your second part (the higher-science one) (the one targeted by the upgrade), you by define an editor category/subcategory such that the part is hidden and unavailable (IIRC there is a way to do this, not sure of the exact syntax off the top of my head).  Your PartUpgrade in the first science node 'upgrades' this 2nd tier part to make it available by changing its category/subcategory to the real desired value.  The result is that the second part should not be visible in the VAB until the upgrade from the first tier was purchased AND the 2nd engine purchased as well.

 

Note -- this is all just theoretical and speculative.  I haven't tried it.  I don't know if you can target parts for upgrades that are not yet unlocked.  I don't know if you an adjust subcategory/category with part-upgrades.  If those two points work out, the rest should be doable.

Edited by Shadowmage
Link to comment
Share on other sites

If you are interested in this level of detail, you should check out how Real Fuels addresses this with engines. 

As S’mage said it might be possible to do this with PartUpgrades, but they are not the most straightforward thing to work with.

Although I see the appeal of increasing the similitude of KSP’s rocket building process by adding realistic limitations, is it actually good gameplay to have to keep track of all these variations and manipulate them with KSP’s limited UI?

Link to comment
Share on other sites

On 7/25/2019 at 11:44 AM, Shadowmage said:

A bit hacky perhaps, but it might be possible using PartUpgrades -- if they can set 'subcategory' and 'category' on the parts they target (unsure, haven't tried).

Okay, so you've got an engine in the 15 science node, the first version.  In that same node you add a PartUpgrade that targets the second version of the engine; this upgrade node is something like 'Research T2 Engine Variant'.  Enable part-purchasing costs so it isn't granted automatically.

Now, in your second part (the higher-science one) (the one targeted by the upgrade), you by define an editor category/subcategory such that the part is hidden and unavailable (IIRC there is a way to do this, not sure of the exact syntax off the top of my head).  Your PartUpgrade in the first science node 'upgrades' this 2nd tier part to make it available by changing its category/subcategory to the real desired value.  The result is that the second part should not be visible in the VAB until the upgrade from the first tier was purchased AND the 2nd engine purchased as well.

 

Note -- this is all just theoretical and speculative.  I haven't tried it.  I don't know if you can target parts for upgrades that are not yet unlocked.  I don't know if you an adjust subcategory/category with part-upgrades.  If those two points work out, the rest should be doable.

Good idea, I'll give that a try tomorrow.

On 7/25/2019 at 2:39 PM, Nightside said:

If you are interested in this level of detail, you should check out how Real Fuels addresses this with engines. 

As S’mage said it might be possible to do this with PartUpgrades, but they are not the most straightforward thing to work with.

Although I see the appeal of increasing the similitude of KSP’s rocket building process by adding realistic limitations, is it actually good gameplay to have to keep track of all these variations and manipulate them with KSP’s limited UI?

I haven't messed with real fuels in some time, but perhaps I'll go back and check it out. As far as whether it's worth it or not from an additional gameplay vs. tedium perspective...  eh... That will be become clear enough in retrospect.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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