N70

[1.3.1/1.4.5] Kerbalism v1.7.1

Recommended Posts

Posted (edited)

Kerbalism is now BACK and ready for 1.4.x, despite ShotgunNinja's absence!

 

banner.png 

Version: 1.7.1.1 (KSP 1.4.x, KSP 1.3.1)
Downloads: spacedock, or ckan.

Development/Nightly downloads(probably unstable): github, travis builds
Source: github
DocumentationReadTheDocs
LicenseUnlicense
Requires: KSP 1.4.x, MM 3.0.6+, CommunityResourcePack 

Official Discord

 

NOTE: 1.4 versions will be treated with higher priority than the 1.3.1 backports

 

INTRODUCTION


Go beyond the routine of orbital mechanics and experience the full set of engineering challenges that space has to offer. This mod extend KSP by simulating the crew, the components, the resources and the environment in a more complex way. All mechanics can be configured to some degree, or even disabled if you don't like some of them. A big part of the mod is fully data-driven, so that you can create your own customized gameplay with only a text editor and a minimal amount of espresso. Or simply use the set of rules already included, or the ones shared by other users. What follow is a summary description of the capabilities of the mod, and for a more detailed documentation the user is invited to read the wiki.
 

ARCHITECTURE


Contrary to popular belief, the observable universe is not a sphere of 3km radius centered around the active vessel. All mechanics are simulated for loaded and unloaded vessels alike, without exception. Acceptable performance was obtained by a mix of smart approximations and common sense. The computational complexity is by and large independent from the number of vessels.


RESOURCES


This isn't your classic post-facto resource simulation. Consumption and production work for all vessels, all the time, and is coherent irregardless of warp speed or storage capacity. Complex chains of transformations just work. Enjoy designing missions without the luxury of stopping the flow of time. No suspension of disbelief required.


ENVIRONMENT


The environment of space is modeled in a simple yet effective way. Temperature is calculated using the direct solar flux, the indirect solar flux bouncing off from celestial bodies, and the radiative infrared cooling of their surfaces. The simulation of the latter is especially interesting, and contrary to popular models it is able to reproduce satisfactory results for both atmospheric and atmosphere-less worlds. Radiation is implemented using an overlapping hierarchy of 3d zones, modelled and rendered using signed distance fields. These are used to simulate inner and outer belts, magnetosphere and even the heliopause. Solar weather is represented by Coronal Mass Ejection events, that happen sporadically, increase radiation and cause communication blackouts.


HABITAT


The habitat of vessels is modeled in terms of internal volume, external surface, and a set of dedicated pseudo-resources. These elements are then used to calculate such things as: living space per-capita, the pressure and co2 level of the internal atmosphere, and radiation shielding. Individual habitats can be enabled or disabled, in the editor and in flight, to reconfigure the internal space and everything associated with it during the mission. Inflatable habitats are driven directly by the part pressure.


BIOLOGICAL NEEDS


Your crew need a constant intake of Food, Water and Oxygen. Failure to provide for these needs will result in unceremonious death. Configurable supply containers are provided.


PSYCHOLOGICAL NEEDS


The era of tin can interplanetary travel is over. Your crew need some living space, however minimal. Failure to provide enough living space will result in unforeseen events in the vessel, the kind that happen when operators lose concentration. While not fatal directly, they often lead to fatal consequences later on. Some basic comforts can be provided to delay the inevitable mental breakdown. Nothing fancy, just things like windows to look out, antennas to call back home, or gravity rings to generate artificial gravity. Finally, recent research point out that living in a pressurized environment is vastly superior to living in a suit. So bring some Nitrogen to compensate for leaks and keep the internal atmosphere at an acceptable pressure.

 

ENVIRONMENT HAZARDS


Your crew evolved in particular conditions of temperature, and at a very low level of radiation. You should reproduce these conditions whenever your crew go, no matter the external temperature or radiation at that point. Or else death ensue. The vessel habitat can be climatized at the expense of ElectricCharge. Environment radiation can be shielded by applying material layers to the hull, with obvious longevity-mass trade-off.


ECLSS


A set of ECLSS components is available for installation in any pod. The scrubber for example, that must be used to keep the level of CO2 in the internal atmosphere below a threshold. Or the pressure control system, that can be used to maintain a comfortable atmospheric pressure inside the vessel. In general, if you ever heard of some kind of apparatus used by space agencies to keep the crew alive, you will find it in this mod.

 

