slot-online

byCharly Alviano

bisa kah anda membuat kan saya permainan slot online yang viral di negara asia

No preview

Comments (0)

No comments yet. Be the first!

System Requirements

Page 1 of 19

System Requirements Document for slot-online

1. Introduction

slot-online adalah permainan slot online bertema Asia untuk hiburan, dimainkan dengan koin virtual — bukan uang sungguhan. Pemain melakukan spin, melihat efek menang, dan mengumpulkan koin. Di sekitar permainan itu dibangun ekonomi koin yang lengkap: menambah koin lewat iklan berhadiah, top up koin resmi di dalam game, dan jual beli koin antar pemain di mana harga koin resmi di game mahal sedangkan harga beli dari pemain lain lebih murah (mengacu pada model Royal Dreams).

Audiens utama adalah pemain mobile di Indonesia dan Asia Tenggara yang menginginkan sensasi permainan slot viral — spin, menang, kumpulkan, pamer — tanpa taruhan uang sungguhan. Produk ini adalah hiburan plus ekonomi koin antar pemain, sehingga harus terasa seperti pesta yang bisa diperdagangkan di dalamnya, bukan seperti bank.

Dokumen ini menetapkan perilaku produk, persona, kepemilikan halaman, alur pengguna, arah visual, dan batasan teknis untuk versi saat ini.

Page 2 of 19

2. System Overview

slot-online adalah aplikasi web dengan identitas milik aplikasi sendiri dan antarmuka kustom. Pemain mendaftar sendiri, lalu dapat bermain slot dengan koin virtual, memperoleh spin tambahan melalui iklan berhadiah, membeli paket koin resmi, membeli koin dari pemain lain di pasar koin, dan menjual kelebihan koin mereka kepada pemain lain.

Aktor manusia yang diterima (katalog tertutup):

  • Pemain Slot — bermain slot, mengumpulkan koin, menambah koin lewat iklan berhadiah atau top up, dan membeli koin dari pemain lain dengan harga lebih murah daripada harga resmi.
  • Penjual Koin (Pemain) — pemain dengan koin berlebih yang memasang dan mengelola penawaran koin untuk dijual kepada pemain lain dan menyelesaikan transaksi dengan pembeli.

Aktor non-persona: penyedia iklan berhadiah (pihak ketiga) yang memasok tayangan iklan; sistem aplikasi yang menyimpan saldo koin, riwayat pembelian, dan transaksi antar pemain.

Perilaku yang diterima saat ini: permainan slot bertema Asia dengan koin virtual; efek menang dan pengumpulan koin; monetisasi lewat iklan termasuk rewarded ads untuk spin tambahan; top up koin; jual beli koin antar pemain dengan perbandingan harga resmi mahal vs harga pemain lebih murah.

Pengecualian sempit: uang sungguhan tidak boleh menjadi taruhan atau hadiah dari hasil spin; judi dengan uang sungguhan tidak dibangun; monetisasi hanya melalui iklan, penjualan koin virtual, dan/atau langganan fitur bonus — bukan dari taruhan atau hadiah uang sungguhan. Iklan berhadiah hanya memberikan spin tambahan dan tidak memberikan uang sungguhan atau hadiah yang dapat ditukar menjadi uang.

Page 3 of 19

2a. Product Interpretation and Delivery Boundary

Kepemilikan pengiriman dan akses. Aplikasi ini memiliki identitasnya sendiri: pemain mendaftar sendiri (Sign Up) dan memverifikasi kembali saat kembali (Login). Halaman Landing dapat diakses tanpa identitas dan menjelaskan permainan, koin virtual, serta model monetisasi sebelum area terlindungi. Halaman Slot, Rewards, Top Up, Coin Market, dan Sell Coins memerlukan identitas pemain yang sudah terverifikasi karena semuanya bekerja di atas saldo koin, spin tambahan, dan transaksi yang harus terikat pada pemain yang benar. Login dan Sign Up sendiri adalah permukaan akses anonim — keduanya tidak boleh mensyaratkan identitas yang sudah ada untuk dapat digunakan.

Batas saat ini dan masa depan. Semua perilaku yang dijelaskan di dokumen ini adalah lingkup saat ini: permainan slot koin virtual, iklan berhadiah untuk spin tambahan, top up koin resmi, pasar koin antar pemain, dan pengelolaan penawaran penjual. Tidak ada penukaran uang sungguhan, penarikan dana, atau hadiah bernilai uang dalam lingkup saat ini maupun sebagai rencana tersembunyi. Koin adalah token hiburan virtual di dalam game.

Kepemilikan pihak ketiga. Tayangan iklan berhadiah dipasok oleh penyedia iklan eksternal; aplikasi hanya meminta tayangan, menerima hasilnya, dan memberikan spin tambahan. Aplikasi tidak memiliki jaringan iklan itu sendiri.

2b. Source Content Inventory

Tidak ada direktif referensi dengan uses: content_source. Satu-satunya direktif referensi adalah Royal Dreams (model jual beli koin antar pemain) dengan uses: feature_reference, yang hanya memasok model harga: harga koin resmi di game mahal, harga beli dari pemain lain lebih murah. Tidak ada entitas faktual, koleksi, tanggal, kontak, tautan, atau referensi media yang perlu diinventarisasi.

Page 4 of 19

2c. Page Content and Component Coverage

Landing

  • Informasi/state: penjelasan permainan slot hiburan bertema Asia, penggunaan koin virtual, dan model monetisasi (iklan berhadiah, top up koin resmi, jual beli koin antar pemain) sebelum identitas atau permainan terlindungi. Menampilkan kontras harga resmi vs harga pemain sebagai daya tarik.
  • Aksi utama: "Main Gratis" menuju Sign Up; tautan ke Login bagi pemain yang sudah punya akun.
  • Aksi pendukung: menggulir untuk melihat penjelasan ekonomi koin dan pasar pemain.
  • Entitas domain: permainan slot, koin virtual, paket koin resmi, penawaran koin pemain.
  • Tanggung jawab komponen: hero full-bleed dengan headline besar dan klaster properti; blok penjelasan ekonomi koin; ticker berjalan berisi total jackpot, jumlah pemain online, dan pengait "koin murah dari pemain"; bilah navigasi pil.
  • State: loading — kerangka blok hero dan ticker; empty — tidak berlaku karena konten statis; success — halaman tampil penuh dan CTA dapat diklik; error — jika konten dinamis (ticker) gagal dimuat, tampilkan baris statis tanpa angka; recovery — pemain tetap dapat menuju Sign Up atau Login meski ticker gagal.

