Nous avons rendu opolyx plus rapide
Les chiffres des dés apparaissent désormais presque instantanément, les pages se chargent vite où que vous soyez, et l’attente entre les tours est bien moindre.

En clair
La vitesse est une fonctionnalité à part entière. Nous avons consacré toute une phase à rendre opolyx réactif, et vous devriez le remarquer dès que vous vous installez à une table.
Appuyez sur "Lancer les dés" et les dés s’animent aussitôt — les chiffres mettaient auparavant une seconde et demie à se stabiliser, et maintenant ils tombent en un clin d’œil. Poursuivre votre tour, acheter une propriété, payer un loyer : tout répond à l’instant même où vous agissez.
- Les chiffres des dés apparaissent presque instantanément après le lancer.
- La page d’accueil et le guide se chargent vite depuis n’importe où dans le monde.
- Moins d’attente entre les tours une fois que la table est lancée.
- Fini le blocage "the game server is waking up" quand vous ouvrez un plateau.
Rien de tout cela ne change la façon de jouer — mêmes règles, même plateau. Le jeu s’écarte simplement de votre chemin plus vite.
Pour les curieux techniques
Le temps entre le clic et l’affichage des chiffres des dés est passé d’environ ~1.5s à à peu près 0.3–0.75s. Deux éléments se cumulaient : une animation de stabilisation de ~700ms après l’arrivée de la réponse, et un chemin réseau lent. Nous avons ramené le roulement à 250ms, et le joueur qui agit joue désormais les dés de façon optimiste à 0ms, puis applique l’état et les événements faisant autorité du daemon dès qu’ils reviennent — sans attendre la diffusion realtime plus lente.
Le plus gros gain venait du réseau. Le serveur de jeu (le daemon) autorise le JWT propre au joueur plutôt qu’un secret serveur, si bien que le navigateur peut désormais l’appeler directement au lieu de transiter par une server action Vercel. Les appels directs vérifient le jeton HS256 localement sur le daemon (signature, exp, audience) — l’authentification est passée de ~40ms à ~1–5ms — et se replient sur le relais server action en cas d’erreur, de sorte que rien n’est jamais soumis deux fois.
# Browser → daemon directly (with a verified server-action fallback)
NEXT_PUBLIC_DAEMON_URL=https://opolyxgame-daemon-production.up.railway.app
# Daemon verifies the player's token locally (HS256), ~40ms → ~1-5ms
SUPABASE_JWT_SECRET=<legacy HS256 secret from Supabase → Settings → API>En dessous, le daemon et la base de données sont désormais côte à côte : nous avons migré le Supabase de production de Tokyo vers Singapore, colocalisé avec le daemon Railway, de sorte que les appels daemon↔db sont locaux — l’authentification ~200ms → ~40ms et le travail de jeu ~250ms → ~45ms. Un node:https keep-alive Agent à portée de module garde cette connexion au chaud entre les tours (le premier lancer d’un tour ne se reconnecte plus à froid). Et chaque page marketing et de contenu — home, how-to-play, rules, guide, les pages légales, sign-in — est maintenant prérendue par locale pour les dix langues, si bien qu’elles sont servies depuis l’edge cache sans lambda à démarrage à froid.
