# Pedoman desain

Game Ralyoo dimainkan di tongkrongan: 2–4 orang, satu layar di tengah, HP di tangan, sering sambil ngobrol. Pedoman ini menjaga game tetap terbaca dan adil dalam situasi itu.

## Layar host

- **Teks minimal 28 px pada 1080p.** Layar dilihat dari satu sampai tiga meter. Pakai satuan yang ikut ukuran layar, bukan piksel tetap:

  ```css
  :root { --hu: min(100vw / 1920, 100vh / 1080); }
  .skor { font-size: calc(32 * var(--hu)); } /* tidak pernah di bawah 28 */
  ```

- **Satu hal paling penting per layar.** Siapa giliran, apa yang harus dilakukan, berapa waktu tersisa.
- **Area aman.** Jangan taruh hal penting di 5% tepi layar; pojok kanan bawah dipakai tombol menu dan layar penuh platform.
- **Font platform** sudah tersedia: Unbounded untuk judul dan angka besar, Manrope untuk teks, JetBrains Mono untuk angka yang berubah cepat.

## Warna pemain

Tiap pemain punya warna dari platform (`ctx.players[i].color`). Pakai warna itu untuk menandai milik siapa sesuatu, dan **hanya** untuk itu: jangan pakai warna pemain untuk hiasan atau untuk arti lain. Pastikan warna pemain tetap terbaca di atas latar game kamu, dan jangan mengandalkan warna saja: sertakan nama atau nomor slot.

## Gerak

Kalau `ctx.reducedMotion` bernilai `true`, hilangkan gerak dekoratif: guncangan layar, kilatan, zoom, parallax. Gerak yang membawa informasi (benda yang jatuh, giliran yang berpindah) tetap ada, lebih tenang. Di Ralystudioo, centang **Reduced motion** untuk mencobanya.

## HP

- **Mata pemain ada di layar host.** Kontrol di HP harus bisa dipakai tanpa dilihat: sedikit tombol, besar, di posisi jempol. Layout `pad` sudah mengaturnya.
- **Teks di HP pendek.** HP hanya dilirik.
- **Rahasia di HP, umum di host.** Itu kekuatan format ini.
- Pilih orientasi sekali per game kalau bisa. Meminta pemain memutar HP di tengah game mengganggu.

## Pemain yang putus

HP bisa terkunci atau kehilangan sinyal kapan saja. Slotnya ditahan dua menit.

- Game **tidak boleh macet** menunggu satu pemain. Beri batas waktu, atau lewati gilirannya.
- Tandai pemain yang putus di layar (`connected: false`), dan biarkan ia melanjutkan saat kembali.
- Di Ralystudioo, tombol **Disconnect** di tiap HP virtual mencoba keduanya.

## Semua tetap terlibat

- Pemain yang gugur tetap punya peran (mengganggu, memilih, menjadi juri), bukan menonton.
- Ronde pendek. Lebih baik lima ronde 40 detik daripada satu ronde lima menit.
- Akhiri dengan sesuatu untuk tiap pemain, bukan hanya untuk juara.

## Mulai dan selesai dengan cepat

- Game harus bisa dipahami dari 10 detik pertama, tanpa membaca aturan panjang.
- Hormati budget muat: pemain sudah menunggu sejak scan QR.
- Kalau game punya pembuka sendiri (`"opening": "game"`), buat singkat dan bisa dilewati.

## Dua pilar

Manifest menyebut pilar game:

- **`konsol`**: HP jadi gamepad, aksi di layar host.
- **`rahasia`**: HP menampilkan informasi yang hanya dilihat pemiliknya.
