maculator

[1.2}Alienated ScienceLab!

Recommended Posts

This is a thing I'm working on. Long story short:

1. Exterminate the ability to transmitt science

2. Set the science transmission to always 100%

3. "Clear out" the large crewed lab (no converting science anymore)

4. Give the now useless lab the only transmitter wich can actually transmitt science

 

I never used the lab. And when I gave it a shot it seemed to be highly overpowered. I also think not beeing able to transmitt science form wherever you want and get 100% is a good idea, but I thought having a "base" from wich you could transfer your science back home with no loss would be really nice too. So I came up with this idea.

 

Probably needs some testing and balancing (especially the transmitter).

Here is the code, not that much:

//Disable Sciencetransmisson for EVERY antenna
	@PART[*]:HAS[@MODULE[ModuleDataTransmitter]]
	{
		@MODULE[ModuleDataTransmitter]
		{
			%packetInterval = 0
			%packetSize = 0
			%packetResourceCost = 0
		}
	}

//Delete ScienceLab and ScienceConverter, add Datatransmitter
	@PART[Large_Crewed_Lab]:FINAL
	{
		!MODULE[ModuleScienceConverter]{}
		!MODULE[ModuleScienceLab]{}
		%MODULE[ModuleDataTransmitter]
		{
			name = ModuleDataTransmitter
			antennaType = DIRECT
			packetInterval = 0.1
			packetSize = 5
			packetResourceCost = 40
			requiredResource = ElectricCharge
			antennaPower = 500000
			antennaCombinable = False
		}
	}

//Set EVERY experiment to be 100% transmittable
	@PART[*]:HAS[@MODULE[ModuleScienceExperiment]]:Final
	{    
		@MODULE[ModuleScienceExperiment]
		{
			@xmitDataScalar = 1.0
		}
	}

If you'd like to check it out, test it, improve it, nag about it, print it ... here is the LINK, it also needs ModuleManager of course

Share this post


Link to post
Share on other sites

okay so you have to physically take the data to the lab and upload and xmit from the lab right? 

instead of nuking the data xmitter which you kind of need for other things. take care of this at the experiment level setting the xmitdatascalar to 0 would do the same thing

just have to make sure the dataiscollectable is set to true. 

Edited by COL.R.Neville

Share this post


Link to post
Share on other sites

Will this not disable you from transmitting science at the start of the game where you do not have a science lab yet if you disable transmission on all antennas? Also the "transmit science from orbit/surface" contracts will be impossible.

Share this post


Link to post
Share on other sites
10 hours ago, COL.R.Neville said:

okay so you have to physically take the data to the lab and upload and xmit from the lab right? 

instead of nuking the data xmitter which you kind of need for other things. take care of this at the experiment level setting the xmitdatascalar to 0 would do the same thing

just have to make sure the dataiscollectable is set to true. 

 

4 hours ago, Jimbodiah said:

Will this not disable you from transmitting science at the start of the game where you do not have a science lab yet if you disable transmission on all antennas? Also the "transmit science from orbit/surface" contracts will be impossible.

This is why it's in development and not release.

-Yes the only way to transmitt science is to carry it to the lab since it's the only thing in the whole kerbin wich can transmitt science.

-The Antennas are not rendered useless, they stil got their range and are needed to control unmanned vessels.

-In 1.2 the contracts require you to "gather data from X" so it wont render contracts impossible.

- Setting xtransmitscalar to 0 would make it impossible to transmitt science. This is something I want to look in at the weekend. Because maybe I could set the lab to function at a rate of 1 so you'd had to put your science in, convert it and then send the "data" to kerbin. However this would "destroy" the experiment, so you can'T transmitt reports for the sake of keeping them.

This is a porblem :/

I like the idea that I had but understand that there are some drawbacks. At the weekend I'll dig deeper and check the limits of mm capability to help with this and then I'll come up with a "final" solution.

If it's fair enough I'll keep tinkering, if not I'll leave this thread here and hope someone with the capability of writing blugins will take a shot.

Cheers

Edit:

I just want to add here:

The ONLY thing antennas can't do anymore is transmitting science the rest stays as it is, untouched.

Edited by maculator
clearification

Share this post


Link to post
Share on other sites
Quote

This is a porblem :/

