Aller au contenu principal

Session 86bis — Calibration vitesses jouables

Retour de test

Apres session 86 :
– ✅ Hitscans visibles (Shotgun, Rifle) : OK
– ❌ Bullets trop rapides : impossible de suivre visuellement
– ❌ Grenades : pas le temps de les voir (vitesse initiale de 400 JME/s)

Analyse

La formule ASM-stricte donne 400 JME/s pour Plasma (speed=5) et 800 JME/s
pour Rocket (speed=6). Sur des niveaux JME qui font ~30-50 unites de cote,
une bullet a 400 JME/s les traverse en 0.1 seconde : injouable.

L’hypothese « 1 tuile Amiga = 1 unite JME » n’est pas la vraie correspondance
dans notre port (les niveaux JME sont plus compacts que les niveaux Amiga).

Fix : Calibration empirique

PlayerShootSystem :
– Ajoute BULLET_SPEED_CALIBRATION = 0.2 (facteur empirique pour vitesse jouable)
– Ajoute GRENADE_SPEED_CALIBRATION = 0.1 (encore plus lent pour voir l’arc)
– Selection auto : grenades/mines -> calibration grenade, autres -> normale

Nouvelles vitesses :
– Blaster (speed=4) -> 40 JME/s (2x le joueur)
– Plasma (speed=5) -> 80 JME/s (4x le joueur)
– Rocket (speed=6) -> 160 JME/s (8x le joueur)
– Grenade (speed=5, calibration grenade) -> 40 JME/s (2x le joueur, visible en arc)
– Mine (speed=0) -> 0 JME/s (tombe sur place, correct)

PhysicsBulletSystem :
– Simplifie la gravite : utilise PHYSICS_GRAVITY = -9.8 (gravite standard JME)
au lieu de def.gravity() * scale. La conversion ASM vers m/s^2 n’avait pas
de sens physique clair.
– Resultat : la grenade suit une parabole jouable (lance a 40 JME/s, retombe
apres ~4 sec, parcourt ~16m).

Fichiers modifies

  • src/main/java/com/ab3d2/combat/PlayerShootSystem.java :
  • Ajout constantes BULLET_SPEED_CALIBRATION, GRENADE_SPEED_CALIBRATION
  • Selection du facteur selon le type de bullet
  • src/main/java/com/ab3d2/combat/PhysicsBulletSystem.java :
  • GRAVITY_SCALE remplace par PHYSICS_GRAVITY = -9.8 fixe

Test attendu

  1. Plasma Gun : bullet bleue qui traverse une piece en ~1 seconde (au lieu
    de 0.05 sec)
  2. Grenade Launcher : bullet verte qui part en arc visible, retombe apres
    quelques secondes, rebondit
  3. Mine : tombe au sol immediatement
  4. Rocket : bullet orange visiblement plus rapide que Plasma

Note

Ces calibrations ne sont pas « ASM-strict » mais elles respectent les rapports
relatifs (Blaster < Plasma < Rocket). Si ajustement necessaire, modifier
uniquement BULLET_SPEED_CALIBRATION et GRENADE_SPEED_CALIBRATION.

Laisser un commentaire

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