Jump to content

[0.90] Regolith - an open ISRU and Resource framework [0.1.7 - 2015.02.26]


RoverDude

Recommended Posts

I'm basically just asking if we're going to see massive knife-cut cliffs in the resource distribution on biome borders. It might end up looking quite absurd and out of place in some cases. Interpolation is maybe not easy to do (I'm an amateur at best when it comes to code), but I wanted to at least bring up the topic while the core systems are still pre-release, see whether you think it's an issue and stuff.

Yes, you will potentially see knife edges at a biome's edge. That being said, I don't see it as an issue tbh.

Link to comment
Share on other sites

It'd be nice to maintain the ORSX existence since ORS support in ScanSAT was removed but the CRP KSPI stuff makes it work again. Just saying...

When CRP transitions from PNG maps to Regolith resource definitions and SCANsat transitions to Regolith, the current release of the integration pack will become obsolete.

With the PNGs that I'd been sharing with ORS going away, I think the only way I can keep resource sharing happening will be to convert the scanning and extraction bits of KSPI from ORS to Regolith, at least for the resources that it makes sense to share.

Link to comment
Share on other sites

Asteroid analyzers work when you're connected up.

Planetary analyzers work the same way ORS-X does today, basically you can get a reading over the current lat/lon with an altitude restriction (like the K+ analyzer).

So pretty much the same experience as you have with ORS/ORSX today except there are no beach balls. Really no need, since your zones are biome based with some simplex nosie variance in that biome.

General pattern will be to either do a flyover or have a Kerbal drop onto a biome and see what's in it, and if you like it, find a nice spot in that biome. Some resources are more 'spikey' than others, so SCANSat helps in that regard. This is kinda why I needed all of the new biome data in 0.90 to make this work well. Oh - and I added a little biome scanner partmodule which will give you more detailed info including biome name :)

I have to admit I don't know much about most USI mods. I haven't actually played the game much since 23.5 actually. I'm not asking for game mechanics information. Just about your part modules that deal with resource detection and/if they trigger animations or not, just the visual stuff. your mods have almost as many acronyms as the DoD; Great for fluff text, terrible for people like me trying to integrate some 3rd party parts using your part modules. :D It's a beast navigating all the different DLLs at the moment. I'm assuming that's one of the reasons for Regolith.

As far as I can tell, Analyzer modules (one asteroid, one planetary) from Regolith, are pretty much automatic, as long as the vessel is connected or landed in the right location. Easy enough. Now the K+ scanner looks like the animation is triggered separately, and isn't linked to the detection code at all, correct? it also uses ORSX_AnimationGroup module; is that going the way of dinosaurs with Regolith replacing ORS/ORSX? Karbonite's scanner uses ORSX_ResourceScanner, IIRC the animation on the detection array is always running.

Should I assume all those different detector parts will be handled by USIAnimation (USITools) and Regolith's Analyzer module in the future?

Edited by nli2work
Link to comment
Share on other sites

I'm looking forward to the upcoming changes with regolith and 0.90. So far I've been looking for hotspots of MKS resources and build my base near them using proxy logistics. Just as for Karbonite for converting it into fuel.

But if I understand correctly, it will be necessary to rebuild/relocate existing bases... perhaps having new bases each for another resource, because their concentration is based on biomes. So it might be the best to wait for update, before building new bases? Are the old maps somehow recognized for the new distribution?

Link to comment
Share on other sites

Here are all of the Regolith Part Modules (working on API documentation now) - subject to change, but so far looking pretty good for release, unless I hit a bug or other issue in final testing:

For Asteroids:

REGO_ModuleAnalysisResource (What resources are scannable? i.e. you could have stuff present that only exists when you drill)

REGO_ModuleAsteroidAnalysis (This is the module that lets a part show asteroid composition)

REGO_ModuleAsteroidDrill (an asteroid drill! Includes animations, and whether it has to be attached to the asteroid, raycasts, etc.)

REGO_ModuleAsteroidInfo (All about asteroids - this is added to the PotatoRoid object automatically)

REGO_ModuleAsteroidResource (Resources that may be present on an asteroid - not all have to be scannable)

For Planetary Resources:

REGO_ModuleResourceHarvester (Drills, pumps, filters - atmospheric, crustal, oceanic, and interplanetary)

REGO_ModuleResourceScanner (Scans for resources - very fine grained (resource plus location - atmo/crustal/etc.))

REGO_ModuleBiomeScanner (Mostly for debugging, shows biome, lat-lon, etc.)

For Converters and Generators (note: all converters/generators work even when the ship is not focused and out of physics range):

REGO_ModuleAnimatedConverter (If you want a part to animate while any converters are playing)

REGO_ModuleTrickleCharger (Used for generators and such where you need variable power output - the Karbonite generator uses this)

REGO_ModuleResourceConverter (Convert things from stuff into stuff. Can be animated with the AnimatedConverter above as well as AnimationGroup below.).

Common:

REGO_ModuleAnimationGroup (Applies to any converter/generator/etc - includes modules for deployment (and disables all generators/converters when in a non-deployed state), etc.)

[Edit for completeness]

And a signature for a static method on the RegolithResourceMap class for extension and getting your resource info at a given lat/lon:

public static float GetAbundance(double lat, double lon, string resourceName, int bodyId, int resourceType = 0, double altitude = 0)

Edited by RoverDude
Link to comment
Share on other sites

@Funk - note that a biome may contain multiple resources, and a resource may be in multiple biomes, and that this can vary planet by planet. Old maps will not work at all as it's a completely different system (where we're going we need no maps!), so you may have to ship some resources in, etc.

