Jump to content

[0.23] Science Checklist in Spreadsheet Form


Recommended Posts

Hello, Kerbonauts! After trying to find one that had everything together, I have made a spreadsheet for checking off what science I've done and where I've done it. It's a spreadsheet on Google Docs, and it's shared so you can make a copy to your own Google Drive or download it in a number of formats. (Just use File > Make a Copy... ; File > Download as > ...) You must make a copy or download it to edit it.

Link: Get it here

I'd like to give a big thanks to celem at this thread for creating his web application which gave me the idea and the basic layout.

It's pretty simple to use. There's a sheet for each celestial body. At the top of each column are the different Experiments. The rows show the altitudes you can do the experiments at (Surface, Lower/Upper Atmosphere, Low/High Space), and hovering over these labels tells you the altitude ranges and science multipliers.

  • If the cell is black, the experiment cannot be done at that altitude.
  • If the cell is cyan, the experiment at that altitude is independent of biome. Just add a mark to that cell when you've done that experiment.
  • If the cell is green with a number, it is per biome at that altitude. When completing a biome-specific experiment, find the biome and altitude in which you did it in the bottom section and delete it; the number in the green cell changes to show how many biomes remain.

License: This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

DISCLAMER: Make sure to wear appropriate safety equipment when performing experiments. Experiments may explode without warning. Do not taunt experiments. Experiments are for external use only. These experiments have not been evaluated by the Kerbal Aeronautics and Space Administration. These experiments are not intended to predict, recover, or prevent any catastrophic failure. Injury or death due to improperly performed experiments are not the responsibility of SQUAD, Danny2462, or Major League Kerball, although they are hilarious.

Link to comment
Share on other sites

That's pretty neat!

I've seen some others around the place as well like this one (which might be pre 0.23?): http://forum.kerbalspaceprogram.com/threads/54247-Kerbin-Science-Check-List-Spread-Sheet

And this one: http://www.reddit.com/r/KerbalSpaceProgram/comments/1xf0l5/science_checklist_all_planets_biomes_improved/

Would you be interested in a utility program that automatically fills in your checklist by reading your save file?

Link to comment
Share on other sites

Definitely possible. If you hack your persistence file to have every single experiment but just list the current science gained as 0. It might work... However, generating that "blank" template... Would definitely require some work. Or just find someone who has completed at least one experiment everywhere for everything and then set the "sci" to 0.

I'm talking about the specific reports saved in the persistence.sfs file that look like this:

Science

{

id = magnetosphericExperiment@KerbinInSpaceLow

title = Analyse Magnetosphere while in space near Kerbin

dsc = 2.5

scv = 0.0007514087

sbv = 1

sci = 21.98347

cap = 22

}

So I'm pretty confident I could create that blank template for you... It would take me a few hours of work I think.

Edited by Oarc
Link to comment
Share on other sites

You also need to make sure you set all of the scv values to 1. This is the decaying, experiment scientific value that reduces the amount of science gained for repeat experiments. Only that and the sci values should be changed.

Link to comment
Share on other sites

So I'm pretty confident I could create that blank template for you... It would take me a few hours of work I think.

If you do, then do it for ALL of us, not for ME - I would not want anyone to go through so much pain just for me. :)

Link to comment
Share on other sites

You also need to make sure you set all of the scv values to 1. This is the decaying, experiment scientific value that reduces the amount of science gained for repeat experiments. Only that and the sci values should be changed.

Yep, I'm aware of that. This is my plan:

id = I have a way to parse this, I can easily reverse the process

title = not sure about this one. I may have to make something new, hopefully it follows a clear format

dsc = copy from experiment (data scale found in scienceDefs)

scv = 1

sbv = base value (I believe this is the scientific multiplier for that situation + planet, correct me if I'm wrong.)

sci = 0

cap = calculate max possible science (I already have done this for all possible experiments)

If you do, then do it for ALL of us, not for ME - I would not want anyone to go through so much pain just for me. :)

Lol, it seems like this template would be more popular than my science summary utility. So based on that, I'll probably work on it first.

Link to comment
Share on other sites

