EmptyEpsilon icon indicating copy to clipboard operation
EmptyEpsilon copied to clipboard

Higher resolution nebulas assets

Open Jadael opened this issue 6 months ago • 13 comments

This PR replaces the original nebula assets with NASA-based, fractal-detailed textures and implements several technical improvements to maintain gameplay balance and visual consistency.

3D view, in the exact middle of the nebula: image

First person, 10U away: image

Radar: image

Key PR Issues

Radar Readability (Fixed)

Initial high-brightness textures made asteroids invisible and text unreadable on radar

  • Created separate, purpose-built radar traces instead of reusing 3D textures
  • Reduced additive brightness to 70% (max level 180/255)
  • Added 7 new radar trace variants designed specifically for 2D radar view

Visual Consistency (Maintained)

New textures initially changed the established aesthetic to orange-heavy palette

  • Adjusted color profiles to match original reddish/greenish/blueish scheme
  • Maintained "big background object" design philosophy
  • Preserved clear distinction from ship traces

3D Rendering Improvements

Implemented golden spiral arrangement for more natural volumetric appearance

  • 24-48 cloud layers (vs previous 32 fixed)
  • Size gradient from 5120 units (center) to 1024 units (edge)
  • Consistent volume appearance from all viewing angles

Technical Changes

Old New Rationale
Textures 3 files, ~32KB each 3 files, ~546KB average Higher detail, fractal noise
Radar Traces Reused 3D textures 7 dedicated files, ~1.7MB each Optimized for 2D readability- could probably be scaled down significantly without visual quality loss
Arrangement Random within a circle Golden spiral (137.508°) Consistent volumetric illusion from all angles
Cloud Count Fixed 32 Random 24-48 To maintain variation between nebula
Render Distance 20,000 units 40,000 units Visible in main view whenever they are visible in long range view- and out to the same distance as radar signature range (2x Long Range range)

Performance Considerations

  • Asset Size: ~13MB additional storage for radar traces- Helms and Weapons do see them at about "screen size" though- maybe use JPG instead of PNG?
  • Runtime Impact: Keeping the image assets from exceeding 70% brightness feels about right in-game- could maybe be done in-code instead

Visual Verification Needed

Need to verify these scenarios look acceptable:

  1. Ship & Asteroid visibility in nebulae (short-range radar)
  2. Text readability over nebula areas
  3. Consistency with original aesthetic
  4. Distance rendering (close/medium/far views)

Files Changed

  • resources/Nebula[1-3].png - Replaced with new high-res versions
  • resources/radar/nebula[1-7].png - New dedicated radar traces based on actual top-down appearance of nebula
  • scripts/api/entity/nebula.lua - Updated generation algorithm- golden spiral instead of random for visual cohesiveness, random number of cloud layers to maintain natural variation

Backward Compatibility

  • Maintains same radar blocking radius (5U), assets scaled to match
  • Preserves existing gameplay mechanics

Original Post:

Higher resolution nebulas, based on NASA images, with fractal noise for interesting detail in different view scales.

image

Please be aware, it does seem to make a visual bug with nebulas in 3D view more obvious, where they are rendered a little smaller than they should be when you are further away and they don't overlap visually in the same way their real size does.

Jadael avatar Jun 16 '25 23:06 Jadael

These nebula images' color intensity causes some readability issues on radar, which might not be undesirable but are notable changes.

Asteroids in nebulae are significantly more difficult to see on short-range radar:

Screenshot_20250616_171713

Areas of near-white intensity make text, radar traces, and heading indicators unreadable:

Screenshot_20250616_171641 Screenshot_20250616_171622

oznogon avatar Jun 17 '25 00:06 oznogon

The additive nature and high brightness can do that indeed. Reducing the color in the radar_trace component for the nebula might help in this case, while still giving a full on effect in the 3D view?

daid avatar Jun 17 '25 08:06 daid

The additive nature and high brightness can do that indeed. Reducing the color in the radar_trace component for the nebula might help in this case, while still giving a full on effect in the 3D view?

Actually, now that you say that, it makes me wonder, should nebula have a proper radar trace, as ships and other objects do? Are there any other objects that show on the radar as full-color objects like this besides nebulas? I could probably think up some options following the same design principles as the ship traces. (EDIT: Though, allow me say, I love the way both old and new nebula look on the scope and it would be a shame to lose that.)