GREENHOUSE


No life-support-like mod would be complete without a greenhouse of some kind. The one included in this mod has a relatively complete set of input resources and by-products, in addition to some more unique characteristics like a lamp that adapt consumption to natural lighting, emergency harvesting, pressure requirements and radiation tolerance.


ISRU


The stock ISRU converters can host a set of reality-inspired chemical processes. The emerging chains provide a flexible and at the same time challenging system to keep your crew alive. The stock ISRU harvesters functionality has been replaced with an equivalent one that is easier to plan against, as it is now vital for long-term manned missions. The means to harvest from atmospheres is also present, given the importance of atmospheric resources in this regard. A planetary resource distribution that mimic the real solar system complete the package.


RELIABILITY


Components don't last forever in the real world. This is modeled by a simple system that can trigger failures on arbitrary modules. Manufacturing quality can be chosen in the editor, per-component, and improve the MTBF but also require extra cost and mass. The crew can inspect and repair malfunctioned components. Redundancy become a key aspect of the design phase.


SIGNAL


An alternative to the stock CommNet system is provided. There's is a difference between low-gain and high-gain antennas: the former used for short-range inter-vessel communications, the latter always implicitly pointing at a DSN ground station. Transmission rates are realistic, and scale with distance to the point that it may take a long time to transmit data from the outer solar system. Data transmission happen transparently in loaded and unloaded vessels, as usual. The resulting communication system is simple, yet it also results in more realistic vessel and mission designs. Tiny hypnotic science-blue spheres travel the link lines to represent data transmission. 


SCIENCE


Data is collected and stored in the vessel solid state drives, instead of the stock science containers. Moving data around the vessel doesn't require extra vehicular activities. Some data can be transmitted back directly, while other data need to be analyzed in a lab first. Analyzing take a long time, happen transparently to loaded and unloaded vessels alike, and can't be cheated to create science out of thin air. An interesting method is used to bridge existing stock and third-party experiments to the new science system, that work for most experiments without requiring ad-hoc support.


AUTOMATION


Components can be automated using a minimalist scripting system, with a graphical editor. Scripts are triggered manually or by environmental conditions. You can create a script to turn on all the lights as soon as the Sun is not visible anymore, or retract all solar panels as soon as you enter an atmosphere.
 

USER INTERFACE


The UI provided by this mod took more than 5 minutes to write. A planner UI is available in the editor, to help the user design around all the new mechanics introduced. The planner analysis include resource estimates, habitat informations, redundancy analysis, connectivity simulation, multi-environment radiation details and more. To monitor the status of vessels, the monitor UI is also provided. This look like a simple list of vessels at first, but just click on it to discover an ingenuous little organizer that allow to watch vessel telemetry, control components, create scripts, manage your science data including transmission and analysis, and configure the alerts per-vessel.


MODULES EMULATION


Most stock modules and some third-party ones are emulated for what concerns the mechanics introduced by the mod. The level of support depend on the specific module, and may include: simulation of resource consumption and production in unloaded vessels, fixing of timewarp issues in loaded vessels, the ability to disable the module after malfunctions, and the means to start and stop the module in an automation script.


SUPPORTED MODS


Most mods work together with this one, others don't. Such is life. For a non-exaustive list of supported mods have a look inside the Support folder. Some of the interactions deserve a special mention:

SCANsat:
- sensors consume EC in background and their cost is evalued by the planner EC
- sensors are shut down and restarted in background depending on EC availability

DeepFreeze:
- all rules are suspended for hibernated Kerbals
- the vessel info window show frozen Kerbals with a different color

NearFuture:
- curved solar panels, reactors, fission generators and RTGs produce EC in background and are considered by the planner

PlanetaryBaseSystem:
- the coverters will work in background and are considered by the planner

OrbitalScience:
- experiments data size has been tweaked for background data transmission

OPM/RSS/SSRSS/QRSS/NewHorizons/GSPO:
- custom radiation definitions for these planet packs are provided


CONTRIBUTIONS


This project wouldn't have been possible without the contributions of an awesome community of people, too many to mention individually. Thanks guys.

And special thanks to the artists that provided all the part:

  • mehka: gravity ring
  • Nazari1382: geiger counter, small supply container
  • tygoo7: medium and big supply containers, radial pressurized container
  • zzz: greenhouse, active shield

And most importantly...

  • ShotgunNinja: Making the original mod!
     

FAQs


I may have found a bug

