View RSS Feed

HarvesteR's Dev Blag

Doing Science: Celestial Body Biomes!

Rating: 13 votes, 5.00 average.
This post is a bit late since I said I was going to write it up, but I wish I could impart some sense of the insanity of work that this week has been.

R&D is by far, and I mean orders of magnitude far, the largest single feature we've ever done. In sheer number of components, classes, assets and new gameplay systems, it dwarfs any other feature we've implemented on previous updates. Ones that maybe come close are PSystem and Persistence, but even those fall short. For R&D, there wasn't a single dev who didn't pitch in something. We've done new space center buildings, new UIs, new parts, both as new part modules and new assets, and new game logic of course, a lot of it.

Amidst all that then, is the subject of this post. I think it says something about the magnitude of R&D when you understand how this relates to all of R&D and consider that this here is subject enough for an entire dev post:

Well, enough of that, here's a little backstory on why this was necessary: After the experiments system was implemented, I began to worry that while there was indeed plenty of science to be done, considering all possible situations and all the experiments available, the issue was that there wasn't enough science to do at the very early stages of a Career game. Because the thing is, at that point, you just don't have the technology to go very far, so we needed something to let you do more science near home.

This is where Celestial Body Biomes come in. If going really far away isn't an option at the start, then there's still a lot of science to do on and around Kerbin, because Kerbin itself isn't a single destination anymore for experiments. It's got Biomes:


The Kerbin Biome Map

The Biomes system allows us to do several new interesting things. The map you see here is actually called a CelestialBodyAttribute map. These maps are something we can now add to any celestial body, and they allow us to look up a latitude and longitude on a color map, and check the color for those coordinates against a list of attributes, to see which one has the color that most closely matches the sample. It essentially lets us paint a map, and then arbitrarily define what each color on it means.

For Biomes, this means we get to define as many different areas as we want. We can say, for instance, that this tone of light green corresponds to grasslands, this other darker tone are highlands, mountains are a reddish tone, ice caps are white, shores are pink, and so on and so forth.

For Kerbin then, we've defined 9 different biomes:

* Grasslands
* Highlands
* Mountains
* Deserts
* Badlands
* Tundra
* Ice Caps
* Shores
* Water


This means depending on where you fly, orbit over, or land at, you can run your experiments, and if the biome is relevant to that experiment (as defined in the experiment definition), then instead of the science subject generated being something like "Crew Report at Kerbin's Surface", you get something like "Crew Report landed at Kerbin's Highlands". This means if you go out and roam around, you'll discover new things and get more science out of doing the same experiments, because the conditions for the experiment are different.

Experiments work with biomes in such a way that this allowed us to also use things that aren't quite biomes as locations for new science subjects. More specifically, you can take, for instance, a surface sample of the ground at KSC and get a different result than you'd get out in the boonies of Kerbin's grasslands.


Currently, the only planet featuring biomes is Kerbin, but on later updates we'll go on adding biome maps to other places as well, so you'll have good reasons to send out rover missions and set up comms bases in carefully selected places throughout the solar system. Ultimately, this means there is a LOT of science to be done now.

Cheers

Updated 1st October 2013 at 14:35 by HarvesteR

Tags: None Add / Edit Tags
Categories
Developer

Comments