That being said - bear in mind that with an MKS base, once you're done it is a 100% closed loop - i.e. you only need drills and such in construction. Your larger issue is that 0.90 will bring breaking changes, so you will have to evac your base anyway. So if you have not yet built one, I would recommend holding off a bit.

Link to comment
Share on other sites

Just wondering - I don't exactly understand how resource map works, but doesn't no map needed mean things like scansat would not be able to use it as an overlay over old map? Or will there be something that allow mapping mods to detect resources?

Link to comment
Share on other sites

I'm looking forward to the upcoming changes with regolith and 0.90. So far I've been looking for hotspots of MKS resources and build my base near them using proxy logistics. Just as for Karbonite for converting it into fuel.

But if I understand correctly, it will be necessary to rebuild/relocate existing bases... perhaps having new bases each for another resource, because their concentration is based on biomes. So it might be the best to wait for update, before building new bases? Are the old maps somehow recognized for the new distribution?

Considering its very possible the 0.90 update will mess with any saved games anyway, you may end up starting from scratch.

But to answer your question, It sounds like he is doing away completely with the old resource maps so at worse the concentrations around your current base location may shift. Keep in mind I think it still has a gradient based system (just configurable by biome as another layer) so your not likely to suddenly find yourself sitting on a spot that suddenly looses all resources... though the concentration may drop noticeably if the resources shift.

Link to comment
Share on other sites

Just wondering - I don't exactly understand how resource map works, but doesn't no map needed mean things like scansat would not be able to use it as an overlay over old map? Or will there be something that allow mapping mods to detect resources?

Rover has already mentioned he is working with Scansat to make sure it displays right. I'm guessing that instead of a PNG style map that the gradients will be procedurally created (within the limits of the configs) and then saved for reference/display. So instead of texture files that kill memory it becomes a text map that scansat would translate into an overlay :)

Link to comment
Share on other sites

@RainDreamer - All SCANSat needs is a way to get a concentration at a given lat/lon ;) I confirmed that my method signature (edited and added to the API list) works for DMagic, and I'll do a pull request for Cyrik's mod.

@ExavierMachbeth - one diff is that right now, every planet has every resource - there will be slight chance in the new version that a planet is lacking in something. But yeah, given that I anticipate many mods breaking in 0.90 (and I'll use the opportunity to do my own save-breaking updates) it's probably a good reason to start a new save.

[Edit]

And a side note - RE knife-edge maps - we have this with Kethane today to no ill effect ;)

Link to comment
Share on other sites

Here are all of the Regolith Part Modules (working on API documentation now) - subject to change, but so far looking pretty good for release, unless I hit a bug or other issue in final testing:

...

Thanks! That's extremely helpful. Does ModuleAnimationGroup apply to Analyzer/Scanner? Doesn't appear to from what I saw yesterday on github. It makes sense not to as analyzer/scanners are basically automatic; but would nice if there is ON/OFF for analyzer/scanners. like KSPI's analyzers.

Link to comment
Share on other sites

Thanks! That's extremely helpful. Does ModuleAnimationGroup apply to Analyzer/Scanner? Doesn't appear to from what I saw yesterday on github. It makes sense not to as analyzer/scanners are basically automatic; but would nice if there is ON/OFF for analyzer/scanners. like KSPI's analyzers.

It does actually :)

A good example is the Karborundum scanner that has to be activated and the mast antenna extended before it works.

- - - Updated - - -

