Jump to content

[1.9.1-1.10.1] Kiwi Tech Tree Overhaul 1.3.0 (17 December 2020)


hemeac

Next Round  

254 members have voted

  1. 1. Next Round

    • Bluedog Design Bureau
      142
    • reDirect/Habtech 2/Shuttle Orbiter Construction Kit
      37
    • B9/B9 Legacy
      20
    • Explore Custom Contracts (possibly JNSQ scale?)
      44
    • Something Else (Leave Comment)
      11


Recommended Posts

40Dyh8H.png

A "Probes/Planes Before Crew" type overhaul of the Tech Tree inspired by Zee's PBC Mod and Spink Akron/theonegalen's UnKerballed Start. It builds on that concept by further providing an upgrade path (via B9PS or the stock upgrade system when B9 is not available) for many of the parts, such as decreased dry mass, increased thrust/efficiency, or improved SAS levels. I attempt to balance the improvements by having the upgrades come with an increased cost and come later in the tech tree. This should leave a choice between getting upgraded tech at a slightly lower cost first. I am mostly testing this in 1.9.1 with limited testing in 1.10.1, but the new 1.10.1 parts should be in the correct nodes.

Download (Github) (Spacedock)

Dependencies (Not Included)

Support on Discord

Recommended Mods (with custom configs in KTT)

  • BetterSRBs
    • Better SRBs is how KTT is handling the "upgrades" for SRBs. I also modify SRBs from mods not directly supported in Better SRBs custom configs if BetterSRBs is present.
  • Custom Barn Kit
    • Increases the initial number of parts for the VAB and SPH to be 46 as I did not want part counts to be as binding as a game mechanic. If JNSQ or Sigma Dimensions is detected, will increase the part count limits to 72 to help offset the availability of only smaller fuel tanks in the beginning of the tech tree.
  • Engine Ignitor Reignited
    • Provides a new gameplay challenge to consider how to best balance engine burns alongside limited ignitions
  • Kerbal Construction Time
    • It is hard to argue that this mod should not be part of any game. The costs reflected in the engines and structural part upgrades are intended to have trade-offs through the increased construction time of your craft, thus balancing deltaV versus the time it takes to construct the vessel and completing contracts quickly.
  • Rational Resources
    • Rational Resources implements some cold gas RCS modes into stock, ReStock+ and NF RCS blocks. I've added upgrades to these parts and this will be how KTT handles RCS upgrades. Be aware that this mod changes the distribution of planet resources and ISRU chains!
  • Science Param Editor
    • Support for Stock; GPP, GEP, OPM; and MPE.

Recommended Mods with Compatibility via Mod

  • KSP Interstellar Extended
    • KSPIE extends the late end of the tree by providing new parts and new game mechanics to KSP.  @FreeThinker is providing compatibility with KTT via KSP Interstellar itself and has a plugin to help transition players currently using another tree.  KSPIE will generally have the final say on part placements and game mechanics to maintain balance for KSPIE.  The 2.0 version of KTT will formally adapt the late end of the tech tree used by KSPIE as well as color-coding part upgrades.

Other Recommended Mods

Videos

  Reveal hidden contents

Objectives

  Reveal hidden contents

General Gameplay Changes

  Reveal hidden contents

Kerbalism 3.11 Compliant

  Reveal hidden contents

Current Supported Mods (see Github for Details):

  Reveal hidden contents

Roadmap

  Reveal hidden contents

Known/Likely Issues

  Reveal hidden contents

Special Notes about Tweak Scale and Kerbal Research and Development

  Reveal hidden contents

Changelog

  Reveal hidden contents

Disclaimer

This mod has not been endorsed by _Zee, Spink Akron, Nertea, Well or any other mod/part creator referenced in the config files. All errors are my own. Please do not hassle mod authors if these configurations cause conflicts with their mods.

Special Thanks

Thanks to @Nertea, @JadeOfMaar, & @OhioBob  as well as every single asset creator and mod creator for providing some great advice and very good examples of MM modules to learn how to script for KSP and gameplay enhancements  that have made this mod possible.  Also thanks to @Clamp-o-Tron for the final push to publicly release this on the forums.

License

Copyright (c) 2020, Hemeac

Kiwi Aeronautics is copyrighted by Hemeac. All rights reserved. Please rename any public distributed fork of this project to exclude references to "Kiwi Aeronautics" if you plan to redistribute a variant of this project on a Kerbal Space Program related website.