Login

  • Informasi/state: formulir verifikasi pemain yang kembali; pesan kesalahan kredensial; tautan ke Sign Up.
  • Aksi utama: memverifikasi identitas dan melanjutkan ke area terlindungi.
  • Aksi pendukung: menuju Sign Up bila belum punya akun.
  • Entitas domain: identitas pemain, sesi.
  • Tanggung jawab komponen: formulir kredensial, tombol kirim, area pesan kesalahan, tautan silang ke Sign Up.
  • State: loading — tombol kirim dalam keadaan memproses; empty — formulir kosong dengan placeholder; success — pemain diarahkan ke area terlindungi; error — kredensial salah ditampilkan jelas tanpa mengosongkan isian; recovery — pemain dapat mencoba lagi atau beralih ke Sign Up.

Sign Up

  • Informasi/state: formulir pendaftaran mandiri untuk pemain baru; penjelasan singkat bahwa akun memegang saldo koin virtual dan aktivitas permainan.
  • Aksi utama: membuat akun dan memulai state koin virtual pemain.
  • Aksi pendukung: menuju Login bila sudah punya akun.
  • Entitas domain: identitas pemain, saldo koin awal, sesi.
  • Tanggung jawab komponen: formulir pendaftaran, tombol kirim, area pesan kesalahan, tautan silang ke Login.
  • State: loading — tombol kirim dalam keadaan memproses; empty — formulir kosong; success — akun dibuat dan pemain masuk ke area terlindungi; error — isian tidak valid atau sudah terpakai ditampilkan jelas; recovery — pemain dapat memperbaiki isian atau beralih ke Login.
Page 5 of 19

Slot

  • Informasi/state: grid reel 5 kolom di atas panel krem dengan bezel merah muda; saldo koin di chip kanan atas; hasil putaran terakhir; garis menang; ticker jackpot berjalan di atas layar.
  • Aksi utama: menekan tombol spin lemon untuk memutar reel menggunakan koin virtual.
  • Aksi pendukung: melihat hasil putaran dan efek menang; menuju Rewards untuk spin tambahan; menuju Top Up atau Coin Market bila koin kurang.
  • Entitas domain: putaran, reel, simbol, garis menang, saldo koin, taruhan koin virtual.
  • Tanggung jawab komponen: panel reel, tombol spin, chip saldo koin, area hasil/efek menang, ticker jackpot, bilah navigasi.
  • State: loading — reel dan saldo sedang dimuat; empty — saldo koin tidak cukup untuk spin, tombol spin nonaktif dengan arahan ke Rewards/Top Up/Coin Market; success — reel berhenti, garis menang berkedip lemon dan berdenyut sekali, saldo koin berputar naik; error — putaran gagal diproses, saldo tidak berubah dan pemain dapat mencoba lagi; recovery — pemain dapat mengulang spin atau menambah koin lewat jalur yang tersedia.

Rewards

  • Informasi/state: daftar kesempatan iklan berhadiah yang tersedia; jumlah spin tambahan yang diperoleh; status tayangan iklan.
  • Aksi utama: menonton iklan berhadiah untuk memperoleh spin tambahan.
  • Aksi pendukung: kembali ke Slot untuk memakai spin tambahan.
  • Entitas domain: tayangan iklan berhadiah, spin tambahan, saldo spin.
  • Tanggung jawab komponen: kartu kesempatan iklan, tombol tonton, indikator status tayangan, penghitung spin tambahan.
  • State: loading — daftar kesempatan sedang dimuat; empty — tidak ada kesempatan iklan tersedia saat ini, tampilkan pesan dan arahkan kembali ke Slot; success — tayangan selesai dan spin tambahan bertambah; error — tayangan gagal dimuat atau tidak selesai, tidak ada spin tambahan yang diberikan; recovery — pemain dapat mencoba kesempatan lain atau kembali ke Slot.

Top Up

  • Informasi/state: tiga kartu tier paket koin resmi; kartu tengah ditandai sebagai pilihan nilai terbaik; harga resmi ditampilkan sebagai acuan yang mahal dibanding harga pemain.
  • Aksi utama: membeli paket koin virtual resmi.
  • Aksi pendukung: membandingkan tier; menuju Coin Market untuk alternatif harga pemain yang lebih murah.
  • Entitas domain: paket koin resmi, harga resmi, saldo koin, riwayat pembelian.
  • Tanggung jawab komponen: kartu tier, tombol beli, penanda nilai terbaik, ringkasan saldo, tautan silang ke Coin Market.
  • State: loading — daftar paket sedang dimuat; empty — paket tidak tersedia, tampilkan pesan dan arahkan ke Coin Market; success — pembelian selesai dan saldo koin bertambah; error — pembelian gagal, saldo tidak berubah dan pesan kesalahan ditampilkan; recovery — pemain dapat mencoba lagi atau memilih paket lain.
Page 6 of 19

Coin Market

  • Informasi/state: band perbandingan dua kolom "HARGA RESMI" vs "HARGA PEMAIN" dengan garis diagonal dan stempel persentase penghematan; baris kartu penawaran pemain yang dapat digulir horizontal berisi avatar, jumlah koin, harga, dan tombol beli.
  • Aksi utama: membeli penawaran koin dari pemain lain dengan harga yang tercantum.
  • Aksi pendukung: menggulir baris penawaran; menuju Sell Coins untuk memasang penawaran sendiri; menuju Top Up untuk harga resmi.
  • Entitas domain: penawaran koin pemain, harga pemain, jumlah koin, saldo koin pembeli, transaksi antar pemain.
  • Tanggung jawab komponen: band perbandingan harga, baris kartu penawaran, tombol beli, penanda penghematan, ringkasan saldo.
  • State: loading — daftar penawaran sedang dimuat; empty — belum ada penawaran pemain, tampilkan pesan dan arahkan ke Sell Coins atau Top Up; success — pembelian selesai, koin berpindah ke pembeli dan penawaran diperbarui; error — pembelian gagal (misalnya saldo tidak cukup atau penawaran sudah tidak tersedia), saldo tidak berubah dan pesan kesalahan ditampilkan; recovery — pemain dapat memilih penawaran lain atau menambah koin lewat Top Up.

