allista

[1.7] Global Construction

Recommended Posts

Yup, definitely power.

Figured I had enough EC to cover it, but I didn't. 295K power storage wasn't nearly enough for the size of this vessel. Even though I have enough solar panels to keep the power at max, those don't seem to run in the background, so it doesn't calculate their power. It runs completely off how much you have stored.

Share this post


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

Yup, definitely power.

Figured I had enough EC to cover it, but I didn't. 295K power storage wasn't nearly enough for the size of this vessel. Even though I have enough solar panels to keep the power at max, those don't seem to run in the background, so it doesn't calculate their power. It runs completely off how much you have stored.

Unfortunately yes. I could have measured the net power flux at the time of switching away from a workshop and include it in calculations, but I could not simulate periods of being in planetary shade (if some of that flux is produced by the solar panels), eclipses and so on; what even worse, if some other mod does the same, we would use the same virtual power twice, this upsetting the balance.

The same goes for other resources that are produced in parallel with their consumption, like ore mining.

So unless there's a system-wide API for background resource production+consumption, the only thing we can reliably use is the storage.

BTW, the workshop window provides the values of resource requirements for kit assembly/construction, including EC.

Share this post


Link to post
Share on other sites

That makes sense.

This particular vessel was just massive and used a lot of EC to build. Subsequent builds won't be as taxing in my game.

But it does lead me to thinking, similar to the community resources that multiple mods use (including this one), could somebody develop a mod that does simulate the power for night/planetary shade? If a singular mod controls that resource and the other mods just use it's numbers, if it would even be possible.

I'm not a programmer or anything of the sort, just somebody with weird ideas :D

Share this post


Link to post
Share on other sites
19 minutes ago, Paadwyn said:

That makes sense.

This particular vessel was just massive and used a lot of EC to build. Subsequent builds won't be as taxing in my game.

But it does lead me to thinking, similar to the community resources that multiple mods use (including this one), could somebody develop a mod that does simulate the power for night/planetary shade? If a singular mod controls that resource and the other mods just use it's numbers, if it would even be possible.

I'm not a programmer or anything of the sort, just somebody with weird ideas :D

CRP is actually a set of configs, so it's easy to use, as it's contents are available though the game database API.

But with plugins (dlls with code) it's a different matter. There are several ways for one plugin to use another, and none of them is good.

The easiest way is to link against a dll. This allows it's usage as if it's just your own read-only code; very powerful, very easy with modern IDEs. But makes such dll a hard dependency: your plugin won't even load if the one you're linking against is not present or of incorrect version. So your development itself depends on the work of the maintainer of the said dll, and on the correct installation by your users. That's why we mostly see this pattern simply as a way to organize the code by owned by a single developer/team. E.g. USI and my own utility libraries. There were precedents like KSP API Extensions, but I don't see them now.

The other option is to use the so called reflection: a way to examine and manipulate foreign code objects at runtime without any previous knowledge about them. Which is to say that your compiler may have no knowledge, but you, of course, should have it to use reflection as a substitute for an API. So, this was is complex, messy and very prone to silent regression in case the foreign code changes due to an update.

The cleanest way is to use an event/message system. Unity has one, and KSP provides a way to send custom part events. But as you can send only generic objects, it's hard to expose and to use a comprehensive API through it. Both sender and receiver should agree on the protocol, and the receiver (i.e. the API user) should each time painfully typecast everything back; which also means that only built-in types may be used. And that's why APIs based on event systems are usually restricted to necessary minimum of functionality which can be made stable and robust.

To be fair, there was an attempt at the task. But unfortunately it didn't live:

 

Share this post


Link to post
Share on other sites

Ah, it was worth a shot. Didn't think it would be so easy.

This is good to know, however, it explains some of the other very minor issues I've seen, and I can adjust some designs to be a bit more efficient, namely automated mining vessels to to use with planetary logistics.

I been working on constructing a fleet that will be used to colonize systems, which depends heavily on your Global Construction mods. Just got to that point in my career game. Working out all the bugs in my designs and testing it all before moving ahead.

Looks like I may need to increase my EC storage.

Share this post


Link to post
Share on other sites

I think the stock ISRU and USI catch-up processing just uses your current EC  production, so you need to go to bases when the sun is shining on them, but don't need enormous batteries.

Share this post


Link to post
Share on other sites

That I've noticed, but Global Construction doesn't use that processing, according to allista.

Share this post


Link to post
Share on other sites
Posted (edited)

Question: Does Global Construction work with USI's Local Logistic system?

I've been trying to get this running, but can't seem to have it work. I've made a lander with an inline workshop and the assembly plant in a kit. The point is to drop the assembly plant on the surface, then slide the lander off it, deploy the crate and start building the assembly plant.