Configuration Files are distributed under a MIT License.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Additional Licenses and attributions:

Core tech tree configuration files are based on files originally created by _Zee and redistributed under the same MIT license. Additional config files are likely to be influenced by their respective mod creators and the respective licenses of the config files are noted within the mod files within each subfolder in GameData\KiwiTechTree\Configurations\Mods. While some mods have no derivative requirements, I have not bundled code from those mods. Any mod author who would like me to remove a configuration for their mod, please get in touch irrespective of your mods license requirements.

Some icons from Community Tech Tree by Nertea were modified bundled in this mod. They are licensed under Creative Commons Attribution-NonCommercial 4.0.

Additional icons used within the tech tree were modified from icons sourced from flaticon.com and thenounproject.com. I purchased these as a premium member of these services. Please check the licensing terms of these websites prior to any redistribution to ensure you remain in compliance with their terms.

Edited by hemeac
Link to comment
Share on other sites

@hemeac I went ahead and booted it up on a clean install, and got many (bad) B9 and MM errors. I suspect it has to do with referencing non-existent tank types that aren't present in just stock.

Logs:

https://www.dropbox.com/s/bmah7058kc0qfjw/KSP.log?dl=0

GameData:

https://www.dropbox.com/s/o2cf2f6dazhk0pm/gameData.png?dl=0

Link to comment
Share on other sites

Kiwi Tech Tree 0.9.5 (Github)

  • Added some general engine upgrade patches that are selected through tagging for improved workflow
  • Changed order of some solid rocket boosters in Knes and Stock
    Following fixed thanks to @Clamp-o-Tron
  • Added check for fuel tank upgrades to apply only if fuel is present
  • Removed redundant patch in CryoTanks patch which was incorrectly triggering zzz_CryoTanks pass
  • Fixed Incorrect NEEDS on SRB PARTUPGRADE node
  • Fixed upgrade for Twin-Boar upgrade
  • Generalized B9 Module Identifier for engine model switch which prevents errors when RealPlume is not installed
Link to comment
Share on other sites

Thanks for the engine ignitor configs, Kerbalism has its own version, but will be great for those not using Kerbalism.  I just pushed an update that adds support for CRE Stockalike British Rocketry and had redone CryoEngines as those are showcasing the "latest and greatest" code for adding the standard upgrades to engines and structural parts. Based off some feedback from a Github user who thought perhaps the upgrade multipliers should be a bit lower, my plan is to add a global config that allows the user to set those values, thus players will be less dependent on what I think are good values.  That should be ready by the weekend.

Very happy if you want to tackle BDB.  I was still very much undecided about how to tackle the engine variants in BDB and BDB in general as it is a pretty unique mod in terms of the design scope.  Was waiting for inspiration on whether the engines should or should not fit into the upgrade system that I implemented here.   Happy for you to make that decision.

Link to comment
Share on other sites

  On 10/29/2020 at 9:41 PM, hemeac said:

Thanks for the engine ignitor configs, Kerbalism has its own version, but will be great for those not using Kerbalism.  I just pushed an update that adds support for CRE Stockalike British Rocketry and had redone CryoEngines as those are showcasing the "latest and greatest" code for adding the standard upgrades to engines and structural parts. Based off some feedback from a Github user who thought perhaps the upgrade multipliers should be a bit lower, my plan is to add a global config that allows the user to set those values, thus players will be less dependent on what I think are good values.  That should be ready by the weekend.

Very happy if you want to tackle BDB.  I was still very much undecided about how to tackle the engine variants in BDB and BDB in general as it is a pretty unique mod in terms of the design scope.  Was waiting for inspiration on whether the engines should or should not fit into the upgrade system that I implemented here.   Happy for you to make that decision.

Expand  

I know about the kerbalism ignitions, it's just that it doesn't have ullage, which IMHO is the best part of the mod. They coexist very well if both installed :)

Yeah, BDB is massive. I'm going to let the historical variants stay, with no upgrades to engines (except for CH4 variants of LH2 engines with the same stats), and composite tanks only where it makes sense (I.E. no Atlas, which already uses balloon tanks).

On another note, do you have something changing the tanks from MAH to CH4, especially the ascent stage? I've converted the ascent engine for Leonidas, but the tanks right now are actually just "Dumpling" tanks clipped inside it, which is not enough for ascent to Munar orbit.

Link to comment
Share on other sites

  On 10/29/2020 at 9:48 PM, Clamp-o-Tron said:

