Sven's Avatar

Sven

@embersarc

hobby gamedev working on a spaceflight simulation game

434
Followers
370
Following
125
Posts
20.10.2024
Joined
Posts Following

Latest posts by Sven @embersarc

A rocket hovering above the water close to the shore. The water is transparent in shallow parts and gets progressively darker and more opaque the deeper it is.

A rocket hovering above the water close to the shore. The water is transparent in shallow parts and gets progressively darker and more opaque the deeper it is.

With the added transparency and light absorption, the water shader now passes the "do I want to go for a swim there" test :)

Next, I finally need to address the texture tiling.

#bevy #gamedev

23.01.2026 13:47 ๐Ÿ‘ 19 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This would have been trivial with the depth prepass. This way however I can use the depth from the main opaque pass and avoid rendering the terrain twice as its vertex shader is not quite trivial.

22.01.2026 19:49 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A scene with the ocean in the background. The ocean is just a black and white representation of the depth texture and shows the terrain underneath the water.

A scene with the ocean in the background. The ocean is just a black and white representation of the depth texture and shows the terrain underneath the water.

Managed to get the depth texture into the ocean shader. This felt super hacky with the higher-level material system but should allow for some nice transparency effects.

#bevy #gamedev

22.01.2026 18:30 ๐Ÿ‘ 15 ๐Ÿ” 2 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Video thumbnail
14.01.2026 21:26 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A moon with a barren surface containing a network of canyons with glowing lava. In the background is a gas giant with a ring.

A moon with a barren surface containing a network of canyons with glowing lava. In the background is a gas giant with a ring.

I added the option to output an emissive texture from the terrain generator. Here's a new moon to showcase the effect ๐ŸŒ‹

#bevy #gamedev

14.01.2026 18:37 ๐Ÿ‘ 24 ๐Ÿ” 5 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Post image

The clouds are currently just added on top of the atmosphere. This looks fine when the camera is close to the clouds but something is clearly off when looking at them from far away. Something to figure out another day.

19.12.2025 21:23 ๐Ÿ‘ 7 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

The clouds are rendered to two intermediate half-resolution textures, one for the first cloud volume intersection and one for a second one. A third texture saves the distance of the cloud volume from the camera.

The atmosphere shader then blends these textures to render the sky.

19.12.2025 21:23 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Clouds at sunset seen from space.

Clouds at sunset seen from space.

Clouds from just below the cloud layer.

Clouds from just below the cloud layer.

A happy little cloud from above. It casts a shadow on the ground below.

A happy little cloud from above. It casts a shadow on the ground below.

Many improvements later, here are some more impressions from the new volumetric cloud renderer.

#bevy #gamedev

19.12.2025 21:23 ๐Ÿ‘ 39 ๐Ÿ” 5 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Volumetric clouds, literally over the horizon of a planet. They have a warm tint as the sun is setting behind them. They currently lack high frequency detail.

Volumetric clouds, literally over the horizon of a planet. They have a warm tint as the sun is setting behind them. They currently lack high frequency detail.

First look at the volumetric clouds! I pushed this out for quite some time but am happy to see that they are finally on the horizon.

#bevy #gamedev

18.12.2025 20:22 ๐Ÿ‘ 16 ๐Ÿ” 4 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Video thumbnail

Something is wrong with the floating world origin. So may I present:

biblically accurate spaceship

#gamedev

06.12.2025 18:33 ๐Ÿ‘ 15 ๐Ÿ” 4 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This of course required a lot of modifications to the original code to support planetary rings among other things. I don't think Bevy's atmosphere rendering needs that, but I'll try to upstream some of the more general changes.

04.12.2025 22:57 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

As this new system supports an arbitrary number of atmospheres on screen, I can do away with the LOD atmosphere system. Another source of complexity gone :)

04.12.2025 22:57 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image Post image Post image Post image

I've been hard at work replacing the atmosphere renderer with a new one based Bevy's atmosphere implementation. It does not only look better, but is also quite a bit more performant!

#bevy #gamedev

04.12.2025 22:57 ๐Ÿ‘ 38 ๐Ÿ” 7 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
420 followers

420 followers