Try to reproduce it consistently, then provide me with a savegame that demonstrate the issue. Include log files, screenshots, and reproduction steps. Post the report here, or raise an issue on gitlab.


I want to add support for this to my parts

Add the appropriate modules to your parts. Check the wiki on github for the module specifications.


I want to interact with this mod in code

Have a look at System/API.cs source code on gitlab. Raise an issue to request more functions.


SCREENSHOTS


containers.pnggravity-ring.pnggreenhouse.png

radiation-fields-0.pngradiation-fields-2.pngradiation-fields-4.png

monitor.pngplanner.pngfileman_devman.png

 

DONATE


Don't donate to me, donate to a charity or non-profit organization instead.

EFF, ACLU, ASAN, ASPCA, or really anything here: https://www.charitywatch.org/top-rated-charities

 

This mod includes version checking using MiniAVC. If you opt-in, it will use the internet to check whether there is a new version available. Data is only read from the internet and no personal information is sent. For a more comprehensive version checking experience, please download the KSP-AVC Plugin.

Edited by N70
ksp 1.4.5
  • Like 30

Share this post


Link to post
Share on other sites

You're welcome.

Getting this to work on 1.4 was rather frustrating due to the combination of a Unity upgrade and shaders.

Share this post


Link to post
Share on other sites

You, Sir, revived my most favourite mod. This makes you my most favourite developer, or at least very close to that. Thank you.

Share this post


Link to post
Share on other sites
42 minutes ago, N70 said:

You're welcome.

Getting this to work on 1.4 was rather frustrating due to the combination of a Unity upgrade and shaders.

Thank you so much for upgrade  shaders!

Share this post


Link to post
Share on other sites

On a new KSP launch I got this one:

[ModuleManager] Error - more than one pass specifier on a node: Kerbalism/Support/ContractConfigurator/@CONTRACT_TYPE[*]:FOR[Kerbalism]:FINAL

 

Share this post


Link to post
Share on other sites

Woops! Will release a new version right now.

10 minutes ago, Gordon Dry said:

On a new KSP launch I got this one:

[ModuleManager] Error - more than one pass specifier on a node: Kerbalism/Support/ContractConfigurator/@CONTRACT_TYPE[*]:FOR[Kerbalism]:FINAL

 

1.3.0.1 is out on Spacedock, should fix all those errors

  • Like 1

Share this post


Link to post
Share on other sites

Yes, already launching, no errors so far :D

Share this post


Link to post
Share on other sites

Basically it seems the new MM can't have :FOR on the same line as :BEFORE, :AFTER, :FINAL, etc

Report any bugs you find, it worked for me when I hurled poor kerbals into a solar orbit with barely enough power.

Share this post


Link to post
Share on other sites

This is on CKAN now

  • Like 1

Share this post


Link to post
Share on other sites

4 Simple questions:

The settings only can be changed inside the settings.cfg?
Is it okay only to go back to main menu, change the settings and load the save again or do I have to restart KSP?
Wouldn't it be better if the settings.cfg is inside a PluginData folder?
Will there be a settings UI?

Share this post


Link to post
Share on other sites

Hey man,

Why does the new project import KSPAssets.dll?

I'm asking because I'll provide a couple of PR for you, then I created a fork to do it.

 

1 minute ago, Gordon Dry said:

4 Simple questions:

The settings only can be changed inside the settings.cfg?
Is it okay only to go back to main menu, change the settings and load the save again or do I have to restart KSP?
Wouldn't it be better if the settings.cfg is inside a PluginData folder?
Will there be a settings UI?

I think we can't add these setting on UI, because Kerbalism depend of MM.

MM add the Kerbalism modules (Antenna, Habitat, Greenhouse) only on Game Load.

This is my guess.

  • Like 1

Share this post


Link to post
Share on other sites

Another one:

Because Kerbalism disables the stock Comm Network, how about the functionality of

 

Share this post


Link to post
Share on other sites
42 minutes ago, HaullyGames said:

Hey man,

Why does the new project import KSPAssets.dll?

I'm asking because I'll provide a couple of PR for you, then I created a fork to do it.

 

I think we can't add these setting on UI, because Kerbalism depend of MM.

MM add the Kerbalism modules (Antenna, Habitat, Greenhouse) only on Game Load.

This is my guess.

No reason, I just clicked it just in case

33 minutes ago, Gordon Dry said:

Another one:

Because Kerbalism disables the stock Comm Network, how about the functionality of

 