I know about the kerbalism ignitions, it's just that it doesn't have ullage, which IMHO is the best part of the mod. They coexist very well if both installed :)

Yeah, BDB is massive. I'm going to let the historical variants stay, with no upgrades to engines (except for CH4 variants of LH2 engines with the same stats), and composite tanks only where it makes sense (I.E. no Atlas, which already uses balloon tanks).

On another note, do you have something changing the tanks from MAH to CH4, especially the ascent stage? I've converted the ascent engine for Leonidas, but the tanks right now are actually just "Dumpling" tanks clipped inside it, which is not enough for ascent to Munar orbit.

Expand  

They were converted to Hydrolox/Methalox engines for reasons that I don't recall (perhaps it was in the description of the part that I decided to convert).  I think I can add the LF/O variant back when CryoEngines is installed to give it balance.  Do you still need the MAH RL-10 to have it's high ISP?

I will also add in a condition to my version of the CryoTank Switcher patch to not run  if a variable in the part is set so then the standard cryotank patch should run for those cases.  

Edited by hemeac
Link to comment
Share on other sites

  On 10/29/2020 at 9:59 PM, hemeac said:

They were converted to Hydrolox/Methalox engines for reasons that I don't recall (perhaps it was in the description of the part that I decided to convert).  I think I can add the LF/O variant back when CryoEngines is installed to give it balance.  Do you still need the MAH RL-10 to have it's high ISP?

I will also add in a condition to my version of the CryoTank Switcher patch to not run  if a variable in the part is set so then the standard cryotank patch should run for those cases.  

Expand  

Sorry, I wrote ambiguously. I'm great with the engine fuel switch, but I was wondering if the ascent stage tanks added a methane option to support those engines? Even directly patching it didn't really work when I was without KTT.

Link to comment
Share on other sites

  On 10/29/2020 at 10:08 PM, Clamp-o-Tron said:

Sorry, I wrote ambiguously. I'm great with the engine fuel switch, but I was wondering if the ascent stage tanks added a methane option to support those engines? Even directly patching it didn't really work when I was without KTT.

Expand  

My fuelswitch patch should add in methalox fuel if you have an empty folder called CryoTanksMethalox in your gamedata folder.  That is what Nertea uses in his patch to decide whether to add methalox tank variants, so I stuck to the  same convention for the engines and tanks.  Did a quick check and it does apply to both the ascent and descent stages of MAH.

Edited by hemeac
Link to comment
Share on other sites

  On 10/30/2020 at 4:13 PM, Beetlecat said:

Spectacular!

I'm really intrigued by many of your tweaks and adjustments, only a potential addition of BDB would keep me from feeling like you've developed a holy grail of tech trees. :D

Expand  

Thanks! @Clamp-o-Tron has volunteered for BDB.  Don't envy that task, BDB is a constantly evolving mod :-)

Just a quick general update.  Have been working on some behind-the-scenes work to make the workflow faster in the long-run by standardizing some of the upgrades.  This is due to some feedback from github user T10a who suggested some of the hydrolox upgrade values were a bit too high.  I am generally ok with them at the moment, BUT thought it was an opportunity to allow users flexibility in making that choice for themselves.

The general config framework (this extends further, so just an illustration):

KIWI_ENGINE_MULTIPLIERS
{
	KEROLOX // This is for standard and Aerospike LF/O Fuel Engines
	{
		THRUST_MULTIPLIER = 1.2 // This gives the engine 20% additional thrust when upgraded.
		ISP_MULTIPLIER = 1.1 // This gives the engine 10% higher specific impulse when upgraded.
		
		UPGRADE_ENTRYCOST_MULTIPLIER = 1.5 // This is the cost multiplier for the upgrade relative to the original entry cost of the part.
		UPGRADE_COST_MULTIPLIER = 0.5 // This is additive, so upgrades engines cost 50% more than baseline
		UPGRADE_MASS_MULTIPLIER = 0.1 // This is additive, so upgrades engines have 10% more mass than baseline		
	}
	
	// Kerbal Atomics adds a dual-mode for NERV, but I will not separate out the multipliers
	NUCLEAR // This is for standard NERV Nuclear Engines
	{
		THRUST_MULTIPLIER = 1.2 // This gives the engine 20% additional thrust when upgraded.
		ISP_MULTIPLIER = 1.1 // This gives the engine 10% higher specific impulse when upgraded.
		
		UPGRADE_ENTRYCOST_MULTIPLIER = 1.5 // This is the cost multiplier for the upgrade relative to the original entry cost of the part.
		UPGRADE_COST_MULTIPLIER = 0.5 // This is additive, so upgrades engines cost 50% more than baseline
		UPGRADE_MASS_MULTIPLIER = 0.1 // This is additive, so upgrades engines have 10% more mass than baseline		
	}
}

