Aller au contenu principal

Session 124 — Phase A (revision 3) : recalibration sur vraies donnees

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 :

  1. zone.brightness peut atteindre 62 (low 6 bits du word), pas 20 comme
    suppose. Apres (Lb*410)>>8, Wb peut atteindre 100 dans les zones
    tres lumineuses.
  2. La revision 2 utilisait WB_MAX=365, donc toutes les zones avec
    Wb >= 65 clampaient 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).
  3. Pourcentage d’animations enorme : levels M (57%), E (60%), B (50%),
    A (48%) ont la moitie ou plus de leurs pointBrights animes. Sans la
    phase B, ces effets restent invisibles → les niveaux paraissent statiques.
  4. 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%).
  5. Aucun Wb negatif observe (Wb_min=0 partout).

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).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *