Hello,
Almost everything said here is right, I'll just try to make things a bit clearer.
What we call lightmap is the storage of ambient and local lighting.
This information is quite complex to compute (ambient requires many samples from the whole scene, several bounces, each local light requires shadow), and because game content can be very different in maniaplanet (can be quite complex in geometry and local lights number), we made the choice of precomputing this data.
(Some games dynamically compute this data, but quality is reduced, for instance 1 bounce and only for sun, and only few local close shadows)
Then lightmap are stored to disk to be re-used during multiplayer.
Yet they can be stored in 2 ways:
a) a "local" full res. (2k or 4k for ultra), full bump (3 maps), cache stored in "ProgramData\ManiaPlanet\Cache\"
size is around 5.5Mb (20Mb for ultra).
By "local" I mean the cache WILL NEVER be transfered by P2P.
b) a "embedded" small res. (1k), bump intes (1 average map, 1 bump_intens map), cache embedded in the map file
size is around 500Kb.
cache (b) is required to play the map in multiplayer, this is the default behaviour.
cache (a) may be used even in multiplayer, only if this cache has been computed locally before.
About quality difference, obviously due to it's smaller storage (smaller res. and heavier compression), embedded cache quality is lower.
But it's important to note that compute quality and storage quality are two different things, when lightmap are computed in a given quality (say high for instance), both local and embedded cache are updated (embedded is stored when map is saved) from the same compute quality, yet embedded cache looses quality due to its compression.
Again about quality, in the screens you give, one can see horizontal red lines on the dark wall, this is due to block margin in the lightmap space. The cause is the image compression (jpg or webp) which doesn't like sharp color variations, and because beside this block wall side may be allocated the opposite side (facing to more light), the 2 sides blurs on each other.
Akbalder: I don't know yet why ultra quality -> embedded is worse, this is a bug, thanks for the report.
What does the "light index of lightmaps" setting do? I didn't check it when I did my test.
This compute a lightmap local light list each time a map is loaded (never stored to disk), to render
dynamic local speculars.
LuckyBoy