Sell Coins

  • Informasi/state: daftar penawaran milik penjual sendiri beserta jumlah koin, harga, dan status; saldo koin yang tersedia untuk dijual.
  • Aksi utama: memasang penawaran koin virtual untuk dijual kepada pemain lain.
  • Aksi pendukung: mengelola penawaran yang sudah ada; melihat hasil transaksi dengan pembeli.
  • Entitas domain: penawaran penjual, jumlah koin yang ditawarkan, harga pemain, saldo koin penjual, transaksi dengan pembeli.
  • Tanggung jawab komponen: formulir pemasangan penawaran, daftar penawaran milik sendiri, kontrol kelola, ringkasan saldo penjual.
  • State: loading — daftar penawaran sendiri sedang dimuat; empty — belum ada penawaran, tampilkan ajakan memasang penawaran pertama; success — penawaran terpasang dan muncul di Coin Market, atau transaksi dengan pembeli selesai; error — pemasangan gagal (misalnya koin tidak cukup), saldo tidak berubah dan pesan kesalahan ditampilkan; recovery — penjual dapat memperbaiki jumlah/harga atau mencoba lagi.
Page 7 of 19

3. Functional Requirements

Setiap persyaratan menyertakan provenance: explicit untuk perilaku yang dinyatakan sumber, basic_default untuk default yang diterima, dan required_inference untuk mekanika yang memang diperlukan agar alur yang diterima dapat dijalankan.

FR-1 — Permainan slot bertema Asia dengan koin virtual (explicit) As a Pemain Slot I should memainkan permainan slot bertema Asia (tema naga/emas/keberuntungan atau gaya modern Asia) menggunakan koin virtual, sehingga saya mendapat hiburan tanpa taruhan uang sungguhan.

  • Trigger/input: pemain terverifikasi membuka halaman Slot dan menekan tombol spin.
  • Hasil yang dapat diamati: reel berputar dan berhenti pada hasil putaran; koin virtual terpakai sesuai taruhan; efek menang ditampilkan bila ada garis menang.
  • Akses: memerlukan identitas pemain terverifikasi.
  • Kegagalan/pemulihan: bila putaran gagal diproses, saldo koin tidak berubah dan pemain dapat mencoba lagi.
  • Kelanjutan: pemain dapat melakukan spin berikutnya atau menambah koin lewat Rewards, Top Up, atau Coin Market.
  • Batasan: uang sungguhan tidak boleh menjadi taruhan atau hadiah dari hasil spin.

FR-2 — Efek menang dan pengumpulan koin (explicit) As a Pemain Slot I should melihat efek menang dan mengumpulkan koin dari hasil spin, sehingga kemenangan terasa memuaskan dan saldo koin saya bertambah.

  • Trigger/input: hasil putaran menghasilkan garis menang.
  • Hasil yang dapat diamati: garis menang berkedip dan berdenyut sekali; saldo koin bertambah dengan animasi angka yang memantul.
  • Akses: memerlukan identitas pemain terverifikasi.
  • Kegagalan/pemulihan: bila efek atau pembaruan saldo gagal, saldo tetap konsisten dengan hasil putaran yang sah dan pemain dapat memuat ulang.
  • Kelanjutan: pemain melanjutkan spin atau mengelola koin yang terkumpul.

FR-3 — Monetisasi lewat iklan berhadiah untuk spin tambahan (explicit) As a Pemain Slot I should menonton iklan berhadiah untuk memperoleh spin tambahan, sehingga saya dapat terus bermain tanpa harus membeli koin.

  • Trigger/input: pemain membuka halaman Rewards dan memilih kesempatan iklan yang tersedia.
  • Hasil yang dapat diamati: tayangan iklan selesai dan jumlah spin tambahan bertambah.
  • Akses: memerlukan identitas pemain terverifikasi.
  • Kegagalan/pemulihan: bila tayangan gagal dimuat atau tidak selesai, tidak ada spin tambahan yang diberikan dan pemain dapat mencoba kesempatan lain.
  • Kelanjutan: pemain kembali ke Slot untuk memakai spin tambahan.
  • Batasan: iklan berhadiah hanya memberikan spin tambahan dan tidak memberikan uang sungguhan atau hadiah yang dapat ditukar menjadi uang.

FR-4 — Top up koin virtual resmi (explicit) As a Pemain Slot I should membeli paket koin virtual resmi melalui fitur top up, sehingga saya dapat menambah saldo koin di dalam game.

  • Trigger/input: pemain membuka halaman Top Up dan memilih salah satu paket koin resmi.
  • Hasil yang dapat diamati: pembelian selesai dan saldo koin bertambah; riwayat pembelian tercatat.
  • Akses: memerlukan identitas pemain terverifikasi.
  • Kegagalan/pemulihan: bila pembelian gagal, saldo tidak berubah dan pesan kesalahan ditampilkan; pemain dapat mencoba lagi atau memilih paket lain.
  • Kelanjutan: pemain kembali ke Slot atau membandingkan harga pemain di Coin Market.
  • Batasan: koin diperlakukan sebagai mata uang virtual dalam game, bukan taruhan atau hadiah uang sungguhan.

FR-5 — Jual beli koin antar pemain dengan harga pemain lebih murah (explicit) As a Pemain Slot I should membeli koin virtual dari pemain lain di Coin Market dengan harga yang lebih murah daripada harga resmi di game, sehingga saya mendapat koin lebih banyak untuk anggaran yang sama.

  • Trigger/input: pemain membuka Coin Market dan memilih penawaran pemain yang tercantum.
  • Hasil yang dapat diamati: band perbandingan menampilkan harga resmi vs harga pemain beserta persentase penghematan; pembelian selesai dan koin berpindah ke pembeli.
  • Akses: memerlukan identitas pemain terverifikasi.
  • Kegagalan/pemulihan: bila saldo tidak cukup atau penawaran sudah tidak tersedia, saldo tidak berubah dan pesan kesalahan ditampilkan; pemain dapat memilih penawaran lain atau menambah koin lewat Top Up.
  • Kelanjutan: pemain kembali ke Slot dengan saldo koin yang bertambah.
  • Batasan: transaksi marketplace memperlakukan koin sebagai mata uang virtual dalam game, bukan taruhan atau hadiah uang sungguhan.

FR-6 — Penjual memasang dan mengelola penawaran koin (explicit) As a Penjual Koin (Pemain) I should memasang dan mengelola penawaran koin virtual milik saya untuk dijual kepada pemain lain, sehingga kelebihan koin saya bermanfaat bagi pemain lain.

  • Trigger/input: penjual membuka halaman Sell Coins dan memasang penawaran dengan jumlah koin dan harga.
  • Hasil yang dapat diamati: penawaran muncul di Coin Market dan dapat dibeli pemain lain; penjual melihat status penawarannya.
  • Akses: memerlukan identitas pemain terverifikasi; akses penjual membatasi pengelolaan penawaran dan koin miliknya sendiri tanpa mengubah saldo atau penawaran pemain lain.
  • Kegagalan/pemulihan: bila pemasangan gagal (misalnya koin tidak cukup), saldo tidak berubah dan pesan kesalahan ditampilkan; penjual dapat memperbaiki jumlah/harga atau mencoba lagi.
  • Kelanjutan: penjual menyelesaikan transaksi dengan pembeli dan dapat memasang penawaran berikutnya.

FR-7 — Pendaftaran mandiri pemain (required_inference) As a Pemain Slot I should mendaftar sendiri untuk membuat akun, sehingga saya memiliki dan dapat melanjutkan saldo koin virtual serta aktivitas permainan saya.

  • Trigger/input: pengunjung baru memilih "Main Gratis" di Landing dan mengisi formulir Sign Up.
  • Hasil yang dapat diamati: akun dibuat dan pemain masuk ke area terlindungi dengan state koin virtual miliknya.
  • Akses: halaman Sign Up dapat diakses tanpa identitas.
  • Kegagalan/pemulihan: bila isian tidak valid atau sudah terpakai, pesan kesalahan ditampilkan dan pemain dapat memperbaiki isian.
  • Kelanjutan: pemain menuju Slot untuk mulai bermain.

FR-8 — Verifikasi kembali pemain yang sudah punya akun (required_inference) As a Pemain Slot I should memverifikasi identitas saya saat kembali, sehingga saya dapat melanjutkan akun, saldo koin, spin tambahan, dan transaksi saya.

  • Trigger/input: pemain yang sudah punya akun membuka Login dan mengirim kredensialnya.
  • Hasil yang dapat diamati: pemain diarahkan ke area terlindungi dengan state miliknya yang utuh.
  • Akses: halaman Login dapat diakses tanpa identitas.
  • Kegagalan/pemulihan: bila kredensial salah, pesan kesalahan ditampilkan tanpa mengosongkan isian; pemain dapat mencoba lagi atau beralih ke Sign Up.
  • Kelanjutan: pemain melanjutkan aktivitas terakhirnya.

FR-9 — Penyimpanan durable saldo koin dan riwayat transaksi (required_inference) As a Pemain Slot I should memiliki saldo koin virtual serta riwayat pembelian dan transaksi antar pemain yang tersimpan, sehingga koin dan transaksi saya tidak hilang dan tetap terikat pada akun saya.

  • Trigger/input: setiap putaran, pembelian top up, tayangan iklan berhadiah, dan transaksi marketplace.
  • Hasil yang dapat diamati: saldo koin dan riwayat konsisten saat pemain kembali.
  • Akses: state terikat pada identitas pemain yang terverifikasi.
  • Kegagalan/pemulihan: bila pembaruan gagal, saldo tidak berubah secara tidak sah dan pemain dapat mencoba lagi.
  • Kelanjutan: pemain dapat melanjutkan permainan dan transaksi dengan state yang benar.

FR-10 — Batas monetisasi tanpa uang sungguhan (explicit) As a Pemain Slot I should hanya berinteraksi dengan monetisasi berbasis iklan, penjualan koin virtual, dan/atau langganan fitur bonus, sehingga saya tidak pernah menghadapi taruhan atau hadiah uang sungguhan.

  • Trigger/input: setiap titik monetisasi dalam produk.
  • Hasil yang dapat diamati: tidak ada taruhan uang sungguhan, tidak ada hadiah uang sungguhan dari hasil spin, dan tidak ada penukaran koin menjadi uang.
  • Akses: berlaku di seluruh produk.
  • Kegagalan/pemulihan: tidak berlaku karena ini batasan, bukan alur.
  • Kelanjutan: tidak berlaku.
  • Batasan: judi dengan uang sungguhan tidak dapat dibangun.
Page 8 of 19

4. User Personas

Page 9 of 19

Pemain Slot

Konteks produk. Pemain mobile di Indonesia/Asia Tenggara yang datang untuk sensasi permainan slot viral bertema Asia — naga, emas, keberuntungan, atau gaya modern Asia — dan ingin bermain dengan koin virtual, bukan uang sungguhan. Ia menghargai efek menang yang meriah dan kemajuan saldo koin yang terlihat.

Tujuan utama. Melakukan spin, melihat efek menang, dan mengumpulkan koin sebanyak mungkin sambil terus bermain tanpa harus mengeluarkan uang sungguhan.

Tanggung jawab yang diterima. Melakukan spin slot dengan koin virtual; melihat hasil putaran dan efek menang; menambah koin lewat iklan berhadiah untuk spin tambahan; membeli paket koin resmi lewat top up; membeli koin dari pemain lain di Coin Market dengan harga yang lebih murah daripada harga resmi.

Input dan keputusan. Memutuskan kapan melakukan spin dan berapa koin yang dipakai; memutuskan apakah menambah koin lewat iklan berhadiah, top up resmi, atau membeli dari pemain lain; memilih penawaran pemain mana yang dibeli berdasarkan jumlah koin dan harga yang tercantum.

