Archive for August, 2019
Surface Grids & Lasers | DevLog #9
Aug 30th
Video: Building a gigantic, snow-capped mountain by increasing elevation
Surface Grids & Lasers are not yet available in Universe Sandbox! This post is a behind-the-scenes look at our work on these features. We don’t have a release date yet, but we’re getting closer.
If you haven’t seen them yet, check out the previous Surface Grids DevLogs #1, #2, #3, #4, #5, #6, #7, and #8. Keep in mind these are documenting a work-in-progress feature. Anything discussed or shown may not be representative of the final release state of Surface Grids.
A primer on Surface Grids for anyone not familiar:
It’s a feature we’re 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.
New Highs & Lows
See that archipelago in the middle of the ocean? Those are the great Hawaiian islands. We’ve been tweaking the heightmap for Earth to get all the details right, and we’re happy to welcome back Hawaii and the full coastline for Florida. There are some details to iron out still, like the large body of water that’s currently sitting in the middle of Australia.
It’s a bit difficult to get the coastlines and bodies of water correct for a planet we’re all intimately familiar with — any errors are quickly noticed by a geography whiz or anyone who lives near the area that’s incorrectly flooded or barren.
This difficulty is due to a current limitation in the elevation simulation: When we divide the full range of elevation for Earth into the limited steps we have available for storing the data, we get 83 meters per step. This means the maximum detail we can account for is 83 meters. And unfortunately, geography doesn’t often look like 83 meter ocean-side cliffs. A lot of coastline is much closer to sea level, and the smaller distinctions between land and water are lost. We have ideas for improving this, but for now, some hand-tuning of the heightmaps can get us the results we’re looking for.
Creating Continents
Another issue we’re grappling with is the state of heightmaps for randomly generated planets. Right now, adding some water to a randomly generated planet will create bodies of water and land masses as you’d expect, but the results look less like geological formations and more like noisy data.
This is something our lead graphics developer, Georg, has been wanting to work on, but his plate has been full with other aspects of Grids. …Enter Brendan, our new graphics developer! Brendan will be working with Georg on graphics for Universe Sandbox, and first on his list is the not-at-all-complicated (wink) task of creating a random heightmap generator capable of building known geological features in unique, random configurations. We’re happy to welcome Brendan to the team. Hopefully we’ll have some screenshots of his work in our next devlog.
Making Mountains
Right now something interesting happens when you hold shift while using the laser: it makes mountains. Or technically speaking, it raises the elevation. You can also decrease the elevation, too. So even if you don’t like the new and improved randomly generated heightmaps that we’re working on, you can go in and shape it yourself.
This functionality won’t remain attached to the laser, that’s just a temporary, developer-only solution until we build out the interface for this new tool. We’re pretty sure you’re gonna like it.
In the video above, we’ve divided a planet with a mountain range and then flooded one half, creating one hemisphere of ocean and another of land.
What’s Next
In addition to working on these various aspects of heightmaps and elevation, we’ve been doing a lot of work in other areas of the Grids simulation and tech, like getting visuals working on gas giants and planetoids (see above) and making the auto setting for lasers a bit smarter.
Up next is patching up all the holes we find as we continue to poke at the simulation. We also want to add a lot more visual detail to the edges of different areas like ice and molten surfaces to make it look a bit more natural. And there are plenty of other improvements and fixes to make.
We’re only kind of joking when we say it’s getting harder to pull ourselves away from playing with this feature so we can actually work on it. But in all seriousness, we continue to make good progress and we’re really liking the way it’s coming together. We can’t wait to share it. See you in our next devlog!
Follow @universesandbox
Galactic Clean-Up | Update 23.1
Aug 20th
August 26: Updates 23.1.2 and 23.1.1 are hotfixes for startup issues for VR users and users with older processors.
Run Steam to download Update 23.1, or buy Universe Sandbox via our website or the Steam Store.
This update adds a bunch of improvements and fixes to the galaxy simulation, making for more stable and accurate galaxies and better collisions. There’s also a new and improved Introduction tutorial and a new simulation of 2019 OK, the near-Earth asteroid that surprised astronomers when it was observed just a day before it flew past us on July 25, 2019.
Some more highlights from Update 23.1:
- Improved handling for galaxies & smaller-scale objects
- More accurate galaxy masses
- New galaxy Star Count property
- New Teleport tool
- Many smaller improvements & bug fixes
The new Introduction is designed for anyone who is just getting started with Universe Sandbox, but we encourage even the most seasoned creators and destroyers to check it out:
Home > Guides > Introduction
And have you tried the galaxy tutorial yet? It’ll show you how to get the most out of the new galaxies:
Home > Guides > Exploring New Galaxies
Surface Grids & Lasers | DevLog #8
Aug 9th
GIF: Filling in the Moon’s craters with ice.
Here’s our round eight DevLog on the development status of Surface Grids and Lasers. Thanks for everyone’s patience with this blog post. We took a little break from Surface Grids to talk about our work on Magic Leap in our last post — check it out to see planets bouncing off of walls and our new, floating user interface. And if you haven’t seen them yet, check out the previous Surface Grids DevLogs #1, #2, #3, #4, #5, #6, and #7.
A primer on Surface Grids for anyone not familiar:
It’s a feature we’re 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.
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. Read: Surface Grids & Lasers are not yet available in Universe Sandbox! To make this more clear, we’re now calling these posts DevLogs instead of Dev Updates.
Random Improvements
Everyone likes Earth and the rest of the cool, popular planets that make up our Solar System, but sometimes you want something a little different. That’s why we have the randomly generated planets. And with Surface Grids, the randomly generated planets are getting a little makeover.
We now have new textures and new elevation maps (which you can now see in the data map) that spruce these up and make them more unique. And we have further plans to improve how these are generated to widen the range of possibilities and customization.
Water Your Planet
It’s been possible for a while now to add water to planets in Universe Sandbox. But it’s never looked so good as it does with Surface Grids.
The key components to this improvement are great examples of what make Surface Grids an awesome and powerful new feature. It’s all about the localized data: First, you can see that the water spreads locally. Before Surface Grids, water would just fill in across the whole surface, regardless of where it hit. Second, you can see the direct correlation between elevation and water level. This was sort of possible pre-Surface Grids, but now there’s a data map for both of these that makes it even easier to see this in action (see screenshot below). And third, you can see the water freeze and the ice melt locally as well. That’s the nice localized temperature part of it.
Watch Your Step
Detouring from how awesome Surface Grids is, let’s look at one of its fundamental challenges. As with most simulation features in Universe Sandbox, Surface Grids has to battle against the simulation time step (the rate at which the simulation runs, for example 10 days per real-time second). We know that it would be awesome if you could just set the time step to whatever rate you wanted and it would just work, but that’s unfortunately not possible, at least not without sacrificing accuracy.
This fact is most obvious with gravity simulation in Universe Sandbox. The simulation automatically sets a limit to how fast the time step can go while still maintaining relatively accurate orbits. And if you try to set it faster than this limit, you’ll see a message that it’s not safe to do so. For Surface Grids, we’ll need to add a similar warning system, as it too has a limit for accurate results.
A good example of time step limits for Surface Grids is in the simulation of water flow. This is simulated by moving X volume of water from one cell to its neighboring cell each step. The maximum volume of water that can be moved in each step is the maximum volume contained in that cell — it can’t transfer water that it doesn’t have. So if you’re running at a time step that is already moving the maximum amount of water and you try to increase the time step further, the data starts to get a little weird.
We have some ideas for improving this, but ultimately there’s no way around time step limits. Our hope is that we can make a smooth experience by communicating where these limits are while allowing you to exceed them at the risk of accuracy loss.
What’s Next
We’re feeling really good about our progress on the Surface Grids feature. Now that we have the visuals and systems working for random planets, it’s time to turn to planetoids and gas giants. We also want to work on visualization for vapor, but that’s one of the few remaining items that still need a connection between data and graphics.
There are some more apparent issues to work through yet, too, like getting water levels to initialize properly on Earth. Then there are the new elements of the user interface (UI) that we’ve designed but have yet to add, and some questions about UI interaction that come up as we continue to play around with Surface Grids. And of course there are the inevitable giant bugs running around that have to be squashed.
All of this will definitely keep us busy, but the pile of tasks gets smaller every day as we get closer to releasing an experimental build and getting out the official update. We still can’t say when either of these will come yet — we thank you for your patience.
We’re also still working on a smaller update that will introduce some improvements and bug fixes for the new galaxies added in Update 23, plus a new introductory experience. Hopefully we’ll have this ready soon!