SnookerSim permet de jouer directement sur une table virtuelle. Sous le rendu Three.js, un moteur physique écrit en TypeScript calcule chaque roulement, collision, effet et rebond de façon reproductible.
Entrer dans le jeu sans écran intermédiaire
Le joueur arrive devant le tapis et peut immédiatement tenter un tir. Les effets latéraux et rétro agissent sur la bille, tandis que des sons enregistrés sur une vraie table accompagnent les coups.
Un modèle qui rejoue le même tir de la même façon
Le cœur de simulation est écrit en TypeScript, sans moteur physique générique. Ses coefficients de frottement, de restitution et d'effet correspondent à des grandeurs observables et ont été ajustés à l'aide de vidéos de tirs réels.
- Le moteur déterministe permet l'analyse des coups.
- Le recommandateur simule plusieurs tirs candidats avec ce même moteur, puis évalue leurs résultats.
Rendre les calculs lisibles
Three.js dessine la table, la lumière, les nuages de craie et les lignes de trajectoire prédite. Le code est organisé en modules par fonction. Une position peut être encodée dans l'URL pour reprendre ou partager une situation de jeu.
Des conseils fondés sur la même physique que la partie
Le recommandateur n'utilise pas un modèle simplifié à côté du jeu. Il soumet plusieurs tirs possibles au moteur déterministe, prolonge la simulation sur plusieurs coups et évalue les positions obtenues. Le conseil reste ainsi cohérent avec la manière dont les billes se comporteront réellement sur la table virtuelle.
Cette cohérence dépend de paramètres vérifiables. Les rebonds, les frottements et les effets ont été rapprochés de vidéos de tirs réels enregistrés à grande vitesse. Le dossier présente donc SnookerSim comme une simulation que l'on peut confronter à des observations, et pas seulement comme une animation qui paraît crédible à l'œil.