veldera
Contents
veldera is an "Earth game engine", built atop Bevy, that uses Google Earth's 3D data as the game world. On top of this, it layers Avian Physics, atmospheric rendering, and a basic climate simulation. It is very cool to play with, but the project's currently paused for reasons explained below.
The Google Earth data comes from a Rust port and library conversion of earth-reverse-engineering, facilitating its use in other applications.
The fundamental problem with using this data is that it's processed photogrammetry data, and is thus full of inconsistencies, holes, and weird geometry. These are very undesirable for a game world - nobody loves falling through the literal Earth - and complicate its use for anything complex.
As an example, at the time of pausing, I had ground vehicles implemented, but I simply could not get them to work consistently on the terrain and roads: the computed colliders were simply too uneven to enable smooth driving. I iterated on collider construction for weeks, trying to find ways to smooth out local artefacts using surrounding data, and even resorted to using OSM roads to reshape the colliders on the fly.
I couldn't really make it work, and was discouraged at the time. I suspect, however, that coming back to it after a spell - and with smarter agents - would unlock avenues that were previously inaccessible to me. I'm not ruling it out, especially with projects like BeamNG.Earth demonstrating the possibility of driving on some form of Earth.
That said, I should point out that "game design at Earth scale" (or even "real-world scale"!) is enormously challenging. As it turns out, there's a reason why game recreations of real cities are scaled down - it's not just a production issue, it's that it is not actually fun to spend an hour driving from one end of a city to another. Another thing that's fixable with some thought, I suspect.
Media
philpax@philpax.me
extended weekend project: a completely standalone first-person Google Earth viewer with physics #bevy yes, you really can go anywhere
philpax@philpax.me
hacked and adapted Bevy's existing atmosphere support in last night, re-enabled lighting, and made a few more tweaks. enjoy some sunsets #bevy
philpax@philpax.me
my plans for small-scale traversal fell through, but that's okay - you can never go wrong with hovercrafts for medium-scale traversal #bevy
philpax@philpax.me
started working on veldera (Bevy + Google Earth data) again here's a sunset over the Swiss Alps
philpax@philpax.me
volumetric raytraced clouds with shadows, godrays, orbital visibility, driven by a global climate simulation still quite buggy, but directionally happy with it
philpax@philpax.me
here's some diagnostics gore
philpax@philpax.me
Fable successfully fixed a bug in twenty minutes that an eight-hour stretch of debugging with 4.8 couldn't fix comparison video is flickery, so marked as graphic github.com/philpax/veld...
philpax@philpax.me
added a first-person body and ragdolling to veldera ("engine" for Google Earth + Bevy) and celebrated in the only way I could think of: new york city human golf