sorry I haven't been posting I'm sure you will understand

04.12.2025 22:46 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

It currently has a bit of gravity, mainly so that my orbital physics code does not break down.

Rendezvous is slightly different because it requires matching velocity with the ground, which in most cases means speeding up instead of slowing down.

07.11.2025 10:48 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
The spaceship in the foreground touched down on the ring world. In the distance, the surface curves to the top of the image.

The spaceship in the foreground touched down on the ring world. In the distance, the surface curves to the top of the image.

And here we are! The ring world is now fully integrated in the game. There are still a bunch of rough edges to take care of but it already feels great to sit on the surface and watch the stars slowly rotate behind it.

30.10.2025 14:19 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Thanks! It completely relies on the centrifugal force. Luckily I already have those implemented as they are also important with spherical planets. I'm curious about the emergent flight dynamics as well and it will likely take some trial and error to make this intuitive for players.

30.10.2025 14:10 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

can't wait to land on it and go ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™‚

25.10.2025 12:41 ๐Ÿ‘ 4 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

Many tweaks later, this is starting to take shape!

I increased the radius, added self-shadowing, rim walls and a mesh for the outside.

#bevy #gamedev

23.10.2025 17:18 ๐Ÿ‘ 18 ๐Ÿ” 3 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Haha yes sorry about that. Sure! Sounds like it could be useful

22.10.2025 15:34 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
A view from the surface of the ring world with the terrain curving up towards the top of the image.

A view from the surface of the ring world with the terrain curving up towards the top of the image.

But I just got the high-detail model to work! The changes to the terrain, ocean and cloud systems luckily didn't end up being too invasive.

18.10.2025 20:51 ๐Ÿ‘ 8 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

Okay maybe I don't feel like adding the atmosphere just yet.

In theory it's "just" a matter of curving it the other way, but that is easier said than done.

18.10.2025 20:46 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
The ring world closer to the ground with it curving away in the distance.

The ring world closer to the ground with it curving away in the distance.

The ring world seen from far away.

The ring world seen from far away.

And here's the initial low detail model! This is good as a first step to figure out how to generate and render a cylindrical world. The atmosphere is still missing, so that will be next.

17.10.2025 14:36 ๐Ÿ‘ 12 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

This is very much a "not because it is easy" kind of project. But I'm sure it will be well worth it.

All the building blocks are already there, but it will still be a lot of work as I never anticipated having to support non-spherical celestial bodies, but here we are.

17.10.2025 14:36 ๐Ÿ‘ 7 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
https://boac.artstation.com/projects/8eb00Q

https://boac.artstation.com/projects/8eb00Q

Alright let's build a megastructure!

I've been reading Consider Phlebas by Iain M. Banks and can't resist adding a ring world to the game.

Starting a thread for this one ๐Ÿงต

(image by @alexjaybrady.bsky.social for inspiration)

#gamedev #bevy

17.10.2025 14:36 ๐Ÿ‘ 43 ๐Ÿ” 2 ๐Ÿ’ฌ 4 ๐Ÿ“Œ 0
Same scene but with 220 instead of 20 FPS.

Same scene but with 220 instead of 20 FPS.

With an improvised workaround we're back to a decent frame rate!

13.10.2025 10:32 ๐Ÿ‘ 7 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Memory leak in `EntitySpecializationTicks` and `SpecializedMaterialPipelineCache` when multiple materials are present ยท Issue #21526 ยท bevyengine/bevy Bevy version and features 0.17.2 What you did This came out of a longer debugging session I "documented" in a bluesky thread. //! Example to reproduce memory leak issue. //! use bevy::{ pbr::{Exten...

Hyperbole aside, I was able to reproduce it in just a few lines of code: github.com/bevyengine/b...

13.10.2025 10:32 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

back at it now and boy do things look broken beyond belief

12.10.2025 22:10 ๐Ÿ‘ 6 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

With that fixed, EntitySpecializationTicks is another map that just keeps filling up. The reason might be related. Time for a break for now though.

12.10.2025 14:40 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Ah I had this backwards. Them being removed means that the `contains_key` check can return false and the cleanup later can actually happen!

12.10.2025 13:40 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0