Oh, and assume GitHub is full of bees. Doing a lot of mass conversions of mods right now so things will change, but those first part modules should give you a good idea of what's up.

Link to comment
Share on other sites

It does actually :)

A good example is the Karborundum scanner that has to be activated and the mast antenna extended before it works.

- - - Updated - - -

Oh, and assume GitHub is full of bees. Doing a lot of mass conversions of mods right now so things will change, but those first part modules should give you a good idea of what's up.

Huh, didn't guess that from the config file. Good to know!

Link to comment
Share on other sites

Oh that will make self sustaining bases an interesting prospect :P

Granted, more biomes means more odds of something being present. So your planets with lots of biomes have better diversity and better odds of having everything - but also likely not in the same spot.

Link to comment
Share on other sites

Granted, more biomes means more odds of something being present. So your planets with lots of biomes have better diversity and better odds of having everything - but also likely not in the same spot.

Just a verification question since I don't know if there is a backend difference in the code... This will work with the Custom Biomes mod right?

Link to comment
Share on other sites

Soooooo see disappearing act below :P

In the VAB (designed to just grab and return asteroid to Kerbin SOI... no idea if it works)

InVAB_zpsd800a4a5.png

In orbit..

AfterLaunch_zps65dc2654.png

I only share because I wasnt sure if there was some voodoo with the larger grabber you released with Regolith, or if it was PEBKAC again. Doesnt break my game or anything but just strange, and I'll avoid using the large grabber if it replicates with all designs

Link to comment
Share on other sites

Soooooo see disappearing act below :P

In the VAB (designed to just grab and return asteroid to Kerbin SOI... no idea if it works)

http://i1275.photobucket.com/albums/y444/GrimTrigger86/InVAB_zpsd800a4a5.png

In orbit..

http://i1275.photobucket.com/albums/y444/GrimTrigger86/AfterLaunch_zps65dc2654.png

I only share because I wasnt sure if there was some voodoo with the larger grabber you released with Regolith, or if it was PEBKAC again. Doesnt break my game or anything but just strange, and I'll avoid using the large grabber if it replicates with all designs

If a PartModule throws an exception during vessel loading, the exception breaks out of a loop in Squad's code and prevents the parts later in the file from being processed. Some versions of kOS are famous for doing this.

Replicate the issue and quit KSP with Alt+F4 or Command+Q so it's near the end of your output log, then share the log so we can see what module is throwing the exception. That will give us a better idea whether it's caused by an installation issue or a bug in the module.

Link to comment
Share on other sites

If a PartModule throws an exception during vessel loading, the exception breaks out of a loop in Squad's code and prevents the parts later in the file from being processed. Some versions of kOS are famous for doing this.

Replicate the issue and quit KSP with Alt+F4 or Command+Q so it's near the end of your output log, then share the log so we can see what module is throwing the exception. That will give us a better idea whether it's caused by an installation issue or a bug in the module.

I shall do so first opportunity I have sir. Thanks! I didn't have an opportunity last night to build another craft with the same part and an alternative configuration last night. I'll relaunch this one to replicate the issue in a log and attempt alternate build configs to see if maybe I stumbled across a wonky exception. If the latter is not the case I'll provide that log as well.

Link to comment
Share on other sites

So here are my results.

I loaded the same craft that experienced the issue before, removed the large grabber claw as being the Initial part i.e. first part you place (usually drone or cockpit) and replaced it with a large drone core, replaced the grabber claw on top. The craft was fine.

I loaded the previously issued craft that had the large grabber claw as the drone part, attempted re-launch and I was able to reproduce the results...

long story short, it was a poor decision on my part, and I do not recommend attempting to use the claw as the core part. Not sure why it did what it did but I know how to avoid the issue. :) Thank you for your time.

Link to comment
Share on other sites

(Cross post time)

An example of the Regolith generator in action. Works when the ship is not focused, handles EC pretty well (it works under warp, but has a hard cap to prevent insta-drain of batteries), handles dynamic loads very well, and also the concept of both required components on a linear scale (example would be MKS machinery) and can also support decreasing efficiency based on resource presence (so you can do fun things like clogged air filters, or reduce efficiency based on heat present, etc.)

Enjoy!

yAwqZYG.png

Link to comment
Share on other sites

What's the plan for API documentation on this? I'm kinda chomping at the bit some to use it for a project of my own - a more realistic ISRU mod. I can read source code, but if there's a plan to provide the info I want anyway, I figured I'd ask. :)

Link to comment
Share on other sites

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