We tag engines that will get an upgrade:

@PART[liquidEngine3_v2]:FOR[KiwiTechTree] // LV-9090 "Terrier"
{
	@TechRequired = advRocketry
	@entryCost = 5000
	@cost = 750
	engineUpgradeType = standardLFO
	engineNumber = 909
	engineNumberUpgrade = 969
	engineName = Terrier
	engineNameUpgrade = Maltese
	enginePartUpgradeName = terrierUpgrade
}

And a later pass applies those values into a B9 Part Switch:

// Standard LFO Engine Upgrade
@PART[*]:HAS[#engineUpgradeType[standardLFO]]:FOR[zzKiwiTechTree]
{	
	// Add these here without % or @ so they can be manually overriden by individual parts if required
	thrustMultiplierConfig = #$@KIWI_ENGINE_MULTIPLIERS/KEROLOX/THRUST_MULTIPLIER$
	ispMultiplierConfig = #$@KIWI_ENGINE_MULTIPLIERS/KEROLOX/ISP_MULTIPLIER$
	costMultiplierConfig = #$@KIWI_ENGINE_MULTIPLIERS/KEROLOX/UPGRADE_COST_MULTIPLIER$
	massMultiplierConfig = #$@KIWI_ENGINE_MULTIPLIERS/KEROLOX/UPGRADE_MASS_MULTIPLIER$
...
}

I've pushed an update to Github which has applied this to Stock + AirplanePlus.  Will be going through and adding this framework the supported mods over the next week or so to allow more consistency in the experience.

Link to comment
Share on other sites

K2QoGaW.png

I've added some patches that add in the tech tree node that the upgrades are located in.  Think this is a bit easier to use than the generic "This part has upgrades!" text currently.  I do not think I am able to pull in the title of the tech tree nodes using MM patching without hard coding in the locations of the upgrades.  Think this hits a good enough balance.

Link to comment
Share on other sites

Kiwi Tech Tree 0.9.7 (Github)

  • General Upgrade System framework implemented; supported configs will now indicate the location of the part or system upgrade (in the majority of cases).
  • Upgrade for parts updated in about 1/3 of supported mods
  • Engine Ignitor Configs courtesy of @Clamp-o-Tron
  • Bug fixes for BDB and Kerbalism (BDB does not have support in the tech tree, it just will not currently cause errors due to patches with KTT; note that there are still errors arising from issues between BDB and Kerbalism)

 This was a fairly large update to add some general upgrade templates to KTT.  They have been applied to some, but not all mods.  Just wanted to see if they would cause conflicts with any setups before continuing to push too far ahead, so if you test this, please let me know with any log files and mod list to help narrow down issues.

One known issue is an issue that nuclear engines are not able to show vacuum stats within B9 detailed description.  I do not know why they are failing in those engines and just those values.  The issue does not appear to be impacting the engine performance itself. I have placed some placeholder text in the B9 description so you should not experience MM errors.  If you are an expert in MM syntax and have some time to help diagnose, would love to hear from you.

There were some files that were deleted from the last release due to changes in the patches, so please delete the entire folder if you are re-installing.

Edited by hemeac
Link to comment
Share on other sites

Kiwi Tech Tree 1.0.0 Release Candidate 1 (Github)

 

  • Completed structured upgrades for parts for supported mods
  • Added location of upgrades for parts for easier navigation of tree
  • Add parts and support for new KSP 1.10 Parts (Only light testing done)
  • Add support for mods with updates that have added/changed parts: Rational Resources, Mk1 Stockalike Open Cockpit

I'll be testing the release over the next few days and if I don't hear any game breaking reports or massive imbalances, will make this a proper release.  If you have any feedback, please let me know.

Link to comment
Share on other sites

@Cruesoe, Definitely let me know if you run into any issues with JNSQ.  Clamp-O-Tron and I have been talking about some ideas for creating a JNSQ-specific contract pack for a few sounding rockets and X-Plane style contracts, but I'll be working on getting some more mod support in first.

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