Aller au contenu principal

Session 119bis — test_alien_bullets : ajustements dimensions

Problème

Après le premier lancement du niveau test généré en session 119, plusieurs
observations à ajuster :

  • Plafond trop bas : roofH = -256 (= 8 JME) suffisant pour la plupart
    des aliens, mais le Mantis Boss a colHeight = 800 (= 25 JME) et
    dépassait largement le plafond.
  • Échelle : les aliens ont des hauteurs très variées dans definitions.json
    (Droid = 40, Mantis = 800, soit un facteur 20×). Le plafond doit accommoder
    le plus grand.
  • Espacement : 450 unités entre aliens était trop serré quand un boss
    volumineux côtoyait un alien standard.
  • « Doublons » visuels : signalés par l’utilisateur. Après analyse, ce
    n’est pas un bug
    mais une particularité d’AB3D2 original où plusieurs
    aliens partagent le même sprite (cf. ALIEN_WAD_BY_GFXTYPE). Ex. : Droid,
    Ashnarg et AlienPriest ont tous gfxType=2 et utilisent le sprite
    robotright. La distinction se fait au niveau du comportement (bulType,
    vitesse, HP), pas du visuel. Documenté dans le code et dans les logs de
    génération.

Modifications

TestLevelGenerator.java — dimensions de la salle ajustées :

  • roofH : -256-1280 (= 40 JME au-dessus du sol, marge x5 pour Mantis)
  • spacing entre aliens : 450700 (= 22 JME, isole les boss visuellement)
  • sizeZ : 40005000 (un peu plus de profondeur pour reculer)
  • Spawn joueur reculé à 500 unités du mur sud (au lieu de 400)

Logs améliorés

./gradlew genTestLevels produit maintenant un tableau détaillé :

=== test_alien_bullets : layout ===
  Salle      : 12600x5000 unites Amiga (393x156 JME)
  Plafond    : roofH=-1280 (40 JME au-dessus du sol)
  Joueur     : (0, 2000) face NORD
  Aliens     : 16 types, espaces de 700 unites

  Position (X)  | Alien                 | bulType attendu
  --------------+-----------------------+----------------
   -5250 | Red Alien             |        0
   -4550 | SnakeScanner          |        9
   -3850 | Guard                 |        9
   ...

Avec la position X exacte de chaque alien, tu peux identifier qui est qui en
jeu malgré les sprites partagés.

Note : pourquoi des sprites partagés

Dans AB3D2 original (Amiga, 1996), la mémoire était limitée : réutiliser un
même sprite pour plusieurs comportements était normal. C’est une fidélité au
jeu, pas une régression. Pour la suite, on pourra envisager un mode
« diagnostic » qui ajoute un label texte au-dessus de chaque alien pour les
identifier sans regarder la console, mais ce n’est pas critique.

Laisser un commentaire

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