Jump to content

[1.3.0] Kerbalism v1.2.9


Recommended Posts

I finalized the pressure system. Some simplification was necessary at the end (most notably: no airlocks), but I'm satisfied with the result.

 

Habitat
Some parts, including all crewable ones, have an Habitat module. This module calculate volume and surface of the part (can be overridden in config node). These values are then used to add capacity for Shielding (from surface), Atmosphere (from volume) and WasteAtmosphere (again from volume).

Atmosphere and WasteAtmosphere
These are two hidden pseudo-resources used internally by the pressure system. You don't see them, you don't tweak them. They are an implementation detail.

Processes
A process is like a ModuleResourceConverter, but operate very fast at the vessel level (while still being controlled per-part). They are not specific for the pressure system, but some processes are used by it so that's why I mention them here.

Pressure Control
This is a process that consume Nitrogen and produce Atmosphere. The end result is that it maintain pressure at 1 atmosphere, when active and if it has enough capacity to do it.

Leaks
This is another process, that can't be turned off or controlled by the user. It consume Atmosphere in proportion to the vessel surface. The end result is that atmosphere slowly leak out of the vessel.

Breathing
This is the old oxygen-related rule. For each kerbal, it consume Oxygen and produce WasteAtmosphere. In some experiments it was consuming Atmosphere (that was produced by Oxygen and not Nitrogen) but now it is back at consuming Oxygen directly and the reason is that pressure is optional: more on this later.

Scrubber
The scrubber is another process that consume WasteAtmosphere and produce CarbonDioxide (that is dumped overboard with no storage capacity). The end result is that WasteAtmosphere slowly accumulate unless there is a scrubber active and with enough capacity.

The effect of no pressurization
Pressurization is optional in a vessel: without it, Kerbals just use their suits. This has a big effect on quality of life. So to summarize: pressurization is not required for the Kerbals to breath, but it is pretty much required if you want to keep them out there for more than a month.

The effect of no scrubbing
Scrubbing instead is not optional at all. If the WasteAtmosphere level reach 4% they will be breathing co2 and dying shortly afterward.

In the planner
All of this is exposed in the planner, and can to a large extend be controlled in the VAB. There is a new 'habitat' panel and the 'quality of life' one include some details on the effect of pressurization.

Inflatable habitats
An 'inflate' animation can be specified and will be driven by the part pressure automatically. So to inflate an habitat you now need pressure control and nitrogen. Unfortunately I don't have any inflatable hab parts, but it is trivial to make patches for the ones that are around.

Enabling/Disabling habitats
Habitats can be disabled (if not manned) and re-enabled. Transfering a crew inside a disabled hab will automatically re-enable it. This also work in the VAB. You disable habitats to choose a subset of the vessel to be active in regards to shielding, living space and pressure calculations. For pressure, disabling an habitat will vent the atmosphere out (to the rest of the vessel) and enabling it will equalize the pressure with the rest of the vessel before enabling it. It sound complex but the user is just clicking one button and all the rest happen automatically.

 

I'm sure I forgot something, but this is all for now. 

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

Some questions for people with the ' no-EC-burn-death-timewarp bug', as it has been called. Please answer all the questions or else it will be useless.

  • are you using the BackgroundProcessing mod?
  • does the vessel have Labs?
  • does the vessel have fixed panels?
  • are there EC consumers/producers provided by other mods on the vessel in question?
  • is the log being spammed by exceptions when the vessel is unloaded? press ALT+F2 to see the log in-game, exceptions are red
  • BackgroundProcessing: No.
  • Labs: Yes, stock or from Planetary Bases
  • Fixed panels: Yes, but mostly orienting panels
  • EC consumers/producers from other modes: No.
  • Log exceptions: can't tell - Steam just force-updated me to 1.2 :(
Link to post
Share on other sites

The new profile system grown from the previous one, trying to address some of the weakness (such as how an user specify the profile) and making things more flexible (such as the modifiers).

Modifiers
Modifiers influence rules and processes, and so should be explained first. Some have changed, others have been added. Most importantly, now it is possible to use the name of a resource as a modifier, and the amount of that resource in the vessel provide the value. This is very powerful, and is used extensively by the processes. Note that they can be combined together.

Untitled.png

 

Profile
A profile is a set of Supply, Rule and Process specifications. Multiple profiles can coexist in the same installation, but only one is choosen by the player in Settings.

Profile
{
  name = default

  ...supplies...
  ...rules...
  ...processes...
}

Kerbalism
{
  ...
  Profile = default 	// profile used
}

 

Supply
This specify some resource that should be added to manned pods, eva kerbals and resque missions. It also enable the resource level warnings, include the resource in the supply icon in the monitor and finally add a panel to the planner about that resource.