To keep the craft light, I don't have any materialkits on board, but I do have a small stowaway pack for materialkits with the USI local logistics enabled on it. I have a logistics consumer, cupola module, staffed and turned on.

Just off to the side I landed a crate (USI local logistics enabled) full of materialkits.

Technically I meet all the requirements (I think) for the local logistics (scavenging) to be able to pull from the crate and put into the stowaway pack to construct.

I am under the impression that I don't require all the materialkits at once to start building, it should pull them in slowly and start building...but maybe I'm either doing something wrong, or Global construction doesn't call for the logistics to run.

 

Ok, with the local logistics menu I can transfer it manually, which does the trick. Was hoping it would be able to do it automatically though.

Edited by Paadwyn

Share this post


Link to post
Share on other sites
48 minutes ago, Paadwyn said:

Question: Does Global Construction work with USI's Local Logistic system?

I've been trying to get this running, but can't seem to have it work. I've made a lander with an inline workshop and the assembly plant in a kit. The point is to drop the assembly plant on the surface, then slide the lander off it, deploy the crate and start building the assembly plant.

To keep the craft light, I don't have any materialkits on board, but I do have a small stowaway pack for materialkits with the USI local logistics enabled on it. I have a logistics consumer, cupola module, staffed and turned on.

Just off to the side I landed a crate (USI local logistics enabled) full of materialkits.

Technically I meet all the requirements (I think) for the local logistics (scavenging) to be able to pull from the crate and put into the stowaway pack to construct.

I am under the impression that I don't require all the materialkits at once to start building, it should pull them in slowly and start building...but maybe I'm either doing something wrong, or Global construction doesn't call for the logistics to run.

 

Ok, with the local logistics menu I can transfer it manually, which does the trick. Was hoping it would be able to do it automatically though.

Check the right-click menu to make sure logistics is turned on on all storage parts, and check distances.

Share this post


Link to post
Share on other sites
12 hours ago, Paadwyn said:

I am under the impression that I don't require all the materialkits at once to start building, it should pull them in slowly and start building...but maybe I'm either doing something wrong, or Global construction doesn't call for the logistics to run.

 

Ok, with the local logistics menu I can transfer it manually, which does the trick. Was hoping it would be able to do it automatically though.

You need a consumer for a given resource to automatically draw, and a workshop may not count as a consumer, especially if it is not currently working.

Also, if the vessel is not in physics range, transfers and other processes are only done every 6 hours for catch-up processing(RoverDude wrote the catch-up code for ISRU, then just referenced it for MKS, so it is just using the stock behavior).

Share this post


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

You need a consumer for a given resource to automatically draw, and a workshop may not count as a consumer, especially if it is not currently working.

I think that's the thing right there.

The workshop doesn't tag the consumer for that resource.

I can  transfer manually using the GUI, so it's not that big of a deal, just means a few more button clicks.

Share this post


Link to post
Share on other sites

@DStaal, @Terwin, @Paadwyn If you understand about USI logistics, I'll appreciate patches (or instructions) for workshops' configs to enable support for it. If patching configs is enough, of course.

Share this post


Link to post
Share on other sites

I have a decent working knowledge, and there is one thing I'd check...

But honestly, since this mode is dependency for MKS and MKS is heavily dependent on USI logistics, I'd pull in @RoverDude and get it right.

Share this post


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

I have a decent working knowledge, and there is one thing I'd check...

But honestly, since this mode is dependency for MKS and MKS is heavily dependent on USI logistics, I'd pull in @RoverDude and get it right.

That'll be better, yes, but I'm not sure if he has the capacity :confused:

Share this post


Link to post
Share on other sites

Well, about the only thing I know is that storage parts should have the following two modules to be part of the system:

	MODULE
	{
		name = USI_ModuleResourceWarehouse
	}
	MODULE
	{
		name = USI_ModuleRecycleBin
	}

