Le problème initial: mon système de saut utilisait une physique réaliste. Appuyer sur la touche appliquait une force verticale constante. Logique, non. Sauf que tous les bons jeux de plateforme trichent massivement avec la physique pour donner cette sensation de contrôle précis.
La première correction: la gravité variable selon que vous maintenez le bouton ou non. Tenir le saut donne une gravité plus faible pendant l'ascension, relâcher augmente la gravité immédiatement. Cette simple modification a rendu les sauts courts et longs possibles avec le même bouton, doublant la précision du joueur.
Le coyote time a changé ma vie. Ces 0.1 secondes où vous pouvez encore sauter après avoir quitté une plateforme, même si vous êtes techniquement en l'air. Imperceptible consciemment, mais ça élimine 90 pour cent des frustrations de timing raté. Les joueurs ne remarquent pas sa présence, seulement son absence.
L'accélération et la décélération au sol posaient problème. Un arrêt instantané semblait réactif mais donnait une sensation robotique. J'ai ajouté 0.15 secondes de décélération progressive. Le personnage glisse légèrement en s'arrêtant, créant un poids perceptible sans sacrifier la réactivité.
Les tests avec cinq développeurs expérimentés ont révélé quelque chose de fascinant: chacun avait des préférences différentes pour la vitesse de chute, la hauteur de saut, la réactivité des contrôles. Il n'existe pas de paramètres universellement parfaits. J'ai fini par créer trois presets subtils et laisser les gens choisir, ce qui a résolu plus de débats que six mois d'ajustements.