Supply
{
  resource = ElectricCharge    
  on_pod = 50.0
  on_eva = 20.0
  on_resque = 250.0
  low_message = ...
  empty_message = ...
  refill_message = ...
}

 

Rule
This specify what happen to the kerbals, what resource they consume, etc. It is almost unchanged from the previous version, except that supply is now separed from it.

Rule
{
  name = stress
  degeneration = 0.00000086805
  variance = 0.33
  modifier = living_space,comfort,pressurized
  breakdown = true
  warning_message = ...
  danger_message = ...
  relax_message = ...
}

 

Process
This is new. A process is something that should happen at the vessel level, driven by modifiers. Most processes in the default profile use amount of some pseudo-resource as a modifier.

Process
{
  name = water recycler
  modifier = _WaterRecycler
  input = [email protected]
  input = [email protected]
  output = [email protected]
  output = [email protected]
}

Process
{
  name = atmo leaks
  modifier = surface
  input = [email protected]
}

 

ProcessController
This is a simple module that does only one thing: show a 'start {process name}' button in the RMB ui, and set some resource flow state when the user click it. This has the effect in practice of controlling a process driven by resource modifier, per-part. It also add the resource automatically, so who is interested in using these only need to add a module and that's it.

MODULE
{
  name = ProcessController
  resource = _PressureControl
  title = Pressure control
  capacity = 1
}

 

Link to post
Share on other sites
23 hours ago, ShotgunNinja said:

Some questions for people with the ' no-EC-burn-death-timewarp bug', as it has been called. Please answer all the questions or else it will be useless.

  • are you using the BackgroundProcessing mod?
  • does the vessel have Labs?
  • does the vessel have fixed panels?
  • are there EC consumers/producers provided by other mods on the vessel in question?
  • is the log being spammed by exceptions when the vessel is unloaded? press ALT+F2 to see the log in-game, exceptions are red

1. No

2. Yes, one science lab

3. Mostly fixed panels with some orientable

4. No

5. I didn't see any errors in the log, but I didn't get the error today. I tried 7 or 8 times going high warp, but it's always been an inconsistent thing.

Link to post
Share on other sites
49 minutes ago, bpilgrim said:

1. No

2. Yes, one science lab

3. Mostly fixed panels with some orientable

4. No

5. I didn't see any errors in the log, but I didn't get the error today. I tried 7 or 8 times going high warp, but it's always been an inconsistent thing.

I had the same bug happen last time i tried kerbalism (in 1.1.3) same situation. But with a greenhouse(at full lighting) in addition to the lab. the vessel was mostly stable up to the 3rd highest timewarp. Power generation was more than adequate(many mostly orientable panels). No errors in the log either. Got the "kerbal burned up" message during high timewarp.

Link to post
Share on other sites

Ok guys thanks for the replies. On 3 people, all of them had a Lab on the vessel. That being a big consumer (5EC/s), I think to know what's happening. It is a very subtle problem in how the resource cache interact with the analytical sunlight approximation at the highest timewarp speed, and that's why it only happen at that point. It will happen with any big EC consumer that's supplied by solar panels almost exclusively. On the curiousity side, it will not happen when there is only one vessel in the savegame.

Good thing is the fix is very easy and I'll include it in next version.

To confirm what I'm saying, it would be helpful if somebody with the issue would do the following test:

  • make a copy of the save that show the issue, and load it in the game
  • recover/terminate all vessels except the one with the issue
  • at this point you should not be able to reproduce the problem

Let me know, and thanks again for invaluable feedback :)

Link to post
Share on other sites
8 hours ago, The Raging Sandwich said:

I'm going to have to get this sometime. Looks great! :)

It is great. It's a wonderful challenge in my opinion. I'm curently trying to design a mothership that can make Jool and back with six kerbals. I have Deep Freeze as well but I like the idea of using that as a backup plan and keeping them awake for the trip. :) I'm curently working on finding the right balance between greenhouses and food containers for this thing.

Link to post
Share on other sites

How I understand it from the OP: There's a possibility to disable some of the mechanics. So, if for example all I want to care about is Food and Climate Control, I should be able to edit a few text files and disable the things I don't want to deal with. Is that correct?

Link to post
Share on other sites

I've got the shielding maxed on all pods in the ship (KIS ARRAKIS left Kerbin before active shield tech was available, besides active shielding, ie generating magnetic bubble around ship should only help against external sources of radiation, not internal), and still Kerbals are soaking up those rads :( They just made it to Duna and now have 6 or 8 '=' for radiation in the monitor. I'm afraid they won't have enough time to make it home.

 