You could look at it another way, in that you are remaking the entire science path by needing to manually (in a ship) send it to a lab and then need a ship to bring it back to Kerbin's surface for collection. Compare it to the return missions of the Dragon etc where they take finished experiments back to the surface, This would complicate getting the science, needing you to put in work to get it back to Kerbin instead of just transmitting it all from a lab in orbit of Pluto without ever returning any vessel. That could also warrant a higher bonus than 1x on data-to-science.

Just thinking out loud.

Edited by Jimbodiah

Share this post


Link to post
Share on other sites

Check out this mod regarding science balancing (read the parts below his mod on how to balance the tech tree). Just for reference.

 

Share this post


Link to post
Share on other sites

My idea in the other thread was to add another required resource for the transmission. Something like "MPL-fuel" or whatever, which is only produced by labs. So a 10data transmission would cost 40EC and 40MPL-fuel to be sent at 100% efficiency.

The MPL-fuel would be a) infinite and produced instantaneously or b) depending on stupidity of requiered scientists.

Eventually, only material based experiments like goo and surface samples should require a lab, because why would you need a lab to send the value "23.245K" of a thermometer reading.

Share this post


Link to post
Share on other sites
15 hours ago, Blackline said:

My idea in the other thread was to add another required resource for the transmission. Something like "MPL-fuel" or whatever, which is only produced by labs. So a 10data transmission would cost 40EC and 40MPL-fuel to be sent at 100% efficiency.

The MPL-fuel would be a) infinite and produced instantaneously or b) depending on stupidity of requiered scientists.

Eventually, only material based experiments like goo and surface samples should require a lab, because why would you need a lab to send the value "23.245K" of a thermometer reading.

This is a nice idea. I don't know a) how vessel connections would react to the ne resource demand and b) the last sentence of you would be impossible to do for me.

Share this post


Link to post
Share on other sites

from @Yemo's Seti:

3. Part & Science rebalancing - SETI-Rebalance

-snip-

- Simple science experiments (eg thermometer) can be transmitted for 100%, recovery yields 100% for all experiments

--> from SETI-ScienceSettings.cfg

