Kerbal Space Program – Science Checklist

UPDATE: I just uploaded Revision 2.  See bottom of post for changes.

Page 1 of 5.
Here’s what it looks like — get the HTML, PDF, or XLSX to see the real thing.

I decided it’s time to get serious about my pretend space exploration (Kerbal Space Program).  I wanted a way to keep track of the various science experiments I’d done, and the built-in interface is so-so about tracking that in one easy to read place.

So I spent today building a script to generate a giant Kerbal Science Checklist!

I basically scraped a lot of rules from the Kerbal Space Program wiki and coded them into a bunch of data structures in Python, then had the script iterate them to generate a giant HTML document.  I wanted to print mine, so I tweaked the output HTML to pagebreak cleanly, and turned it into a PDF.  I also found that it copy pasted into Excel without too much trouble.

The science points shown indicate the base value for returning the results safely to Kerbin (as opposed to transmitting them), and they don’t include the subsequent value of repeating the experiment.  They’re probably not perfect…I didn’t test the math very much.

Updated 29 June 2014 — changes in revision 2:

  • I noticed that the HTML download didn’t have the images — fixed.
  • I’ve been told that you can splash down on Eve, Laythe, and even some non-water biomes of Kerbin.  I’ve added “Splashed” rows for Eve and Laythe.  I didn’t add a separate “Splashed” section for Kerbin, since it would be very long, and few people probably care about splashing down in a puddle in the badlands.
  • I removed the invalid “Surface” row for Kerbol (the sun).
  • Fixed seismic scans in water — they’re invalid.

Download revision 2 here:


6 Replies to “Kerbal Space Program – Science Checklist”

  1. Dear Mr. Bletsch,

    this is a great idea! I will look through the game files and update your biome list to 1.0, expect a PR on github!

    ~Dimitri “Tyrope” Molenaars

      • Turns out there are a LOT of new “Location Biomes” on Kerbin, namely the KSC and all it’s buildings and sub-buildings.

        I’m adding them but we might need to collaborate on exactly what is possible at each location and how to modify your script. It lacks comments and is pretty hard to read for others. 🙂

        • Sure. I’ll give you a super quick intro.

          Lines 9-28: Gnarly table parser just to make inputting data easier; safe to ignore, since it works.

          Lines 30-163,186-187: Raw data. Code that munges this data that’s mixed in is just doing some transformation to make lookups easier later, and is safe to ignore.

          Lines 164-182: Returns the point value of a particular test. The ‘Recover’ case is known to be broken.

          Lines 190-199: Scratch test used during development; ignorable.

          Lines 204-291: HTML headers and crap.

          Lines 292-358: The really sinful part — this started as a simple “iterate and print” loop, but I kept having to add conditions to match the reality of KSP. Things like “you need an atmosphere to be flying”, “you can’t land on planets with no surface”, etc. There’s also a bunch of conditionals for formatting things like HTML pagebreaks. The nastiest thing is scope, which can be “-“, “–“, or “—” depending on how “scopeless” it is…this makes no sense and is a strong indicator of brain damage on my part. Your best bet are the little comments on the conditional checks for that. Another horrible part is the insane math and logic around the row-spanning cells, since that screws up the nice orderly table logic.

          Rest of it: HTML footers.

Leave a Reply

Your email address will not be published. Required fields are marked *