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_SCALEremplace parPHYSICS_GRAVITY = -9.8fixe
Test attendu
- Plasma Gun : bullet bleue qui traverse une piece en ~1 seconde (au lieu
de 0.05 sec) - Grenade Launcher : bullet verte qui part en arc visible, retombe apres
quelques secondes, rebondit - Mine : tombe au sol immediatement
- 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.