Interaksi dengan peserta lain. Berinteraksi dengan Penjual Koin (Pemain) sebagai pihak yang memasok penawaran koin di Coin Market; pembeliannya mengubah saldo koinnya sendiri dan mengurangi penawaran penjual. Berinteraksi dengan penyedia iklan eksternal saat menonton iklan berhadiah.

Keberhasilan yang dapat diamati. Saldo koin bertambah setelah menang, setelah tayangan iklan berhadiah, setelah top up, atau setelah pembelian dari pemain lain; ia dapat terus melakukan spin.

Batasan yang berlaku. Tidak ada taruhan atau hadiah uang sungguhan; koin adalah token hiburan virtual.

Page 10 of 19

Penjual Koin (Pemain)

Konteks produk. Pemain yang sudah bermain slot dan mengumpulkan koin berlebih, lalu ingin memanfaatkan kelebihan itu dengan menjualnya kepada pemain lain melalui fitur jual beli koin virtual. Ia adalah pemain yang sama dengan Pemain Slot, tetapi sedang menjalankan tanggung jawab penjual.

Tujuan utama. Menyediakan koin berlebihnya untuk dijual kepada pemain lain dan menyelesaikan transaksi dengan pembeli, sehingga kelebihan koinnya bermanfaat.

Tanggung jawab yang diterima. Memasang penawaran koin dengan jumlah dan harga; mengelola penawaran miliknya sendiri; menyelesaikan transaksi dengan pembeli; melihat status penawarannya.

Input dan keputusan. Menentukan jumlah koin yang ditawarkan dan harga pemain yang lebih murah daripada harga resmi; memutuskan kapan penawaran dikelola atau dihentikan.

Interaksi dengan peserta lain. Berinteraksi dengan Pemain Slot sebagai pembeli yang mengambil penawarannya; transaksi mengubah saldo koin penjual dan pembeli secara bersamaan.

Keberhasilan yang dapat diamati. Penawaran muncul di Coin Market, dapat dibeli, dan transaksi dengan pembeli selesai dengan saldo yang konsisten.

Batasan yang berlaku. Akses penjual membatasi pengelolaan penawaran dan koin miliknya sendiri tanpa mengubah saldo atau penawaran pemain lain; koin tetap token hiburan virtual, bukan uang sungguhan.

5. Core User Flows

Page 11 of 19

Alur 1 — Pemain baru mulai bermain (Pemain Slot)

  1. Pengunjung membuka Landing tanpa identitas dan membaca penjelasan permainan slot bertema Asia, koin virtual, serta model monetisasi (iklan berhadiah, top up resmi, jual beli koin antar pemain).
  2. Pengunjung menekan "Main Gratis" dan diarahkan ke Sign Up.
  3. Di Sign Up, pengunjung mengisi formulir pendaftaran mandiri dan mengirimnya.
  4. Sistem membuat akun dan state koin virtual pemain, lalu mengarahkan pemain ke area terlindungi.
  5. Pemain membuka Slot dan melihat panel reel, chip saldo koin, dan ticker jackpot.
  6. Pemain menekan tombol spin; reel berputar dan berhenti pada hasil putaran.
  7. Bila ada garis menang, garis berkedip lemon dan berdenyut sekali, dan saldo koin berputar naik.
  8. Kegagalan/pemulihan: bila putaran gagal diproses, saldo koin tidak berubah dan pemain dapat mencoba lagi.
  9. Kelanjutan: pemain melakukan spin berikutnya, atau bila koin menipis menuju Rewards, Top Up, atau Coin Market.

Alur 2 — Pemain kembali melanjutkan akun (Pemain Slot)

  1. Pemain yang sudah punya akun membuka Login tanpa identitas.
  2. Pemain mengirim kredensialnya.
  3. Sistem memverifikasi dan mengarahkan pemain ke area terlindungi dengan saldo koin, spin tambahan, dan riwayat transaksinya yang utuh.
  4. Kegagalan/pemulihan: bila kredensial salah, pesan kesalahan ditampilkan tanpa mengosongkan isian; pemain dapat mencoba lagi atau beralih ke Sign Up.
  5. Kelanjutan: pemain melanjutkan aktivitas terakhirnya, misalnya kembali ke Slot.

Alur 3 — Pemain memperoleh spin tambahan lewat iklan berhadiah (Pemain Slot)

  1. Pemain terverifikasi membuka Rewards.
  2. Pemain melihat daftar kesempatan iklan berhadiah yang tersedia dan jumlah spin tambahan yang diperoleh.
  3. Pemain memilih satu kesempatan dan menekan tombol tonton.
  4. Penyedia iklan eksternal menayangkan iklan; setelah tayangan selesai, sistem menambahkan spin tambahan ke akun pemain.
  5. Kegagalan/pemulihan: bila tayangan gagal dimuat atau tidak selesai, tidak ada spin tambahan yang diberikan dan pemain dapat mencoba kesempatan lain.
  6. Kelanjutan: pemain kembali ke Slot untuk memakai spin tambahan.
  7. Batasan: iklan berhadiah hanya memberikan spin tambahan, bukan uang sungguhan atau hadiah yang dapat ditukar menjadi uang.
Page 12 of 19

Alur 4 — Pemain membeli paket koin resmi (Pemain Slot)

  1. Pemain terverifikasi membuka Top Up.
  2. Pemain melihat tiga kartu tier paket koin resmi, dengan kartu tengah ditandai sebagai pilihan nilai terbaik.
  3. Pemain memilih satu paket dan menekan tombol beli.
  4. Sistem menyelesaikan pembelian, menambah saldo koin pemain, dan mencatat riwayat pembelian.
  5. Kegagalan/pemulihan: bila pembelian gagal, saldo tidak berubah dan pesan kesalahan ditampilkan; pemain dapat mencoba lagi atau memilih paket lain.
  6. Kelanjutan: pemain kembali ke Slot, atau menuju Coin Market untuk membandingkan harga pemain yang lebih murah.

Alur 5 — Pemain membeli koin dari pemain lain (Pemain Slot)

  1. Pemain terverifikasi membuka Coin Market.
  2. Pemain melihat band perbandingan "HARGA RESMI" vs "HARGA PEMAIN" dengan stempel persentase penghematan, lalu menggulir baris kartu penawaran pemain.
  3. Pemain memilih satu penawaran berdasarkan jumlah koin dan harga yang tercantum, lalu menekan tombol beli.
  4. Sistem menyelesaikan transaksi: koin berpindah dari penawaran penjual ke saldo koin pembeli, dan penawaran diperbarui.
  5. Kegagalan/pemulihan: bila saldo tidak cukup atau penawaran sudah tidak tersedia, saldo tidak berubah dan pesan kesalahan ditampilkan; pemain dapat memilih penawaran lain atau menambah koin lewat Top Up.
  6. Kelanjutan: pemain kembali ke Slot dengan saldo koin yang bertambah.

Alur 6 — Penjual memasang penawaran koin (Penjual Koin (Pemain))

  1. Penjual terverifikasi membuka Sell Coins dan melihat saldo koin yang tersedia untuk dijual.
  2. Penjual memasang penawaran dengan menentukan jumlah koin dan harga pemain yang lebih murah daripada harga resmi.
  3. Sistem menerima penawaran dan menampilkannya di Coin Market sebagai kartu penawaran yang dapat dibeli pemain lain.
  4. Kegagalan/pemulihan: bila pemasangan gagal (misalnya koin tidak cukup), saldo tidak berubah dan pesan kesalahan ditampilkan; penjual dapat memperbaiki jumlah/harga atau mencoba lagi.
  5. Kelanjutan: penjual dapat mengelola penawaran miliknya atau memasang penawaran berikutnya.
Page 13 of 19

Alur 7 — Penjual menyelesaikan transaksi dengan pembeli (Penjual Koin (Pemain))

  1. Penjual terverifikasi membuka Sell Coins dan melihat daftar penawaran miliknya beserta statusnya.
  2. Seorang Pemain Slot membeli salah satu penawaran tersebut di Coin Market.
  3. Sistem menyelesaikan transaksi: koin berpindah ke pembeli, saldo penjual bertambah, dan penawaran diperbarui.
  4. Penjual melihat status penawaran yang sudah terjual dan hasil transaksinya.
  5. Kegagalan/pemulihan: bila transaksi gagal diselesaikan, saldo kedua pihak tetap konsisten dan penawaran tetap dapat dibeli.
  6. Kelanjutan: penjual dapat memasang penawaran baru dari kelebihan koinnya.
  7. Batasan: akses penjual membatasi pengelolaan penawaran dan koin miliknya sendiri tanpa mengubah saldo atau penawaran pemain lain.
Page 14 of 19

6. Visuals Colors and Theme

Arah kreatif bersifat otoritatif untuk bagian ini. Muse: Jessica Walsh — playful maximalism untuk karnival slot koin yang viral di Asia. Headline arah: "Playful maximalism for Asia's viral coin-slot carnival."

Mode: light mode saja. Latar merah muda panas adalah identitas; tidak ada layout yang dimulai dari putih.

Token warna (peran):

PeranHexPenggunaan
Background (ground)#FF3D8BBidang warna penuh-bleed, latar utama semua halaman
Surface#FFF3E4Kartu, panel, chip koin — tempat teks tetap terbaca
Text#1A0A2EWarna tipe di atas krem dan di atas merah muda
Primary#FF3D8BTombol dan elemen aksi utama, aktif state navigasi
Accent#FFD400Tombol spin, angka jackpot, price tag, ticker jackpot
Muted#7A2E5CTeks sekunder, label pendukung
Secondary — Tangerine#FF7A1ABlok warna pendamping untuk band seksi
Secondary — Lime#B8FF3DBlok warna pendamping untuk band seksi

Proporsi: 60% ground merah muda, 25% permukaan krem, 10% tinta, 5% aksen lemon/tangerine/lime.

Tipografi:

  • Heading: Archivo Black, weight 900, uppercase, tracking -0.02em, dengan rotasi 1–2° pada kata hero. Ukuran display sangat besar dan bertumpuk.
  • Heading sekunder: DM Sans Bold.
  • Body: DM Sans.
  • Label dan price tag: DM Sans Bold, uppercase, letter-spacing +0.08em.
  • Skala: modular 1.333 dengan lompatan 1.5 pada display — mobile 40/28/21/16/14; desktop 128/72/40/24/16.
  • Hero display: clamp(56px, 12vw, 128px). Section headline: clamp(32px, 6vw, 72px). Body: 16px/1.6 mobile, 18px/1.65 desktop.

Bahasa bentuk: radius besar 24–40px pada kartu; tombol pil 999px; badge seperti stiker yang dirotasi; bentuk blob dan squiggle sebagai pembatas seksi; outline tinta 3px pada komponen kunci; hard shadow offset 8px 8px 0 tinta, bukan blur lembut. Chip koin adalah lingkaran sempurna dengan rim lemon. Reel slot adalah persegi panjang membulat dengan bezel merah muda panas. Tanpa glass, tanpa gradien sebagai dekorasi — bidang warna datar yang jenuh dengan bentuk tumpang tindih bertepi keras.

Ritme spasi: blok seksi besar dengan pembatas diagonal atau bergelombang; hero full-bleed; panel krem mengambang di atas ground merah muda; jarak antar elemen lega agar headline besar tetap terbaca.

Gaya imagery: properti 3D surreal yang diarahkan secara artistik di atas ground warna datar — koin lemon raksasa, buah naga chrome, dadu mengkilap, kepala macan merah muda, batangan emas seperti permen. Avatar pemain adalah karakter ilustrasi gaya stiker, bukan foto. Tanpa stok fotografi, tanpa gradient blob. Squiggle dekoratif dan ledakan konfeti digambar sebagai bentuk vektor datar.