Page 1 of 5 123 ... LastLast
  1. 1001sd's Avatar
    Wow, this is really cool! And this will lead to taking different samples from diferent places! Dry ice from Dunas poles! I'm really happy for .22!
    Thanks for making the game, and telling us what you are doing!
  2. Captain_Doug's Avatar
    And now the amazing truth. 0.22 is coming out in two minutes.
  3. The Destroyer's Avatar
    Holy.

    This is a really great update!

    Also, the 0.22 update didn't come out Captian Doug
  4. Supernovy's Avatar
    So this means in future updates, landing a rover near the intersection of multiple biomes may be more advantageous than sending a static lander? Awesome.
  5. macegee's Avatar
    instead of the science subject generated being something like "Crew Report at Kerbin's Surface", you get something like "Crew Report landed at Kerbin's Highlands"
    Is there more to it? I mean, an actual crew report? What's it gonna say?
    Or is it just you go "generate crew report", then bang, "crew report complete, send it?" and we're done? What's exactly of science there?
  6. HarvesteR's Avatar
    Quote Originally Posted by Supernovy
    So this means in future updates, landing a rover near the intersection of multiple biomes may be more advantageous than sending a static lander? Awesome.
    Yep. It also means having an orbiting science station on an inclined orbit is better than an equatorial one, because as the planet rotates below, you cover larger swathes of ground.


    Quote Originally Posted by macegee
    Is there more to it? I mean, an actual crew report? What's it gonna say?
    Or is it just you go "generate crew report", then bang, "crew report complete, send it?" and we're done? What's exactly of science there?
    There is more to it. Each science subject can have a specific result that gets posted as you run it. Of course, that's too large an amount of results to write by hand, so we are writing as many as we can, and the way it's done lets us assign just how and where we want those results to be displayed, so we can have generic results to cover multiple situations, and very specific ones that only apply to exact situations. This doesn't affect the amount of science that can be done for each particular subject, but it gives us a way to add in a lot of new content to find, without forcing us to fill in all of it immediately, which is a very good thing. At the very least, you'll get a default message for having run the experiment, and all the science that comes of that particular subject, of course.

    Cheers
    Updated 1st October 2013 at 15:03 by HarvesteR
  7. FellipeC's Avatar
    This is awesome!!!
  8. rasheed's Avatar
    Hell yea
  9. macegee's Avatar
    Oh, that's nice to hear. Can we have graphs in those reports? My latest mission discovered different layers of Kerbin's atmosphere by simply drawing a graph of temperature reading (saved to CSV file with Graphotron 2000).

    And can we get this Biome Map in our Map View as a layer toggle ? Along with, lets say, Height Map layer?
  10. Skorpychan's Avatar
    So, this means I need to chuck stations into polar orbits ASAP, strap multiple science bays to them, and give them loads of solar panels for the power to transmit data?

    Of course, that increases the chances of any of my lifters hitting them on the way up...
  11. Jacob843's Avatar
    Oh, wow! Great work! I can't wait for .22
  12. Cykyrios's Avatar
    A quick question about those biomes: any chance that they'll have consequences on things such as temperature? Right now, temperature is constant (IIRC) everywhere on a planet's surface, and doesn't change with the day/night cycle.
    Other than that, this solution seems to be really good, nice work as always!
  13. Majiir's Avatar
    Is there any chance a future revision will integrate with the PQS system so the maps don't need to be crafted manually? Might there be data on some dimension other than color?
  14. Fyzzi's Avatar
    Oh yeah... sounds really great... can't wait for the .22 update thanks Harv
  15. nothke's Avatar
    Is the terrain elevation itself going to change? I hope it won't ruin the Kerbin City work so far.
  16. HarvesteR's Avatar
    Quote Originally Posted by Majiir
    Is there any chance a future revision will integrate with the PQS system so the maps don't need to be crafted manually? Might there be data on some dimension other than color?
    These maps are generated independently of PQS, exactly because we wanted to have something that frees us from having to tie everything to it. The attribute maps system is meant to allow arbitrary definitions of values over the surface of celestial bodies. If we tied it to PQS, we would lose the abitrariness of it.

    That said, nothing keeps us from combining this data with other data from PQS to query some other dataset, we'd have to implement that separately of course.

    As for other dimensions other than color, yes, there's more to it than just setting names to each color, we also have a 'value' field for each CBAttribute listed, which can mean anything... it's just a float value.

    Apart from that, a mod could create extensions for the CBAttribute class to assign even more data to each attribute, but that's getting a bit beyond what we wanted out of this system. And you could just have multiple maps in that case.

    The map being keyed by color actually lets you define 4 different criteria to determine something. Imagine a map where the red channel is temperature, blue is humidity, and green is height.... You could then create ranges to assign meaning to arbitrary areas in that 'cube'. There's a lot that can be done with this system. Biomes are just the first use of it.

    Cheers
    Updated 1st October 2013 at 15:31 by HarvesteR
  17. Free Trader Beowulf's Avatar
    That sounds fantastic! It'll really add a lot of depth to the game
  18. geb's Avatar
    Quote Originally Posted by Harvester
    ... so you'll have good reasons to send out rover missions and set up comms bases in carefully selected places throughout the solar system ...
    Do all the comms still go straight back to Kerbin, or can we set up relay stations now?
  19. GabrielG.A.B.Fonseca's Avatar
    Very interesting!

    Also, doesn't the new Biome system open up the possibility to create different kinds of terrain scatter and to automatically assign it to a certain region of the planet?

    Something like:

    Name: Oak_Tree
    Biome: Highlands
    Density: 0.7

    Where "Name" is asset name, "Biome" is, well, biome and "density" is the density of the Terrain Scatter.
  20. RocketPilot573's Avatar
    *Sigh* Why must you guys ALWAYS go so far above my expectations!

    Me: "Oh, it's a sandbox space game"

    Devs: "We're gonna add this! and that! and THIS and THAT!"

    Me: *faints*

    You guys are so awesome...
Page 1 of 5 123 ... LastLast