Jump to content

[1.3.0] Kerbalism v1.2.9


ShotgunNinja

Recommended Posts

5 hours ago, ShotgunNinja said:

@Arivald Ha'gel To reproduce without Kerbalism:

  • remove the Kerbalism directory from GameData
  • start the game, load savegame named 'before'
  • hit ALT+F2
  • see the streams of NaN exceptions in the log window

Now that I think of it, maybe you can use ExceptionDetector (a mod) to see what mod is throwing those exceptions.

I see many ArgumentOutOfRangeExceptions when I remove Kerbalism completely:
[EXC 23:34:02.138] ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
    System.Collections.Generic.List`1[WhitecatIndustries.ModuleOrbitalDecay].get_Item (Int32 index)
    System.Linq.Enumerable.ElementAt[ModuleOrbitalDecay] (IEnumerable`1 source, Int32 index)
    WhitecatIndustries.VesselData.FetchFuelLost ()
    WhitecatIndustries.DecayManager.FixedUpdate ()

So I removed OrbitalDecay and reinstated Kerbalism, loded "before" savegame and guess what: Still the same problem with NaN Electricity and Oxygen. 100% reproducibility. So it's not OrbitalDecay.

I'll repeat once again. When I remove Kerbalism.dlls, there are no problems with NaN electricity/Oxygen. There seems however to be other repercussions of Kerbalism removal.

 

Edited by Arivald Ha'gel
Link to comment
Share on other sites

Thanks guys :)

The computation cost of evaluating those signed distance fields is not that much more than, say, evaluating the signed distance from a sphere. Also in the new architecture these functions are called once per step, in total. So the cost of the new model is negligible.

For the rendering instead, there is a cost that I'm trying to minimize. Those images are using 100k particles and right now the bottleneck isn't the GPU (that can handle more) but stupid Unity math library. So I'm going to move all those vertex computations on the GPU with a custom shader.

Then there is some kind of 'particle-fitting' algorithm I'm using that is relatively costly but is only executed once at program start.

Link to comment
Share on other sites

13 hours ago, ShotgunNinja said:

@brusura Seem they are just using ModuleResourceConverter. If that is the case, they should work both in planner and be simulated in background.

I figured out the problem. I'll try to explain, maybe this is standard stock mechanic wich I did not know, maybe it could be usefull for someone:

My configuration is 3 reactors, 4 drills and 1 converter , all tanks are full this is important ( ore, Lf+Ox , monoprop )

While in background simulation everything is considered to work at max capacity even if the tanks are full:

3x Reactors = +90 EC/S

4x Drills = -60 EC/s

1x Conv = -30 EC/s x conversion ( ie. monoprop and Lf+Ox = -60 EC/s )

Since I left the drills on and Lf+Ox and Monoprop conversion on I was draining -30 EC/s , this was not happening with base focused because while NOT in background the simulation work as intendend if the tanks are full the drills will not mine more ore, if the monoprop is full the converter will not produce it anymore and so will cosume less EC/s ( none because in this case tanks are full )

Dunno if the background simulation could be adjust to consider this.

 

Edited by brusura
Link to comment
Share on other sites

13 hours ago, ShotgunNinja said:

[...]

For the rendering instead, there is a cost that I'm trying to minimize. Those images are using 100k particles and right now the bottleneck isn't the GPU (that can handle more) but stupid Unity math library. So I'm going to move all those vertex computations on the GPU with a custom shader.

Then there is some kind of 'particle-fitting' algorithm I'm using that is relatively costly but is only executed once at program start.

What if you drew only the contour? Would it be easier (or lighter on resources)?

Link to comment
Share on other sites

@jlcarneiro Well actually I am drawing only the borders. Tried with the full volume, but the view is confusing. I found out that is quite tricky to show clearly these kind of complex surfaces. The particle on the border method is the best graphically, show the shape clearly and is faster. Also I'm going to optimize the hell out of it, and a quality setting will be available.

 

Now, I'm working how a magnetic field environment of a planet influence its moons. Was reading about Jupiter and it get unconfortably complex. On the other side, the current model is bland and lack deep, as the field stop before the first moon. So I'm thinking of having the fields naturally extend, and if they encompass a moon (without its own field) then the moon get the conditions of the parent body.

Here is Jool for now, consider it is still a work in progress. The inner belt (modeled after the real one)

screenshot0.pngscreenshot4.png

 