Larangan visual: tidak ada biru/indigo primer atau aksen (#0057FF, #2563EB, #6366F1); tidak ada Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins, atau system-ui untuk heading maupun body; tidak ada hero gradient-blob atau grid kartu hover-lift identik; tidak ada glassmorphism, panel frosted, atau bayangan blur lembut; tidak ada layout white-first; tidak ada simbol uang sungguhan (Rp, $, €) — koin hanya token hiburan virtual; tidak ada klise kasino seperti papan neon Vegas, meja felt hijau, atau simbol kartu sebagai dekorasi; tidak ada hero terpusat dengan headline + subteks + tombol bertumpuk di tengah layar.

Keterbacaan: headline, wordmark, label, angka, teks kartu, dan kontrol tetap utuh di dalam viewport dan kontainernya pada 375px, 768px, dan 1280px — membungkus atau menskalakan (misalnya font-size: clamp(...) dengan ukuran mobile-nya) agar muat, dan tidak ada elemen lain yang menutupi bagian mana pun darinya. Imagery, dekorasi, dan gerakan boleh dipotong, dibled off edge, dirotasi, ditumpuk, atau dipotong sesuai arah kreatif selama tidak menutupi teks atau kontrol yang terbaca. Konten yang bergerak dan dapat digulir (marquee, ticker, carousel, baris gulir horizontal) boleh melewati tepi viewport atau kontainer secara desain; dinilai dari apakah ia benar-benar bergerak atau menggulir dan apakah setiap item menjadi terbaca penuh saat melewatinya. Dengan prefers-reduced-motion, sediakan susunan statis yang tetap dapat dipakai: bungkus item ke baris atau biarkan gulir horizontal agar setiap item dapat dibawa sepenuhnya ke tampilan.

Page 15 of 19

7. Signature Design Concept

"SPIN" yang melampaui layar. Hero Landing adalah viewport merah muda panas #FF3D8B full-bleed. Dua pertiga kiri ditempati kata SPIN dalam Archivo Black pada clamp(56px, 12vw, 128px), uppercase, dirotasi -3°, bertumpuk di atas blok persegi panjang krem #FFF3E4 yang juga memuat subline dan pil CTA lemon #FFD400 bertuliskan "Main Gratis". Sepertiga kanan adalah klaster properti 3D raksasa — koin lemon, buah naga chrome, dadu mengkilap — yang tumpang tindih dan meluber keluar tepi kanan dan bawah, dirotasi pada sudut ganjil dengan outline tinta keras. Ticker marquee lemon bertuliskan "JACKPOT 12.4JT • 3.201 PEMAIN ONLINE • KOIN MURAH DARI PEMAIN" berjalan di sepanjang tepi paling bawah. Tidak ada headline terpusat, tidak ada tombol biru, tidak ada gradient blob — komposisinya sengaja tidak seimbang dan berisik.

Konsep ini hanya menyusun ulang konten, state, dan kontrol yang sudah diterima: kata "SPIN" merujuk pada aksi spin di halaman Slot, CTA "Main Gratis" menuju Sign Up, dan ticker membawa total jackpot, jumlah pemain online, serta pengait koin murah dari pemain. Tidak ada perilaku, halaman, atau tujuan baru yang diperkenalkan.

Gerakan khas yang menyertai: band perbandingan harga di Coin Market — dua blok warna berhadapan (merah muda "HARGA RESMI" vs lemon "HARGA PEMAIN") dengan garis diagonal besar di antaranya dan stempel persentase penghematan sebagai stiker yang dirotasi; reel slot sebagai panel krem dengan bezel merah muda panas dan rim lemon pada setiap simbol; kartu penawaran bergaya stiker yang miring di baris gulir horizontal, masing-masing dengan outline tinta 3px, hard shadow offset 8px, dan price tag yang berbalik warna saat hover.

Page 16 of 19

8. Interaction Model & Motion Direction

Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: layered_2d

Landing Hero Motion Brief

  • Subjek fokus: kata SPIN dalam Archivo Black yang dirotasi -3° di atas blok krem, dengan klaster properti 3D (koin lemon, buah naga chrome, dadu mengkilap) yang meluber keluar tepi kanan dan bawah.
  • Tesis input → transformasi → hasil: saat halaman dimuat, blok krem dan headline SPIN masuk dengan overshoot memantul sementara klaster properti bergeser sedikit ke dalam frame; ticker lemon di tepi bawah mulai berjalan; hasilnya adalah komposisi yang terasa hidup dan mengundang untuk menekan "Main Gratis" — tanpa perilaku baru, hanya gerakan masuk dan marquee yang sudah diterima.
  • Kosakata gerakan: reels berputar dengan blur cepat lalu settle overshoot memantul; garis menang berkedip lemon dan berdenyut sekali; saldo koin menghitung naik dengan number roll yang kenyal; kartu penawaran scale-in saat digulir dengan hover pop 1.06 dan colour flip pada price tag; ticker jackpot marquee melintasi bagian atas layar Slot. Semua gerakan dibatasi 400ms per beat kecuali marquee.
  • Frame pertama yang tersusun: viewport merah muda penuh, headline SPIN besar di kiri, blok krem dengan CTA lemon, klaster properti di kanan yang meluber keluar tepi, ticker lemon di tepi bawah.
  • State reduced-motion: reel langsung snap ke hasil, ticker menjadi baris statis, daftar penawaran membungkus ke grid, dan hero tampil sebagai susunan statis yang tetap terbaca penuh.
Page 17 of 19

9. Non-Functional Requirements

NFR-1 — Kepatuhan batas uang sungguhan (explicit) Sistem tidak boleh memproses taruhan uang sungguhan, hadiah uang sungguhan dari hasil spin, atau penukaran koin menjadi uang. Rasional: batasan keras dari sumber; judi dengan uang sungguhan tidak dapat dibangun.

NFR-2 — Monetisasi terbatas (explicit) Monetisasi hanya melalui iklan, penjualan koin virtual, dan/atau langganan fitur bonus. Rasional: batasan keras dari sumber.

NFR-3 — Iklan berhadiah hanya memberi spin tambahan (required_inference) Rewarded ads tidak boleh memberikan uang sungguhan atau hadiah yang dapat ditukar menjadi uang. Rasional: menjaga konsistensi dengan batas uang sungguhan pada alur yang diterima.

NFR-4 — Integritas saldo koin dan transaksi (required_inference) Saldo koin virtual serta riwayat pembelian dan transaksi antar pemain harus disimpan sebagai state aplikasi durable dan tetap konsisten di seluruh alur spin, iklan berhadiah, top up, pembelian pasar, dan penjualan. Rasional: diperlukan agar alur yang diterima dapat dijalankan dan diandalkan.

NFR-5 — Isolasi data penjual (required_inference) Akses penjual harus membatasi pengelolaan penawaran dan koin miliknya sendiri tanpa mengubah saldo atau penawaran pemain lain. Rasional: melindungi integritas transaksi antar pemain.

NFR-6 — Keterbacaan lintas viewport (explicit, dari arah kreatif) Teks dan kontrol yang terbaca tetap utuh di dalam viewport dan kontainernya pada 375px, 768px, dan 1280px; konten yang bergerak atau dapat digulir boleh melewati tepi secara desain selama setiap item menjadi terbaca penuh saat melewatinya. Rasional: arah kreatif menetapkan aturan ini sebagai prioritas.

NFR-7 — Dukungan reduced-motion (explicit, dari arah kreatif) Dengan prefers-reduced-motion, sediakan susunan statis yang tetap dapat dipakai: reel snap ke hasil, ticker menjadi baris statis, daftar penawaran membungkus ke grid atau tetap dapat digulir horizontal. Rasional: arah kreatif menetapkan state ini.

Page 18 of 19

10. Tech Stack

  • Frontend: React (aplikasi web dengan antarmuka kustom).
  • Backend: Python/FastAPI untuk melayani permainan, saldo koin, iklan berhadiah, top up, dan transaksi pasar koin.
  • Penyimpanan: basis data untuk state durable saldo koin, riwayat pembelian, penawaran koin, dan transaksi antar pemain.
  • Integrasi eksternal: penyedia iklan berhadiah pihak ketiga untuk tayangan iklan.
  • Kontainerisasi: Docker/docker-compose untuk pengembangan dan pengiriman.
  • Orkestrasi: Kubernetes hanya bila kebutuhan deployment menuntut; tidak ada kebutuhan yang dinyatakan sumber untuk itu saat ini.

11. Assumptions and Constraints

Asumsi:

  • Pemain mengakses produk dari perangkat mobile terlebih dahulu, dengan dukungan desktop.
  • Koin virtual tidak memiliki nilai uang dan tidak dapat ditukar menjadi uang dalam bentuk apa pun.
  • Harga resmi paket koin di Top Up secara konsisten lebih mahal per koin dibanding harga pemain di Coin Market, sesuai model acuan Royal Dreams.
  • Tayangan iklan berhadiah dipasok oleh penyedia eksternal; ketersediaan kesempatan iklan dapat bervariasi.

Batasan:

  • Uang sungguhan tidak boleh menjadi taruhan atau hadiah dari hasil spin; permainan hanya menggunakan koin virtual.
  • Judi dengan uang sungguhan tidak dapat dibangun.
  • Monetisasi hanya melalui iklan, penjualan koin virtual, dan/atau langganan fitur bonus — bukan dari taruhan atau hadiah uang sungguhan.
  • Iklan berhadiah hanya memberikan spin tambahan dan tidak memberikan uang sungguhan atau hadiah yang dapat ditukar menjadi uang.
  • Pembelian koin resmi dan transaksi marketplace memperlakukan koin sebagai mata uang virtual dalam game, bukan taruhan atau hadiah uang sungguhan.
  • Akses penjual membatasi pengelolaan penawaran dan koin miliknya sendiri tanpa mengubah saldo atau penawaran pemain lain.
  • Arah visual melarang biru/indigo sebagai warna primer atau aksen, font Inter/Roboto/Arial/Helvetica/Open Sans/Lato/Poppins/system-ui untuk heading atau body, glassmorphism, gradient-blob hero, layout white-first, simbol uang sungguhan, dan klise kasino.
Page 19 of 19

12. Glossary

  • Koin virtual — token hiburan di dalam game yang dipakai untuk spin dan diperdagangkan antar pemain; bukan uang sungguhan dan tidak dapat ditukar menjadi uang.
  • Spin — satu putaran reel slot yang memakai koin virtual dan menghasilkan hasil putaran.
  • Spin tambahan — tambahan kesempatan spin yang diperoleh dari iklan berhadiah; bukan hadiah bernilai uang.
  • Iklan berhadiah (rewarded ad) — tayangan iklan dari penyedia eksternal yang, setelah selesai ditonton, memberikan spin tambahan kepada pemain.
  • Top up — pembelian paket koin virtual resmi di dalam game.
  • Harga resmi — harga paket koin yang ditetapkan di dalam game; lebih mahal per koin dibanding harga pemain.
  • Harga pemain — harga koin yang ditetapkan pemain lain pada penawaran mereka di Coin Market; lebih murah daripada harga resmi.
  • Coin Market — pasar tempat pemain menemukan dan membeli penawaran koin virtual dari pemain lain.
  • Penawaran koin — daftar koin virtual yang dipasang seorang penjual dengan jumlah dan harga tertentu untuk dibeli pemain lain.
  • Penjual Koin (Pemain) — pemain yang memasang dan mengelola penawaran koin miliknya untuk dijual kepada pemain lain.
  • Pemain Slot — pemain yang bermain slot dengan koin virtual, mengumpulkan koin, dan dapat menambah koin lewat iklan berhadiah, top up, atau pembelian dari pemain lain.
  • Saldo koin — jumlah koin virtual yang dimiliki seorang pemain, tersimpan sebagai state aplikasi yang terikat pada akunnya.

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Read game and coin economy
Sign Up: Submit registration form
Landing: Choose Login instead
Login: 1. Submit credentials
Login: 2. Correct rejected credentials
Slot: 1. Press spin
Slot: 2. See win line and balance
Rewards: 3. Watch rewarded ad
Top Up: 4. Buy official coin tier
Coin Market: 5. Buy player coin offer
Coin Market: 6. Pick another offer after failure
Sign Up: Fix invalid registration input

No completed page designs yet.

Completed design pages will appear here when they are ready to preview.

Landing: Read game and coin economy
Sign Up: Submit registration form
Landing: Choose Login instead
Login: 1. Submit credentials
Login: 2. Correct rejected credentials
Slot: 1. Press spin
Slot: 2. See win line and balance
Rewards: 3. Watch rewarded ad
Top Up: 4. Buy official coin tier
Coin Market: 5. Buy player coin offer
Coin Market: 6. Pick another offer after failure
Sign Up: Fix invalid registration input