Jump to content

[1.9-1.10] Global Construction


allista

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.

Link to comment
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.

Link to comment
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

Link to comment
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:

 

Link to comment
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.

Link to comment
Share on other sites

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
Link to comment
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.

Link to comment
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).

Link to comment
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.

Link to comment
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:

Link to comment
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.

Link to comment
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

Link to comment
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?

Link to comment
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.
 

Link to comment
Share on other sites

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
Link to comment
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. 

 

 

Link to comment
Share on other sites

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
Link to comment
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

Link to comment
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!

 

Link to comment
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.

Link to comment
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:

Link to comment
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.

×
×
  • Create New...