Kami membuat opolyx lebih cepat
Angka dadu kini muncul hampir seketika, halaman memuat cepat di mana pun kamu berada, dan jauh lebih sedikit menunggu di antara giliran.

Dengan bahasa sederhana
Kecepatan adalah sebuah fitur. Kami menghabiskan satu putaran penuh pengerjaan agar opolyx terasa gesit, dan kamu mestinya langsung merasakannya begitu duduk di meja.
Ketuk "Lempar dadu" dan dadu langsung hidup — dulu angkanya butuh satu setengah detik untuk mengendap, dan kini mereka mendarat dalam sekejap. Melanjutkan giliranmu, membeli properti, membayar sewa: semuanya merespons saat itu juga ketika kamu bertindak.
- Angka dadu muncul hampir seketika setelah kamu melempar.
- Halaman beranda dan panduan memuat cepat dari mana saja di dunia.
- Lebih sedikit menunggu di antara giliran begitu permainan di meja mulai berjalan.
- Tidak ada lagi macet "the game server is waking up" saat kamu membuka papan.
Tak satu pun dari ini mengubah cara permainan dimainkan — aturan sama, papan sama. Ia hanya minggir dari jalanmu lebih cepat.
Untuk yang ingin tahu teknisnya
Waktu dari klik hingga angka dadu turun dari ~1.5s menjadi sekitar 0.3–0.75s. Ada dua hal yang menumpuk: animasi pengendapan ~700ms setelah respons tiba, dan jalur jaringan yang lambat. Kami memangkas gulingan menjadi 250ms, dan pemain yang bertindak kini memainkan dadu secara optimistis pada 0ms, lalu menerapkan state dan event otoritatif dari daemon begitu mereka kembali — tanpa menunggu siaran realtime yang lebih lambat.
Kemenangan yang lebih besar ada di jaringan. Server gim (daemon) mengotorisasi JWT milik pemain itu sendiri alih-alih sebuah secret server, sehingga browser kini bisa memanggilnya langsung alih-alih memantul lewat server action Vercel. Panggilan langsung memverifikasi token HS256 secara lokal di daemon (signature, exp, audience) — autentikasi turun dari ~40ms menjadi ~1–5ms — dan jatuh kembali ke relai server action pada error apa pun, sehingga tidak ada yang pernah terkirim dua kali.
# 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>Di baliknya, daemon dan basis data kini duduk berdampingan: kami memindahkan Supabase produksi dari Tokyo ke Singapore, satu lokasi dengan daemon Railway, sehingga panggilan daemon↔db bersifat lokal — autentikasi ~200ms → ~40ms dan kerja gim ~250ms → ~45ms. Sebuah node:https keep-alive Agent bercakupan modul menjaga koneksi itu tetap hangat di antara giliran (lemparan pertama suatu giliran tidak lagi menyambung ulang dari dingin). Dan setiap halaman pemasaran dan konten — home, how-to-play, rules, guide, halaman-halaman legal, sign-in — kini dipra-render per lokal di seluruh sepuluh bahasa, sehingga mereka disajikan dari edge cache tanpa lambda cold-start.
