Stats observees
Le build avec les stats logguees a revele que les valeurs de luminosite
dans le binaire ASM sont tres differentes des suppositions initiales :
| Niveau | Zones | Wb avg | Wb max | pointBrights non-zero | dont animes | Lb range |
|---|---|---|---|---|---|---|
| A | 134 | 22.5 | 100 | 1270 | 609 (48%) | -18..+15 |
| B | 149 | 32.7 | 100 | 1206 | 603 (50%) | -18..+15 |
| C | 198 | 17.7 | 100 | 1774 | 352 (20%) | -15..+15 |
| D | 50 | 0.3 | 6 | 436 | 194 (44%) | -15..+15 |
| E | 167 | 30.2 | 100 | 1526 | 917 (60%) | -15..+15 |
| G | 164 | 48.1 | 100 | 1481 | 62 (4%) | -20..+17 |
| I | 207 | 65.2 | 97 | 1766 | 0 (0%) | -20..+15 |
| K | 163 | 0.4 | 4 | 870 | 181 (21%) | -15..+15 |
| M | 199 | 22.7 | 100 | 1700 | 966 (57%) | -18..+18 |
Ce qui ressort :
zone.brightnesspeut atteindre 62 (low 6 bits du word), pas 20 comme
suppose. Apres(Lb*410)>>8, Wb peut atteindre 100 dans les zones
tres lumineuses.- La revision 2 utilisait
WB_MAX=365, donc toutes les zones avec
Wb >= 65clampaient a {@code intensity=1.0} (tout blanc) → effet
d’uniformite visuelle observe par l’utilisateur (le niveau A entier
apparaissait monotone car la moyenne y est Wb=22 et 134 zones depassaient
les 365 du wallBright). - Pourcentage d’animations enorme : levels M (57%), E (60%), B (50%),
A (48%) ont la moitie ou plus de leurspointBrightsanimes. Sans la
phase B, ces effets restent invisibles → les niveaux paraissent statiques. - Niveaux extremes : I est tres lumineux (avg=65, 0% anime = quasi tout
statique), D et K sont tres sombres (avg<1). G a peu d’animations (4%). - Aucun Wb negatif observe (
Wb_min=0partout).
Modifications
world/BrightnessCalc.java
– Recalibration des bornes du mapping :
– WB_MIN 260 → 295 (zone non eclairee = wallBright ≈ 300)
– WB_MAX 365 → 430 (lampe pleine dans zone max = wallBright ≈ 431)
– MIN_INTENSITY 0.30 → 0.25 (zones tres sombres restent visibles
mais avec une vraie sensation d’obscurite).
– Plage utile : 295..430 = 135 unites de wallBright → mappees sur
intensity 0.25..1.0 (ratio 1:1 environ).
– Resultats attendus :
– Zone non eclairee (Wb=0) → 0.28 (sombre, ambiance couloir)
– Zone moyenne (Wb=22) → 0.40 (gris-sombre)
– Zone bien eclairee (Wb=65) → 0.64 (claire)
– Lampe pleine → clamp 1.0
Phase B devient prioritaire
Les stats confirment qu’au moins 50% des effets de lumiere visuels du jeu
viennent des animations runtime (BrightPulse1-5, BrightFlicker1-2). Sans
l’AnimBrightnessSystem (phase B), le rendu reste fige a phase=0.
Le sol-verre dans la zone 3 du level A par exemple se trouve probablement
dans cette categorie : son Lb statique est probablement 0, et c’est
BrightPulse3 qui le fait pulser jusqu’a Lb=20 toutes les 1.6 secondes.
C’est le prochain chantier (= sujet d’une session suivante).