{"id":3743,"date":"2019-06-23T17:16:45","date_gmt":"2019-06-24T00:16:45","guid":{"rendered":"http:\/\/universesandbox.com\/blog\/?p=3743"},"modified":"2021-05-20T11:31:56","modified_gmt":"2021-05-20T18:31:56","slug":"surface-grids-status-6","status":"publish","type":"post","link":"https:\/\/universesandbox.com\/blog\/2019\/06\/surface-grids-status-6\/","title":{"rendered":"Surface Grids &#038; Lasers | Dev Update #6"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/i.imgur.com\/UeUKDvf.gif\" width=\"650&quot;\" height=\"321\"><br \/>\n&nbsp;<br \/>\n<span style=\"font-weight: 400;\">Here\u2019s our round six update on the development status of Surface Grids and Lasers. If you haven\u2019t seen them yet, check out Dev Updates <\/span><a href=\"https:\/\/universesandbox.com\/blog\/2019\/04\/whats-next-spring-2019\/\"><span style=\"font-weight: 400;\">#1<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/universesandbox.com\/blog\/2019\/04\/surface-grids-status-2\/\"><span style=\"font-weight: 400;\">#2<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/universesandbox.com\/blog\/2019\/05\/surface-grids-status-3\/\"><span style=\"font-weight: 400;\">#3<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/universesandbox.com\/blog\/2019\/05\/surface-grids-status-4\/\"><span style=\"font-weight: 400;\">#4<\/span><\/a><span style=\"font-weight: 400;\">, and <\/span><a href=\"https:\/\/universesandbox.com\/blog\/2019\/06\/galaxies-grids-status-5\/\"><span style=\"font-weight: 400;\">#5<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This will be a smaller update than usual because we\u2019re focusing our efforts on the last sprint for the <\/span><a href=\"https:\/\/universesandbox.com\/blog\/2019\/06\/galaxies-grids-status-5\/\"><span style=\"font-weight: 400;\">new galaxies<\/span><\/a><span style=\"font-weight: 400;\"> we\u2019ve been working on. We hope you won\u2019t have to wait long for their official release, but if you\u2019re feeling impatient, you can check them out by <\/span><a href=\"http:\/\/universesandbox.com\/support\/experimental\"><span style=\"font-weight: 400;\">opting into the experimental version<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">A primer on Surface Grids for anyone not familiar:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It\u2019s a feature we\u2019re developing for Universe Sandbox that makes it possible to simulate values locally across the surface of an object. In effect, it allows for more detailed and accurate surface simulation and more dynamic and interactive surface visuals. It also makes it possible to add tools like the laser, which is essentially just a fun way of heating up localized areas of a surface.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Keep in mind this is a development log for a work-in-progress feature. Anything discussed or shown may not be representative of the final release state of Surface Grids.<\/span><\/p>\n<h2><b>Set Phases to Accurate<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Our last dev update focused on the upcoming galaxies, but at the end we mentioned how Jenn, astrophysicist and Universe Sandbox developer, was working on vapor flow for the Grids model. We also joked that the challenging part here is creating this \u201caccurately and performatively without single-handedly developing Weather Simulator 2020.\u201d Unfortunately, the joke is all too real!<\/span><\/p>\n<p><span style=\"font-weight: 400;\">That doesn\u2019t mean we are actually developing a complex weather simulator, but there is nonetheless complexity. While developing the vapor flow model, Jenn has been doing her homework with research into fluid systems and geophysics (if you\u2019re looking for some light reading, you can check out <\/span><a href=\"https:\/\/pdfs.semanticscholar.org\/d3a2\/544d1061a823b7e68ca22a24918bc0a1aa6a.pdf\"><span style=\"font-weight: 400;\">Lectures On Dynamical Meteorology<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"http:\/\/www1.maths.leeds.ac.uk\/~amtyt\/4520\/gfd.pdf\"><span style=\"font-weight: 400;\">Geophysical Fluid Dynamics<\/span><\/a><span style=\"font-weight: 400;\">, and <\/span><a href=\"https:\/\/books.google.com\/books\/about\/An_Introduction_to_Planetary_Atmospheres.html?id=lCXYQ4phwbwC\"><span style=\"font-weight: 400;\">An Introduction to Planetary Atmospheres<\/span><\/a><span style=\"font-weight: 400;\">). <\/span><\/p>\n<p><span style=\"font-weight: 400;\">The first part of vapor flow is determining what exactly is vapor; this is done by phase tracking, which determines what phase each material is in, based on temperature and elevation. For water, vapor is its gas state, then we need to see where it\u2019s headed from there &#8212; whether it\u2019s evaporating or condensing at the dew point, depositing, if it should be boiling away completely, etc. If it\u2019s remaining as vapor, then the model accounts for a few factors to move it around: there are the prevailing winds which vary by latitude, are affected by planet rotation, and cause east-west movements (as seen in the GIF at the top), and there are temperature differentials from thermal flows and elevation that cause north-south movement (still a work in progress).<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-3744\" src=\"https:\/\/universesandbox.com\/blog\/wp-content\/uploads\/2019\/06\/Grids-Dev-Update-Vapor-650x366.png\" alt=\"\" width=\"650\" height=\"366\" srcset=\"https:\/\/universesandbox.com\/blog\/wp-content\/uploads\/2019\/06\/Grids-Dev-Update-Vapor-650x366.png 650w, https:\/\/universesandbox.com\/blog\/wp-content\/uploads\/2019\/06\/Grids-Dev-Update-Vapor-300x169.png 300w, https:\/\/universesandbox.com\/blog\/wp-content\/uploads\/2019\/06\/Grids-Dev-Update-Vapor-768x432.png 768w, https:\/\/universesandbox.com\/blog\/wp-content\/uploads\/2019\/06\/Grids-Dev-Update-Vapor.png 1920w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/p>\n<p><span style=\"font-size: xx-small;\">Image: The \u201cheat map\u201d shows vapor amounts (<i>not<\/i> vapor flow), where red is higher amounts and blue is lower. The poles are both much drier, and because there\u2019s much less evaporation over land than oceans, you can see the outlines of the continents.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We want to stress that this is necessarily a very simplistic model, largely limited by its low resolution and the amount of memory we can allocate for this single component of Grids. There are lots of things missing that make this very different from more complex weather simulations &#8212; there are no vortices, so there won\u2019t be anything like hurricanes, it is only a 2D simulation with no layers through the vertical dimension, and it\u2019s fairly low resolution. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">But we hope to use this data for the resulting local vapor amounts to have rough approximations for clouds, ice caps (for Mars, this effect happens with CO2 vapor flow), and for the future implementation of basic life simulation (vegetation), it could affect growth in dry and wet areas. <\/span><\/p>\n<h2><b>Loading\u2026<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">In our last post, we also mentioned Chris\u2019s work on saving and loading with Grids. This component of the feature obviously isn\u2019t as interesting as, say, lasers, but at the same time, it\u2019s essential to get it right and it\u2019s another good representation of challenges on the edges of new feature development. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here\u2019s a shortlist of some of the questions and challenges that doesn\u2019t even get into the technical weeds: How can we deal with file type and size limits for different platforms, like Steam Workshop, mobile devices, etc.? How can we maintain file size for fast, background autosaving and quicksaving? How can we get it to play nicely with previously saved simulations with objects that didn&#8217;t have all of the Grids data?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We had similar saving and loading questions with the new galaxies: What should happen if you load simulations that had the old galaxies? They won\u2019t look and function the same. Should we change their shape and motion to use the new model, or should we preserve appearance? Is it okay to change sims on Steam Workshop that are very popular? <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Saving and loading is something we all hope just works seamlessly and shouldn\u2019t be something the player ever has to think about &#8212; which are both telltale signs that there is little room for bugs, errors, and bad user experience (UX). Thankfully, we have answers to all of these questions! <\/span><\/p>\n<h2><b>What\u2019s Next for Grids<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">We\u2019re hoping to make some good progress again on the visual side of Grids, rendering all of that wondrous data into some nice planet graphics. We\u2019ve been recruiting our graphics developer, Georg, to work on some other projects (like the now so gorgeous galaxies), but it\u2019s time for Grids attention again. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Thanks for reading! We&#8217;ll be back in two weeks with another update on development. And hopefully before that, we\u2019ll have our next big update with new galaxies. <\/span><\/p>\n<p>&nbsp;<br \/>\n&nbsp;<\/p>\n<p><a class=\"twitter-follow-button\" href=\"https:\/\/twitter.com\/universesandbox?ref_src=twsrc%5Etfw\" data-show-count=\"false\" data-size=\"large\">Follow @universesandbox<\/a><script async=\"\" src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\n<iframe loading=\"lazy\" style=\"border: none; overflow: hidden;\" src=\"https:\/\/www.facebook.com\/plugins\/page.php?href=https%3A%2F%2Fwww.facebook.com%2FUniverseSandbox%2F&amp;tabs&amp;width=340&amp;height=70&amp;small_header=true&amp;adapt_container_width=true&amp;hide_cover=false&amp;show_facepile=false&amp;appId\" width=\"340\" height=\"70\" frameborder=\"0\" scrolling=\"no\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Here\u2019s our round six update on the development status of Surface Grids and Lasers. If you haven\u2019t seen them yet, check out Dev Updates #1, #2, #3, #4, and #5. This will be a smaller update than usual because we\u2019re focusing our efforts on the last sprint for the new galaxies we\u2019ve been working [&hellip;]<\/p>\n","protected":false},"author":19,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3,21],"tags":[],"class_list":["post-3743","post","type-post","status-publish","format-standard","hentry","category-development","category-devlog"],"_links":{"self":[{"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/posts\/3743","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/comments?post=3743"}],"version-history":[{"count":10,"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/posts\/3743\/revisions"}],"predecessor-version":[{"id":4683,"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/posts\/3743\/revisions\/4683"}],"wp:attachment":[{"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/media?parent=3743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/categories?post=3743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/universesandbox.com\/blog\/wp-json\/wp\/v2\/tags?post=3743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}