pioneerspacesim / pioneer

A game of lonely space adventure
https://pioneerspacesim.net
1.64k stars 380 forks source link

Moon has lost it's details #2972

Open fluffyfreak opened 10 years ago

fluffyfreak commented 10 years ago

From IRC:

dv-: FluffyFreak: http://devio.us/~dv/oldmoon.png

It's clear that the older moon had greater detail from some high-frequency noise applied too it. This is probably the result of me fixing the spike-ball planets we had by changing the noise to remove that very same high-frequency noise.

It seems like we need it back, but only for large planets, possibly only for the Moon or other height mapped planets?

corundscale commented 10 years ago

I'd bring the noise back, pufferfish asteroids are still in game - check satellite system of NN 4078 (-3, -1, -4) for an example and some bonus bug ( #929 ) - and I think they should be fixed properly (some better normalization, normalization dependent on frequency, etc.) rather than worked around.

Tichy commented 10 years ago

I agree with @corundscale. Those spikey asteroids were quite rare (and they were funny too :) ), while the loss of detail caused by the fix is more frequent.

fluffyfreak commented 10 years ago

No the spike planets were a massive problem, they were one of the most frequent causes of crashes, errors & warning from AI and scripts alone. What they really needed was a way for the noise to limit the number of octaves based on the diameter/radius of the planet they're being used on. However or terrain system is so opaque I couldn't work out how to do it.

I don't want to bring them back, I want to eliminate the remaining ones AND keep the detail on other planets.

corundscale commented 10 years ago

I think any pattern - noise or otherwise - should be normalized in regards to planet's size AND it's own scale. You basically want to limit vertical range so that it is proportional to horizontal scale of heightmap's pixel.

Anyway, I don't think it can be solved without getting deep into terrain system - shotgun debugging just breaks other features, while spiked asteroids are still in.

fluffyfreak commented 10 years ago

@corundscale see this thread

fluffyfreak commented 10 years ago

As usual the issue it not that simple. The way the terrain generators is written is complete crap, whoever wrote it didn't output in a 0 to 1 range like a normal noise/terrain system but in one that is already scaled to some insanely small value. It's also why the whole thing has to use double precision because I've seen it use noise in the 0 to 0.00016 range. Earth is comparatively large in it's range at 0 to 0.0042 but all of them are different and produce different ranges depending on the input parameters which are insanely complex.

Really we need new terrain generators writing, or a whole new terrain system. That produces output which we can then scale upto the correct size for the planet.

fluffyfreak commented 10 years ago

I have no idea why this is happening. Just been taking a look at it and the Moon is one of the rare heightmapped objects using TerrainHeightMapped2.

It hasn't changed in ages.