-snip-
@PART[*]:HAS[@MODULE[ModuleScienceExperiment]:HAS[#experimentID[temperatureScan]]]
{
	@MODULE[ModuleScienceExperiment]
	{
		@xmitDataScalar = 1.0
	}
}
-more snip-
@PART[*]:HAS[@MODULE[ModuleScienceExperiment]:HAS[#experimentID[seismicScan]]]
{
	@MODULE[ModuleScienceExperiment]
	{
		@xmitDataScalar = 1.0
	}
}
and so on

its manual hand work i guess...

Share this post


Link to post
Share on other sites

Why not just do them all at once?

@PART[*]:HAS[ModuleScienceExperiment]
{
    @MODULE[ModuleScienceExperiment]
    {
        @xmitDataScalar = 1.0
    }
}

 

Edited by Jimbodiah

Share this post


Link to post
Share on other sites

Okay you got me. I'll start tinkering this weekend.

Just a recap of the brainstorming:

Those are the experiments availyble in game:

  1. Temperature
  2. Pressure
  3. Acceleration
  4. Seismic
  5. Atmosphere
  6. MysteryGoo
  7. MaterialsLab
  8. CrewReport
  9. EVAReport
  10. SurfaceSample

And those are the things you can do with ModuleManager:

  1. Give the LargeCrewedLab a small tank for "ScientifficFluid", a generator for "ScientifficFluid" and a transmitter wich is powered by "ScientifficFluid"
  2. Enable 100% transmissiont for some experiments
  3. Disable Datatransmission for Antennas
  4. Give antennas "ScientifficFluid"-Transmitters so they need that stuff

Our problem: I CAN'T say transmitter X transmitts experiment A for a value of 100% and transmitter Y transmitts it for 80%.... this is the limit.

Either only the lab can transmitt or everyone, I cant give rates to different transmitters.

 

the value :

@xmitDataScalar = 1.0

Is part of the expermiment, not the transmitter.

@Jimbodiah It's brainstorming^^ sure you could do it all at once. But I guess we're trying to figure out a balancing with the limited resources given.

 

Share this post


Link to post
Share on other sites
16 minutes ago, Jimbodiah said:

Why not just do them all at once?


@PART[*]:HAS[ModuleScienceExperiment]
{
    @MODULE[ModuleScienceExperiment]
    {
        @xmitDataScalar = 1.0
    }
}

 

Its about only sending Experiments back at full Efficiency if they are "just" numbers, like thermo or seismic.

Share this post


Link to post
Share on other sites

The big problem wich we got to find another solution for is: we can't really seperate.

 

So those are the "tools" we got:

The Experiment itself:

	MODULE
	{
		name = EXPERIMENT X
		xmitDataScalar = X
	}

The transmitter:

	MODULE
	{
		name = TRANSMITTER X
		packetInterval = X
		packetSize = X
		requiredResource = RESOURCE X
		packetResourceCost = X
		requiredResource =X
	}

It is also impossible to set the package sice for experiments :/ so there is really no way to difference between the ones we want to transmitt and the ones we want to be taken to the lab.

It all comes down to all or nothing.

Edited by maculator

Share this post


Link to post
Share on other sites

My suggestion now would be the following:

  1. Set "xmitDataScalar = 1.0" for all experiments
  2. Add "requiredResource = RESOURCE X" to all MODULE[ModuleDataTransmitter]
  3. Give the Lab a generator for RESOURCE X
  4. Add a tank of RESOURCE X to the new science container

So people could let's say transmitt 10-20 experiments and then they have to go to the lab and recharge.

 

This is nice and I guess a interessting way but in the end it'S the same as disabling communication for everything but the lab :/

Share this post


Link to post
Share on other sites
8 minutes ago, maculator said:

This is nice and I guess a interessting way but in the end it'S the same as disabling communication for everything but the lab :/

If this is possible, without screwing all the new 1.2 stuff, im in.

Share this post


Link to post
Share on other sites

It won't screw anything.

I found the next interessting thing:

Datasize is the experiments basevalue!

So If you can follow my idea I'll try to explain.

We got 10 experiments per ground biome that makes a science yield of X.

so to poorly balance the whole stuff I could set our previous "100%" experiments to let's say 5 and the higher value ones to let's say 50 (guessed numbers need testing!)

Together it the experiments should again yield X again! (Needs testing!)

that way our "100%" buddies can be transfered for lowcost of RESOURCE X, but the others would take lets say 25% of a container full of RESOURCE X. (so either 4 highvalue transmissions or 40 low value ones)

Does that make sense to you^^?

 

Edit: Of yourse the container is empty at start, you can't fill it in the VAB/SPH, you NEED to attach it to a lab and charge it first. So even if you got the glorious idea of sending like 100 of them to a planet you'd have to wait a decade for them to charge first.

Edited by maculator

Share this post


Link to post
Share on other sites

It does, would the EC scale up as well?

Maybe as a first step, make the "numbers" experiments completely free, so it could be transmitted with any antenna (or still just the lab), because who cares for EC consumption for science transmission these days :D

And the "heavy" stuff would cost the regular ScienceTXresource, which is produced/stored only by Labs.

Share this post


Link to post
Share on other sites

I won't touch EC since the bottelneck will be the new Resource. Let's called it stuff for simplicity.

You don't get my point: I cant difference between the experiments in terms of transmission. Either all do cost stuff or non costs anything!

Thats the whole problem. I can only vary the costs via the BaseValue, wich is also taken into the calculation for science points. so yes I could make them free but then theye free of science too :D

 

Share this post


Link to post
Share on other sites

Got it, you can set resource costs per data package with the antenna cfg, and the package size in turn is defined by the experiment. DARN...

Share this post


Link to post
Share on other sites

Here is what my idea looks like, a ScienceContainer will contain "stuff" worth 100 Points

//Cheap experiments - 5 Points

@EXPERIMENT_DEFINITION[*]:HAS[#id[crewReport]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[evaReport]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[temperatureScan]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[barometerScan]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[seismicScan]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[gravityScan]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[atmosphereAnalysis]]
{
    @baseValue = 5
}

//Valuable experiments - 50 Points

@EXPERIMENT_DEFINITION[*]:HAS[#id[mysteryGoo]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[surfaceSample]]
{
    @baseValue = 5
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[mobileMaterialsLab]]
{
    @baseValue = 5
}

//Exeptionel experiments - 100 Points

@EXPERIMENT_DEFINITION[*]:HAS[#id[asteroidSample]]
{
    @baseValue = 5
}
Edited by maculator
correction

Share this post


Link to post
Share on other sites
33 minutes ago, Blackline said:

its all 5, but it looks cool :D

the "cheap" ones are 5, the "high value" ones are 50 and the "exeptionel" one is 100

So you can do 20 normal experiments, 2 high and 1 exeptionel with one container.

I guess i'll set it to 10,40,80 and the container at 80 as well, that sounds fair!

 

edit: duhhhhhhh I get what you mean ..... stupid me, I'll correct that later^^

Edited by maculator

Share this post


Link to post
Share on other sites

So thats it for today. The transmitter thing comes along but it needs some math to work as I wanted it (2 highvalue experiments per container) and since its almost 1:30 I quit for now and maybe check back on sunday. But overall it looks promising and I think it will work.

 

Here is the progress so far:

Categorize Experiments:

Spoiler

//Edit EXPERIMENT_DEFINITION and categorize them in Cheao, High, Exeptionel (10,40,80 Points worth)

//Cheap experiments - 10 Points

@EXPERIMENT_DEFINITION[*]:HAS[#id[crewReport]]
{
    @baseValue = 10
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[evaReport]]
{
    @baseValue = 10
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[temperatureScan]]
{
    @baseValue = 10
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[barometerScan]]
{
    @baseValue = 10
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[seismicScan]]
{
    @baseValue = 10
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[gravityScan]]
{
    @baseValue = 10
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[atmosphereAnalysis]]
{
    @baseValue = 10
}

//Valuable experiments - 40 Points

@EXPERIMENT_DEFINITION[*]:HAS[#id[mysteryGoo]]
{
    @baseValue = 40
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[surfaceSample]]
{
    @baseValue = 40
}

@EXPERIMENT_DEFINITION[*]:HAS[#id[mobileMaterialsLab]]
{
    @baseValue = 40
}

//Exeptionel experiments - 80 Points

@EXPERIMENT_DEFINITION[*]:HAS[#id[asteroidSample]]
{
    @baseValue = 80
}

 

Create ScientifficStuff as a Resource:

Spoiler

//Create resource ScientifficStuff 

	RESOURCE_DEFINITION
	{
		name = ScientifficStuff
		abbreviation = SS
		density = 0
		unitCost = 0
		hsp = 0
		flowMode = STAGE_PRIORITY_FLOW
		transfer = PUMP
		isTweakable = true
	}

 

Add ScientifficStuff to ScienceBox as a resource (80 Units)

Spoiler

//Edits to ScienceBox to contain 80 Units of ScientifficStuff

	@PART[ScienceBox]
	{
		RESOURCE
		{
			name = ScientifficStuff
			amount = 0
			maxAmount = 80
		}
	}

 

And make ModuleDataTransmitter require ScientifficStuff instead of EC. (Wich does not work right now and I have no clue why!!!!!!!)

Spoiler

//Edit ModuleDataTransmitter globaly to use ScientifficStuff instead of ElectricCharge

	@PART[*]:HAS[@MODULE[ModuleDataTransmitter]]
	{
		@ModuleDataTransmitter
		{
			%requiredResource = ScientifficStuff
		}
	}

 

The Large_Crewed_Lab will get a generator, the xmitDataScalar will be set to 1 globaly and then the math steps in: some tinkering with the costs and packagesizes to make 1 Unit of data cost 1 unit of ScientifficStuff to transmitt. And thats about it!

Cheers

Edited by maculator

Share this post


Link to post
Share on other sites

That aproach looks interesting (first Modlet: Science Relay ):

If we could stick to stock transmission for material stuff with low efficiency, and an additional button, which would transmitt with 100% eff. but would require our ScientificStuff! Maybe we can hijack @DMagic's source? (I guess, he would be able to do our/your project in 5 mins...) :D

Edit: Checking out the source on Github... im good at C#, but no Idea how close to C# that modding stuff is :D

Edited by Blackline

Share this post


Link to post
Share on other sites
This thread is quite old. Please consider starting a new thread rather than reviving this one.

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.