3D Bubbles

About time I posted a thread in a category other than Gameplay.

Something I only recently realized could add a lot of visual immersion to the Microscopic stages, is to remove all the 2D Bubbles and add in 3D Bubbles. If we do have spare manpower on the Graphics team at the moment, this could be a relatively simple task they could work on that could yield a lot of visual quality improvement.

2D Bubbles

The background is split into several layers, each of which has 2D bubbles included in their artwork.

Can be seen here in one of the mid-background layers:

Can be seen here in one of the back-background layers:

The problem with these 2D bubbles that are part of the background artwork is that they detract from visual immersion in the following ways:

  • They do not move
  • Since they are not 3D models they look flat (considering that cells and other parts are 3D)
  • The ambient tracks have bubbling sounds in them, but then I can look at the bubbles and see that they are not moving (and clearly part of a background artwork)
  • Humans are very perceptive, and can feel these points subsconsciously even if they’re not consciously aware of these points.

3D Bubbles

I’m proposing that we remove the 2D bubbles from all of these background artworks. Instead, we create a few 3D bubble models, and we spawn those on the background, midground (player layer) and foreground layers. And if possible, to also have bubbles generate on the background layer and rise up through the layers and ultimately past the player’s camera.

Mobile 3D bubbles will:

  • Better show depth when on different layers since they are 3D and mobile
  • Show currents through their motion
  • Add visual activity to the screen that can match bubbling sounds heard in the ambience
  • Open up a future ability to add some interactivity to bubbles such as being able to absorb resources from them, push them around, or burst them

Examples

Despite their shortcomings in realistic evolution, Spore admittedly did underwater visuals quite well. You can see 3D bubbles and other particles existing on several layers, with the ones not on the player's layer blurred since they're out of focus.

Though it's hard to see in a picture, the bubbles in Flow are 3D and exist at different levels of depth relative to the camera.

Implementation

What sort of impact would this have on performance in the Microbe Stage? Would adding a lot of bubbles on screen count as increasing the entity count?

Additionally, what sort of work would be necessary to get these features implemented? I would presume modifying the background artwork would just be a matter of some quick Photoshopping to remove the bubbles. Then some simple modelling would be needed to create 3-4 bubble models.

I would presume the more difficult tasks will be applying blur to bubbles that are in the background or foreground, or to create bubbles that rise past the player and past the camera.

Would the bubbles be able to ride the currents the way the compound clouds currently do? It would be good to add an additional visual indicator of the currents beyond just the clouds.

Though I’m not a modeller, I’m happy to help with implementation wherever possible.

Not trying to be that guy but, do we really need modellers to make some spheres? I think Godot auto-spawns those.

2 Likes

Oh ok perfect then. I was thinking perhaps it might be trickier, since microscopic bubbles have thicker membranes and don’t look like the bubbles we see with like soap, but maybe that could be just handled via the model’s textures/shaders.

I think that depends on if we want them to interact with the physics of other things or we can just get by with a bit of code moving them around. If the latter, I would imagine the performance impact is very minor, but we could anyway have an option in the settings to have low number or no decoration bubbles.

They could but their performance impact would be a lot higher, as calculating the current velocity at specific points is a pretty expensive operation as it uses a lot of noise.

I’d expect it to be very hard to remove them, probably easier to draw new backgrounds, but then again I’m no artist.
There’s been an issue with one of the backgrounds having a visible seam in the image for multiple years now but no artist has picked up redrawing / fixing that image.

1 Like

Sounds like a very reasonable change. It makes sense in light of the approaching 3D/macroscopic multicellular stage, which will probably feature fewer static „hand-drawn“ assets and rely more on dynamic environments. Revamping some of the 2D stage graphics can serve as a testing ground for features which we will use later on.
One such feature which immediatley comes to mind is fog. Bubbles which are further in the background wil need to be more desaturated than bubbles which are closer to the camera, and non-volumetric fog seems like a ressource-conserving way to achieve this (if I understand correctly, such kinds of fog have been used in games for decades and seem not to be graphically demanding).
In the microbe stage, a height fog which is at 0 on the gameplay plane and increases as things get further away from the camera should suffice.
That fogs color can be set to a pre-defined value which matches each biomes color scheme.
Beyond fog, blur/depth of field may represent another way of communicating depth, but as there are concerns about performance regarding this, I suggest we focus on fog for now.

It depends on the background. Those tiny bubbles in the estuary background could be difficult to remove, but I‘m not sure if that‘s necessary.
To be honest they are so small I never read them as bubbles in the first place. They look more like some sort of grainy debris to me.
I suggest we leave those be and just remove the larger bubbles which clearly read as such. I‘ll parse through the other backgrounds to estimate the viability of cleaning them up case by case.

Do we currently generate noisemaps in-game, or we have a set of pre-generated noise maps that the game uses for noise?

Hmm I hadn’t thought of fog, but yeah perhaps that could add some good visual immersion to microscopic gameplay as well.

Blur absolutely will help. If we can place 3D mobile objects on layers other than the player’s layer (the foreground and background), and blur them since they are out of focus, it adds a huge element of visual immersion.

But anyways in terms of bubbles, I can get started tinkering with adding some simple bubbles as a prototype when I get back from my trip. If possible I’d like to get some decorative bubbles, grains, particles, and crystals added to the game before the next release. And then if there’s still time, to make those particles interactable and also add blur and fog. I think adding visual immersion in this way, as well as revamping the ambient SFX (like in this thread) can greatly improve the audiovisuals of the game and make it draw in much bigger crowds for future updates, in turn meaning more developers.

1 Like
1 Like