title = not sure about this one. I may have to make something new, hopefully it follows a clear format

This is what shows up in the title bar of the experiment results page. There are a few combinations that I'm not sure of, but I think I have found the proper format for most available results.

They differ based on whether or not the biome is relevant (the "b" string in the code below). The text for each situation below is just added on after the experiment title from the sciencedefs file. I'm fairly sure that the non-biome titles are correct below, but I think the in space high and the upper atmosphere results with biomes might not be correct. It may not matter though, I imagine that the "id" string is the only one that must be correct for the results to show up.

Edit: Looking at this I see the only sticking point is the "the" in front of Mun. Every other planet/moon lacks the article, so I guess I need to stick that in instead of just "from Mun Highlands".


public string situationCleanup(ExperimentSituations expSit, string
{
if (b == "")
{
switch (expSit)
{
case ExperimentSituations.SrfLanded:
return " from " + vessel.mainBody.name + "'s surface";
case ExperimentSituations.SrfSplashed:
return " from " + vessel.mainBody.name + "'s oceans";
case ExperimentSituations.FlyingLow:
return " while flying at " + vessel.mainBody.name;
case ExperimentSituations.FlyingHigh:
return " from " + vessel.mainBody.name + "'s upper atmosphere";
case ExperimentSituations.InSpaceLow:
return " while in space near " + vessel.mainBody.name;
default:
return " while in space high over " + vessel.mainBody.name;
}
}
else
{
switch (expSit)
{
case ExperimentSituations.SrfLanded:
return " from " + vessel.mainBody.name + "'s " + b;
case ExperimentSituations.SrfSplashed:
return " from " + vessel.mainBody.name + "'s " + b;
case ExperimentSituations.FlyingLow:
return " while flying over " + vessel.mainBody.name + "'s " + b;
case ExperimentSituations.FlyingHigh:
return " from the upper atmosphere over " + vessel.mainBody.name + "'s " + b;
case ExperimentSituations.InSpaceLow:
return " from space just above " + vessel.mainBody.name + "'s " + b;
default:
return " while in space high over " + vessel.mainBody.name + "'s " + b;
}
}
}

sbv = base value (I believe this is the scientific multiplier for that situation + planet, correct me if I'm wrong.)

Yep, and the cap is just the value from the sciencedefs file multiplied by the sbv, so it's easy to figure out one value from the other.

Edited by DMagic
Link to comment
Share on other sites

Yep, and the cap is just the value from the sciencedefs file multiplied by the sbv, so it's easy to figure out one value from the other.

Could you explain this?

I calculate the "cap" by multiplying the "scienceCap = x" located in the ScienceDefs.cfg file by the planet-situation science multiplier located in the wiki page here: http://wiki.kerbalspaceprogram.com/wiki/Science#Celestial_body_multipliers

I actually edited a few lines of that table based on someone's save file for Eeloo, Pol and Bop.

Or do you mean that from some examples in the persistent.sfs file, I can use that to figure out all the multipliers (which I assume is how the wiki was created). There's no way that I am aware of to read the multipliers in plain text format.

For example:

evaReport@KerbinSrfLandedKSC (persistent.sfs)

evaReport has "scienceCap = 8" (ScienceDefs.cfg)

report has "cap = 2.4" (persistent.sfs)

I need to calculate cap = 2.4 based on known scienceCap * known multiplier (from a table of constants).

2.4 = 8 * multiplier

Multiplier = 0.3

I don't know the sbv (persistent.sfs) before I create the template. But that's a constant based on the planet-situation. I build a table of the constants and use those as reference when calculating the cap that needs to be generated for each report.

Thanks for the function you posted! Is that from a mod, or the ksp code, or something you created?

While not ideal, I'm planning to add on to my crappy javascript code since it's all already created and working relatively well. I should be able to take your example function and put that in to create the "title".

Link to comment
Share on other sites

Thanks. Wow, yeah, if that's possible, it would be great.

Lol, I might need to move to python or something other than javascript. I was initially planning to just create a webapp... I'll look into this. Looks like the blank template might be a big hit for some people.

Link to comment
Share on other sites

Could you explain this?

I calculate the "cap" by multiplying the "scienceCap = x" located in the ScienceDefs.cfg file by the planet-situation science multiplier located in the wiki page here: http://wiki.kerbalspaceprogram.com/wiki/Science#Celestial_body_multipliers

I actually edited a few lines of that table based on someone's save file for Eeloo, Pol and Bop.

I'm not aware of any kind of formula to figure out these values, they all seem to be hand coded for each planet/situation. It's easy enough to figure them out in-game (vessel.mainBody.scienceValues.landedDataValue, etc...), and with some more complicated code you could probably make the game spit out every value for each planet/situation/biome. But otherwise the wiki or existing results are probably all you can go by. Your method probably works well enough though.

Thanks for the function you posted! Is that from a mod, or the ksp code, or something you created?

While not ideal, I'm planning to add on to my crappy javascript code since it's all already created and working relatively well. I should be able to take your example function and put that in to create the "title".

It's my own that I've been using for my replacement science part module. I just noticed one other problem (and the "the" thing might not be an issue if I'm correct about how the names work, but I can't check that now), the KSC results give another variation on the title, they just show "something scan from LaunchPad" or runway or KSC. It should be easy enough to fix that though. I'll try to check for the proper results for in space high and upper atmosphere with biomes too.

Link to comment
Share on other sites

Edit: Looking at this I see the only sticking point is the "the" in front of Mun. Every other planet/moon lacks the article, so I guess I need to stick that in instead of just "from Mun Highlands".

CelestialBody actually has a field called use_The_InName that might serve for a catch-all solution

Link to comment
Share on other sites

CelestialBody actually has a field called use_The_InName that might serve for a catch-all solution

Yeah... you guys have definitely lost me. I'm not a modder at all so I don't have any experience dealing with getting values from the KSP game internals. I'm a simpleton who can parse some text files and read wikis. I plan to work on this in the next couple days and will post back with my results soon.

Thanks for the idea, hope there aren't too many obstacles.

Link to comment
Share on other sites

Once and for all, every value for the science multiplier for every planet and situation, and every altitude threshold (in meters). You can ignore the surface values for the sun and jool and ignore the splashed values for the non-ocean planets, but everything else is pretty straightforward. Now I need to post this somewhere more prominent so there won't be anymore confusion on this issue.


Sun In Space Low Data Value: = 11
Sun In Space High Data Value: = 2
Sun Surface Landed Data Value: = 1
Sun Splashed Data Value: = 1
Sun Recovered Craft Data Value: = 4
Sun Space Threshold Altitude: = 1E+09
Kerbin In Space Low Data Value: = 1
Kerbin In Space High Data Value: = 1.5
Kerbin Surface Landed Data Value: = 0.3
Kerbin Splashed Data Value: = 0.4
Kerbin Recovered Craft Data Value: = 1
Kerbin Flying Low Data Value: = 0.7
Kerbin Flying High Data Value: = 0.9
Kerbin Flying Threshold Altitude: = 18000
Kerbin Space Threshold Altitude: = 250000
Mun In Space Low Data Value: = 3
Mun In Space High Data Value: = 2
Mun Surface Landed Data Value: = 4
Mun Splashed Data Value: = 1
Mun Recovered Craft Data Value: = 2
Mun Space Threshold Altitude: = 60000
Minmus In Space Low Data Value: = 4
Minmus In Space High Data Value: = 2.5
Minmus Surface Landed Data Value: = 5
Minmus Splashed Data Value: = 1
Minmus Recovered Craft Data Value: = 2.5
Minmus Space Threshold Altitude: = 30000
Moho In Space Low Data Value: = 8
Moho In Space High Data Value: = 7
Moho Surface Landed Data Value: = 10
Moho Splashed Data Value: = 1
Moho Recovered Craft Data Value: = 7
Moho Space Threshold Altitude: = 80000
Eve In Space Low Data Value: = 7
Eve In Space High Data Value: = 5
Eve Surface Landed Data Value: = 8
Eve Splashed Data Value: = 8
Eve Recovered Craft Data Value: = 5
Eve Flying Low Data Value: = 6
Eve Flying High Data Value: = 6
Eve Flying Threshold Altitude: = 22000
Eve Space Threshold Altitude: = 400000
Duna In Space Low Data Value: = 7
Duna In Space High Data Value: = 5
Duna Surface Landed Data Value: = 8
Duna Splashed Data Value: = 1
Duna Recovered Craft Data Value: = 5
Duna Flying Low Data Value: = 5
Duna Flying High Data Value: = 5
Duna Flying Threshold Altitude: = 12000
Duna Space Threshold Altitude: = 140000
Ike In Space Low Data Value: = 7
Ike In Space High Data Value: = 5
Ike Surface Landed Data Value: = 8
Ike Splashed Data Value: = 1
Ike Recovered Craft Data Value: = 5
Ike Space Threshold Altitude: = 50000
Jool In Space Low Data Value: = 7
Jool In Space High Data Value: = 6
Jool Surface Landed Data Value: = 30
Jool Splashed Data Value: = 1
Jool Recovered Craft Data Value: = 6
Jool Flying Low Data Value: = 12
Jool Flying High Data Value: = 9
Jool Flying Threshold Altitude: = 120000
Jool Space Threshold Altitude: = 4000000
Laythe In Space Low Data Value: = 9
Laythe In Space High Data Value: = 8
Laythe Surface Landed Data Value: = 14
Laythe Splashed Data Value: = 12
Laythe Recovered Craft Data Value: = 8
Laythe Flying Low Data Value: = 11
Laythe Flying High Data Value: = 10
Laythe Flying Threshold Altitude: = 10000
Laythe Space Threshold Altitude: = 200000
Vall In Space Low Data Value: = 9
Vall In Space High Data Value: = 8
Vall Surface Landed Data Value: = 12
Vall Splashed Data Value: = 1
Vall Recovered Craft Data Value: = 8
Vall Space Threshold Altitude: = 90000
Bop In Space Low Data Value: = 9
Bop In Space High Data Value: = 8
Bop Surface Landed Data Value: = 12
Bop Splashed Data Value: = 1
Bop Recovered Craft Data Value: = 8
Bop Space Threshold Altitude: = 25000
Tylo In Space Low Data Value: = 10
Tylo In Space High Data Value: = 8
Tylo Surface Landed Data Value: = 12
Tylo Splashed Data Value: = 1
Tylo Recovered Craft Data Value: = 8
Tylo Space Threshold Altitude: = 250000
Gilly In Space Low Data Value: = 8
Gilly In Space High Data Value: = 6
Gilly Surface Landed Data Value: = 9
Gilly Splashed Data Value: = 1
Gilly Recovered Craft Data Value: = 6
Gilly Space Threshold Altitude: = 6000
Pol In Space Low Data Value: = 9
Pol In Space High Data Value: = 8
Pol Surface Landed Data Value: = 12
Pol Splashed Data Value: = 1
Pol Recovered Craft Data Value: = 8
Pol Space Threshold Altitude: = 22000
Dres In Space Low Data Value: = 7
Dres In Space High Data Value: = 6
Dres Surface Landed Data Value: = 8
Dres Splashed Data Value: = 1
Dres Recovered Craft Data Value: = 6
Dres Space Threshold Altitude: = 25000
Eeloo In Space Low Data Value: = 12
Eeloo In Space High Data Value: = 10
Eeloo Surface Landed Data Value: = 15
Eeloo Splashed Data Value: = 1
Eeloo Recovered Craft Data Value: = 10
Eeloo Space Threshold Altitude: = 60000

Link to comment
Share on other sites

Once and for all, every value for the science multiplier for every planet and situation, and every altitude threshold (in meters). You can ignore the surface values for the sun and jool and ignore the splashed values for the non-ocean planets, but everything else is pretty straightforward. Now I need to post this somewhere more prominent so there won't be anymore confusion on this issue.


Sun In Space Low Data Value: = 11
Sun In Space High Data Value: = 2

So it looks like High Data Value is not used? Or it means something other than what I think it means?

SunInSpaceHigh and SunInSpaceLow both have a multiplier of 11 according to the save files I've been using.

Thanks for the values either way, I can use them to double check my table.

So I managed to generate the blank template and it works with one caveat. I haven't bothered to put in all the names yet. The name of the experiment is the actual hardcoded id (like mysteryGoo@SunInSpaceHigh).

However... Once you get the experiment for the first time, KSP is smart enough to overwrite that report.

Also, there are a couple of experiments that are a pain to implement as exceptions. Specifically the Kerbin biomes of the Launchpad/KSC/Runway. You can get crewReports while flying over if you're lucky... But I don't know if that applies to all experiments. Seems to only apply to the FlyingLow situation and not the FlyingHigh. I don't really want to implement experiments just because they are possible in theory. Plus, it's only a few of them around Kerbin. There's also the splashed case which you get in most biomes, but not all (again from the wiki and forums).

Would you like to take a look at my template? If you can try it out and give me some feedback, it would be much appreciated.

Here is a blank persistence file but it's affected by my mods of course: http://oarcinae.us/ScienceParser/ScienceRevealTemplate_persistence.sfs

Here is just the science part which you could copy into any NEW FRESH save file: http://oarcinae.us/ScienceParser/ScienceReveal.txt

(~~~~I have no idea what copying in duplicates will do. I'll give it a go I guess.~~~~)

So I tried copying in a duplicate experiment. It looks like it just gets ignored. If that's the case, it looks like you could potentially copy in the ScienceReveal.txt to any save file... duplicates will be ignored and you won't lose your current progress. But it WILL reveal all previously undone experiments... Doesn't seem to work too well this way. Works with a new save it seems.

So I tried to add the empty experiments to my save file, and while they populated everything up to Kerbin, it seemed to stop there. A blank save file works. But my current save file with mods and a lot of science completed around Kerbin/Mun/Minmus, doesn't seem to load the empty experiments properly.

Edited by Oarc
Link to comment
Share on other sites

If you do, then do it for ALL of us, not for ME - I would not want anyone to go through so much pain just for me. :)

Doesn't look like more than a handful of people are interested in this (based on this forum and reddit). Sorry but I don't think I have much reason to continue working on this. My previous post has a link to the file I created so you can give it a try if you wish. Let me know how it goes.

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
So I managed to generate the blank template and it works with one caveat. I haven't bothered to put in all the names yet. The name of the experiment is the actual hardcoded id (like mysteryGoo@SunInSpaceHigh).

However... Once you get the experiment for the first time, KSP is smart enough to overwrite that report.

This is cool. I think I will use the ScienceReveal.txt when I start a new career. Thank you for the work you put into it.

Would you like to take a look at my template? If you can try it out and give me some feedback, it would be much appreciated.

Yep, I'll load it in a new career and compare what I get in the "Science Archives" to what I am expecting using the number tallies for Kerbin, Mun, & Minmus. (see below)

Here is a blank persistence file but it's affected by my mods of course: http://oarcinae.us/ScienceParser/ScienceRevealTemplate_persistence.sfs

Didn't spend too much time looking at this because I am going to use the ScienceReveal.txt, but it looks like the "cap" for atmosphereAnalysis & barometerScan are messed up a little.

Here is just the science part which you could copy into any NEW FRESH save file: http://oarcinae.us/ScienceParser/ScienceReveal.txt

Kerbin:

1) I noticed there is undefined in the file (see also #3 below)

2) The numbers for Seismic Scan & Atmosphere look right to me. They can't be run when "splashed". All the rest are one too low (see #3 below).

3) It looks like there is no splashed for mountains or highlands (see #3a below). Looks like it is counting undefined so they are only one off instead of two (see #1 above).

3a) You can get splashed for both (I have done it) (WARNING SPOILER) near -21.8188 74.4875, also another highland: http://forum.kerbalspaceprogram.com/threads/69579-Water-Landings-vs-Splash?p=1133436&viewfull=1#post1133436

Mun:

1) Everything seems correct except Barometer Scan should be zero.

2) There is a undefined. It looks to be the Northern Basin

Minmus:

1) Everything seems correct except Barometer Scan should be zero.

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

×
×
  • Create New...