the outer belt: Laythe and Val in the safe zone, Tylo in the belt for half its orbit

screenshot1.pngscreenshot3.png

 

the magnetopause, containing Bop and Pol for part of their orbits, and extending far outward (but nowere near reality, Jupiter one almost reach Saturn orbit)

screenshot2.pngscreenshot5.png

Link to comment
Share on other sites

Before I set up a full mod-set to test this out, is there still a conflict with Real Fuels (Engine ignitor, etc)?  I saw only one mention of a possible conflict waaay back in May, before full Community Resource Pack integration.  

Edit:  NM!  I just saw the patch for Real Fuels. :)

Edited by autumnalequinox
Link to comment
Share on other sites

Somehow Kerbalism managed to 'lose' some of my vessels - oxygen and food was no longer being used up, signal was just non-present (but I could still control probes) leading me to suspect that for whatever reason, it wasn't getting applied on vessel load.  Furthermore, the monitor display only showed 4 vessels though I had more flying.

 

Reloading KSP in general fixed this so I am not too bothered about it, but if you want more details (I have a lot of mods running, and they change regularly) please let me know.

Edited by darloth
Link to comment
Share on other sites

Holy crap those magnetic fields are amazing.

I have some news from the Cryo thread.  It looks like EC should be constant:
 

On Monday, August 01, 2016 at 0:20 AM, Nertea said:

Ec usage is constant no matter what the amount in the tank is, so that's not a problem if I'm understanding you right. 

On Monday, August 01, 2016 at 4:20 PM, RzTen1 said:

Shouldn't this code segment cause the EC usage to vary depending on tank volume?
https://github.com/ChrisAdderley/CryoTanks/blob/master/Source/ModuleSimpleBoiloff.cs#L86
coolingCost = fuelAmount/1000.0 * CoolingCost;

9 hours ago, Nertea said:

That does seem to reveal a bug - that code is supposed to only run on OnStart to configure the total energy use. However it's supposed to operate on max fuel amount, not fuel amount. Good find. 

Edited by RzTen1
typo
Link to comment
Share on other sites

I wrote a config for the Engineering Tech Tree so that the module upgrades would occur coherently (it's like the CTT but everything is arranged totally differently).  It has many custom tech nodes.  So I wrote a .cfg and I want to make sure it will actually work??.  It is housed in the ETT patch folder along with other configs so it's rather simple.

//ETT Compatability by autumnalequinox

@ScrubberEfficiency
{
  tech0 = spaceExploration
  tech1 = simpleCommandModules
  tech2 = spaceStations
  tech3 = shortTermHabitation
}

@ManufacturingQuality
{
  tech0 = engineering101
  tech1 = experimentalScience
  tech2 = scienceTech
  tech3 = advScienceTech
}

@SignalProcessing
{
  tech0 = electronics
  tech1 = mechatronics
  tech2 = automation
}

Note:  I'm not sure if it works yet because I don't know if these can be targeted by MM the way I'm doing it.  

Edited by autumnalequinox
Link to comment
Share on other sites

@autumnalequinox Yes, you got exactly how it works :) They are ConfigNodes so MM will happily apply changes to them.

There is only a minor issue: you need to 'edit' the fields (because they already exist in the ConfigNode), so prepend '@' to all 'techX' like this:

@SignalProcessing
{
  @tech0 = electronics
  @tech1 = mechatronics
  @tech2 = automation
}

If you want, I can include it in next version.

Link to comment
Share on other sites

Just now, ShotgunNinja said:

@autumnalequinox Yes, you got exactly how it works :) They are ConfigNodes so MM will happily apply changes to them.

There is only a minor issue: you need to 'edit' the fields (because they already exist in the ConfigNode), so prepend '@' to all 'techX' like this:


@SignalProcessing
{
  @tech0 = electronics
  @tech1 = mechatronics
  @tech2 = automation
}

If you want, I can include it in next version.

Oh ok no wonder they didn't work!  Thanks.  Let me make sure it works first and I'd have no problem with that.  They were asking for one over on the ETT thread for some time now.

Link to comment
Share on other sites

Finally manage to properly export a model, had to use your large food container to take measures for da model (100% totally not because I was completely lost on how to create a config file for it and just changing the name of the model was easier)
 

Spoiler

 

screenshot41.png

screenshot42.png

 

Still gotta figure out the correct values for the bumpmap plus I was lazy and just stacked top and bottom at random on the UV map

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...