(Well, technically only the first for logistics - but people will expect anything that's one to be the other.)  But I'm not sure what needs to happen to make something a consumer.

Share this post


Link to post
Share on other sites

so There seems to be a problem on CKAN. when you try to get global construction it says "GroundConstruction 2.3.2 depends on GroundConstruction-Core, which is not compatible with the currently installed version of ksp" Is there any way to fix this. This seems like a cool mod to use

Share this post


Link to post
Share on other sites
55 minutes ago, Cakeking said:

so There seems to be a problem on CKAN. when you try to get global construction it says "GroundConstruction 2.3.2 depends on GroundConstruction-Core, which is not compatible with the currently installed version of ksp" Is there any way to fix this. This seems like a cool mod to use

Which KSP version do you use?

Share this post


Link to post
Share on other sites
On 5/23/2019 at 12:41 AM, allista said:

Which KSP version do you use?

Tagging on here.

For me it is:

KSP 1.7.0.2483
CKAN 1.26.0 and (since I just updated) CKAN 1.26.2
No CKAN plugins

Looking at the relationships tab for the mod in CKAN, It seems it trips the error because of the dependency "Community resource pack 1.1.0.0" which is listed as only compatible for KSP .25 - 1.6.9. This is kinda throwing me for a loop, because the error doesn't mention that, it says "Ground construction-Core" Which isn't listed as a dependency. AND I have "Configurable containers (core)", which also has "Community resource pack 1.1.0.0" as a listed dependency if you look at the Global Construction relationships dropdown, but weirdly not if you look at the Configurable containers relationships. So Configurable containers installs just fine. So it's like the mods saying somethings a dependency when it's not really a dependency?

Noob user on the forum here so idk if I can upload screenshots to better show what I'm trying to explain.
 

Share this post


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

Noob user on the forum here so idk if I can upload screenshots to better show what I'm trying to explain.

Welcome to the forums.

I upload pics to Imgur and then post direct links on the forums using the "Insert other media > Insert image from URL" command in the lower right-hand corner of the post edit window.  It's clunky, but it works for me.

Edited by Brigadier

Share this post


Link to post
Share on other sites

@Justanotherspacecowboy @Brigadier With imgur just pasting the direct link to the image into the editor window should automatically embed the picture without using Insert Other Media (I didn't realize that button was there).  Youtube and Flickr both have buttons to generate a shareable link that auto embed as well. 

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

c2832b02be.png

1 hour ago, Brigadier said:

Welcome to the forums.

I upload pics to Imgur and then post direct links on the forums using the "Insert other media > Insert image from URL" command in the lower right-hand corner of the post edit window.  It's clunky, but it works for me.

Thanks! Heres what I'm trying to explain.ed1c13ac38.pngfeb9db4426.png6cea448123.png

Edited by Justanotherspacecowboy
Missed a link

Share this post


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

Tagging on here.

For me it is:

KSP 1.7.0.2483
CKAN 1.26.0 and (since I just updated) CKAN 1.26.2
No CKAN plugins

Looking at the relationships tab for the mod in CKAN, It seems it trips the error because of the dependency "Community resource pack 1.1.0.0" which is listed as only compatible for KSP .25 - 1.6.9. This is kinda throwing me for a loop, because the error doesn't mention that, it says "Ground construction-Core" Which isn't listed as a dependency. AND I have "Configurable containers (core)", which also has "Community resource pack 1.1.0.0" as a listed dependency if you look at the Global Construction relationships dropdown, but weirdly not if you look at the Configurable containers relationships. So Configurable containers installs just fine. So it's like the mods saying somethings a dependency when it's not really a dependency?

Noob user on the forum here so idk if I can upload screenshots to better show what I'm trying to explain.
 

The actual dependency tree of GC from CKAN is like this:

RutRb8i.png

So yea, CRP blocks installation through CKAN via the chain GC -> GC-Core -> CRP.

But CRP is just a bunch of config files, so despite what CKAN thinks, you can download and install it manually. CKAN should (I suppose) recognize manually installed mods and allow normal installation of GC. If not, just grab GC from the SpaceDock: 

https://spacedock.info/mod/1123/Ground Construction/download/2.3.2

Share this post


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

The actual dependency tree of GC from CKAN is like this:

RutRb8i.png

So yea, CRP blocks installation through CKAN via the chain GC -> GC-Core -> CRP.

But CRP is just a bunch of config files, so despite what CKAN thinks, you can download and install it manually. CKAN should (I suppose) recognize manually installed mods and allow normal installation of GC. If not, just grab GC from the SpaceDock: 

https://spacedock.info/mod/1123/Ground Construction/download/2.3.2

Thanks a ton!

 

Share this post


Link to post
Share on other sites
13 minutes ago, allista said:

The actual dependency tree of GC from CKAN is like this:

RutRb8i.png

So yea, CRP blocks installation through CKAN via the chain GC -> GC-Core -> CRP.

But CRP is just a bunch of config files, so despite what CKAN thinks, you can download and install it manually. CKAN should (I suppose) recognize manually installed mods and allow normal installation of GC. If not, just grab GC from the SpaceDock: 

https://spacedock.info/mod/1123/Ground Construction/download/2.3.2

Might be easier to just tell ckan that 1.6.9 is a compatible version and install CRP that way.

Share this post


Link to post
Share on other sites
14 minutes ago, Terwin said:

Might be easier to just tell ckan that 1.6.9 is a compatible version and install CRP that way.

Cool, didn't know you can do that with CKAN :D

Not a user, me :rolleyes:

Share this post


Link to post
Share on other sites

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.