Jadael avatar Jun 17 '25 23:06 Jadael

Are there any other objects that show on the radar as full-color objects like this besides nebulas

Wormholes and black holes also do.

oznogon avatar Jun 18 '25 00:06 oznogon

While Wormholes and blackholes have no "wireframe" like traces, they still have different visuals on the radar and 3d view. So nebulae are the only outlier here, as they use the same image for both. Maybe we could use the old images for radar, and the new ones for 3d?

Btw. I just saw that the radar traces for wormholes seem to be broken in ECS

aBlueShadow avatar Jun 18 '25 01:06 aBlueShadow

Btw. I just saw that the radar traces for wormholes seem to be broken in ECS

That should be fixed by the merging of #2433.

oznogon avatar Jun 18 '25 23:06 oznogon

Ah, what I was interpreting as a bug with nebula's 3D view above was actually mostly me misunderstanding how their cloud array worked. I think what's actually going on is that nebula would just have to be tweaked to accommodate these new images, since they're so different. I'll be playing around with this more anyway, so my plan is to:

  • Adjust the radar trace color, maaaaybe the size too if I zoom in real close and feel like I'm not happy with the radar blocking radius syncing up with the graphic, but I did try to follow the existing nebula's gradient so it's close.
  • Adjust the cloud layers in nebula_renderer to better accommodate the new images and try to get it to look like a 3D interpretation of the 2D radar trace, as it did before

Just to put those thoughts out there in case anyone else is bored and tries them before I do.

Jadael avatar Jun 19 '25 00:06 Jadael

Actually, now that you say that, it makes me wonder, should nebula have a proper radar trace, as ships and other objects do? Are there any other objects that show on the radar as full-color objects like this besides nebulas? I could probably think up some options following the same design principles as the ship traces. (EDIT: Though, allow me say, I love the way both old and new nebula look on the scope and it would be a shame to lose that.)

The nebula are more big background objects, just like black holes and wormholes. So they are fine to have a different visual style, as they are different. If they would be some "blip" like trace, you could mistake them for something you could not fly through.

daid avatar Jun 19 '25 07:06 daid

Another thing, the 2nd image has this rectangular shape it in: image It gives the illusion of that part being less in the nebula compared to other bits, which isn't the case.

daid avatar Jun 19 '25 07:06 daid

  • billboard sprites darkened a bit (max brightness level 180 of 255) so they add together more "softly" and block less from view in 3D view.

  • nebula.lua tweaked to arrange the billboards in a golden spiral (so that they feel volumetric from all angles as consistently as possible), with sizes tweaked so that the new billboard images overlap "just right" (subjectively, based on flying around a bit and looking at different magic numbers for min and max size)

  • radar traces now have separate graphics based on how the nebula now actually appear in-game in top down view, with a few artistic tweaks (some blurring) to make it look nicer in 2D, instead of showing one of the available 2D billboards. Since they are based on the now darkened billboard sprites, these are a bit darker now too and don't interfere with radar traces and labels as much.

(Please note, in these examples the skybox has been replaced with pure black)

image

image

image

image


Here is what is happening in top-down. Each cloud sprite's size increases from 1024 at the rim to x5 that at the center, so from the side they don't feel round, but they do feel like solid clouds.:

image

Jadael avatar Jun 22 '25 20:06 Jadael

There is maybe not much we can do about it without loosing density, but on first person view, the nebulae is still very bright due to the additive rendering. So this post is basically for the sake of completeness nebulae

aBlueShadow avatar Jun 22 '25 21:06 aBlueShadow

They're currently at, effectively, "70% brightness", so that could be brought down more (probably worth trying 50%, 25%, and 10% for thoroughness), and we could play with their gamma curve too.

I think the question is design now: how opaque should they be?

Comparing old and new histograms:

Old: image

New: image

Jadael avatar Jun 23 '25 15:06 Jadael

Altered colors to better match old nebula: The old nebula were reddish, greenish, and blueish, while the new ones were reddish, orangeish, and OTHER orangeish. With this change the aesthetic difference is less of a big swing:

3D view, in the exact middle of the nebula: image

First Person , in the middle of the nebula: image

3D view, with the nebula10U away: image

First person, 10U away: image

3D view, 20U away: image

First person, 20U away: image

Radar: image

Jadael avatar Jun 27 '25 13:06 Jadael