You can disable Kerbalism's signal mechanic in the settings and enable commnet.

Share this post


Link to post
Share on other sites
33 minutes ago, Gordon Dry said:

Another one:

Because Kerbalism disables the stock Comm Network, how about the functionality of

 

The Kerbalism planner in the VAB tells you whether you'll be able to reach a given planet.  Also Kerbalism's range formula is just the range of the best antenna, as best I remember, so you don't really need a calculator.

Share this post


Link to post
Share on other sites

Also feel free to post suggestions as I have no life

  • Like 2

Share this post


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

Also feel free to post suggestions as I have no life

I will do it. :D

Share this post


Link to post
Share on other sites
Posted (edited)
1 minute ago, N70 said:

Also feel free to post suggestions as I have no life

Make this mod work with RSS:wink:

Edited by crapstar

Share this post


Link to post
Share on other sites
12 minutes ago, crapstar said:

Make this mod work with RSS:wink:

Guessing you mean add magnetosphere data for RSS planets? Ok, I'll try

20 minutes ago, crapstar said:

Make this mod work with RSS:wink:

Wait a second, I think there is already RSS support! I feel stupid

 

Share this post


Link to post
Share on other sites
7 minutes ago, N70 said:

Guessing you mean add magnetosphere data for RSS planets? Ok, I'll try

My version has a lot of changes, maybe you don't want to merge.

  • Lib.cs
    • Reorganized.
    • Add #IF DEBUG
    • Lib.GetShader still working as Shotgun version, files.shader was the only necessary change.
  • Background.cs
    • CryoTank has been fixed.
  • SSPX.cfg
    • Added support to Redux.
  • Habitat.cs
    • Inflate module has been fixed.
  • Setting.cfg
    • Add antennamodifier (This should be replace to a global modifier)
      • When the player is using RSS, need more antenna range, also the radiation level is to high.
  • Harvester.cs
    • The animation has been fixed.
      • The animation stop when vessel has no energy.
  • New Feature
    • AdvancedEC
      • Add energy cost to keep Antenna working, Extend\Retract parts ( Ladder, Gears, some Light that are missing, Drill, Some science modules)

I need to verify if has more changes.

  • Like 3

Share this post


Link to post
Share on other sites
20 minutes ago, HaullyGames said:

My version has a lot of changes, maybe you don't want to merge.

  • Lib.cs
    • Reorganized.
    • Add #IF DEBUG
    • Lib.GetShader still working as Shotgun version, files.shader was the only necessary change.
  • Background.cs
    • CryoTank has been fixed.
  • SSPX.cfg
    • Added support to Redux.
  • Habitat.cs
    • Inflate module has been fixed.
  • Setting.cfg
    • Add antennamodifier (This should be replace to a global modifier)
      • When the player is using RSS, need more antenna range, also the radiation level is to high.
  • Harvester.cs
    • The animation has been fixed.
      • The animation stop when vessel has no energy.
  • New Feature
    • AdvancedEC
      • Add energy cost to keep Antenna working, Extend\Retract parts ( Ladder, Gears, some Light that are missing, Drill, Some science modules)

I need to verify if has more changes.

Seems good to me, test it first

Share this post


Link to post
Share on other sites

Hoorah!  @N70 Thanks for update - I was really concerned that no-one was able (nor willing) to sort those shaders out.  And a shoutout to @HaullyGames for your work too!

Also, I'm assuming this was just a straight port with no new functionality at release?

N70, do you want to add the radiation regenerator config that was discussed in the original thread?

Now I can throw myself into 1.4.1 once I have finished my current assignment.

Peace.

Share this post


Link to post
Share on other sites
10 minutes ago, theJesuit said:

Hoorah!  @N70 Thanks for update - I was really concerned that no-one was able (nor willing) to sort those shaders out.  And a shoutout to @HaullyGames for your work too!

Also, I'm assuming this was just a straight port with no new functionality at release?

N70, do you want to add the radiation regenerator config that was discussed in the original thread?

Now I can throw myself into 1.4.1 once I have finished my current assignment.

Peace.

I did merge several PRs from shotgun's repo. Gameslinx support, KSPIE background support, more realistic regolith synthesis, etc

  • Like 5

Share this post


Link to post
Share on other sites
2 hours ago, N70 said:

Also feel free to post suggestions as I have no life

Kerbalism using stock communications system would be nice. There's nothing wrong with that.

  • Like 3

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