Are any real live techniques like maximizing distance between engine and crew quarters, using water ballast and fuel to shield the crew applicable or are they all conceptualized as this 'shielding' pseudo-resource? :confused:

Link to post
Share on other sites

@ThatPilot Both the active shield and the nuclear engines are Emitters, and are evalued at the same time. This means that the active shield will shield ratiation from the nuclear engine. However maybe in your case is just a question of balancing. I admit the emitters weren't balanced extensively, I'll take a look at it.

Anyway in the meantime you can go in Settings.cfg and set ShieldingEfficiency a bit higher. Setting it to 0.95 will double the shielding effect, to 0.99 will multiply it by a factor of 10, and to 1.0 will make shielding block all radiation.

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

Anyway in the meantime you can go in Settings.cfg and set ShieldingEfficiency a bit higher. Setting it to 0.95 will double the shielding effect, to 0.99 will multiply it by a factor of 10, and to 1.0 will make shielding block all radiation.

Thanks for a suggestion! I will check out ShieldingEfficiency. 1.0 seems too cheaty but I will find some good compromise. And note for future designs, the fewer nukes, the better.

 

Side notes, what equations you based the radiation/shielding mechanic on? It looks like logaritmic scale to me :wink:

Link to post
Share on other sites
3 hours ago, ThatPilot said:

Side notes, what equations you based the radiation/shielding mechanic on? It looks like logaritmic scale to me :wink:

For some point, the body chain is evalued starting from the bottom and all radiation values from the zone the point resides in (for each body) is summed. Then the emitters in the vessel are summed to this value. Then if there is a storm that's summed too, if not inside a magnetopause and if exposed to the sun. This value is then called 'environment radiation'.

For shielding, the level of the pseudo-resource in a vessel is measured: that being, amount versus capacity. So it is a value in [0..1] range. That value is scaled with Settings.ShieldingEfficiency and the result is what I call 'the shielding factor'. The final radiation hitting a Kerbal inside a vessel is then:

final_radiation = environment_radiation * (1.0 - shielding_level)

 

Link to post
Share on other sites

It would be nifty to have a 1/r2 law governing radiation exposure from on-board generators like NERVs so you could put them at the end of a long truss segment to mitigate their effects. I've seen people self-impose this sort of thing when playing without this mod. I really appreciate mechanics that let you solve problems with better vessel design rather than slapping a part on (i.e. active shield).

Link to post
Share on other sites

i know its unfriendly to ask but... what do you think how long do you need for an dev build?

I have a lot of time so if u need a tester i have time for that, but my knowledge is sufficient about coding and scripting.

Edited by Schtiebuu
Link to post
Share on other sites

This is so nice and so complex mod - it just can't go without some bugs. So I'm desperately waiting for a new release cause the ' no-EC-burn-death-timewarp bug ' makes gameplay too much challenging as my kerbals goes interplanetary. :(

Anyway, thanks for a good work and so many fun features!
 

Link to post
Share on other sites

Cosmic radiation and nuclear reactor radiation are two different things. Cosmic radiation are mainly protons and alpha radiation and best protection are atoms smallest atomic nucleus, eg. liquid hydrogen, or water. They are electrically charged, so they react to electromagnetic fields, and we can use active shielding against them. Nuclear reactor emits mainly gamma radiation, which is best shielded by atoms with biggest atomic nucleus, eg. lead. No active shielding can help against gamma radiation. So when you make shielding for the crew, you can use water containers, or fuel tanks with liquid hydrogen for shielding against cosmic radiation. LH2 is also light, so if you have available liquid hydrogen (requires some mods) it shouldn't be a problem to make some habitation element with fuel tanks with LH2 around it, but for protection against nuclear reactors radiation this won't help. I hope kerbalism mod will have some lead shields for protection against gamma rays.

Edited by raptor_xxl
Link to post
Share on other sites

@raptor_xxl Everything here is an approximation. The active shield is more of a curiosity: it was very easy to hack it together on top of the emitter system as a negative emitter, and I had a part to reuse for it. And there is a shielding material, called not surprisingly 'Shielding', that you can add to manned parts. I assume it to be lead in fact.

 

 

@Schtiebuu How long before next release? It will take from now up until it is done, no more, no less :sticktongue:. Please be patient.

 

@podbaydoor Emitter/receiver positions and perhaps occlusion can be implemented in future, what's there now is probably just a start. Eventually, things improve with time. Now I'm focusing on other issues, a lot of them. The active shield is at the end of the tech tree, so is not like you can 'slap it and forget about radiation' for most of the game. And even at that point is balanced to be useful only against 'cosmic-level' of radiation, and pretty much useless with storms and the rest.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...