Source Code Game Ritme: Note Chart, Timing, dan Menambah Lagu
Cara Riffvolt menyimpan 12 lagu dan 48 chart, tempat timing dan skor ditentukan, serta apa yang dibutuhkan untuk menambah lagu sendiri.

Source code game ritme sebenarnya terdiri dari dua hal: kode yang menilai timing, dan data yang menentukan kapan setiap not datang. Pembeli hampir selalu ingin mengubah bagian kedua, karena lagu baru-lah yang membuat game ritme benar-benar jadi milik mereka. Riffvolt, template game ritme rock empat lajur kami, menyimpan daftar lagu di satu file manifest dan setiap note chart di file-nya sendiri, jadi menambah lagu adalah pekerjaan data dengan daftar periksa yang jelas.
Panduan ini membahas isi paketnya: apa yang dimainkan, di mana timing dan skor diatur, cara menambah lagu, cara rebuild dan hosting, apa yang diizinkan lisensinya, dan apa yang tidak disertakan dalam edisi ini. Nama file diambil dari panduan pembeli yang disertakan bersama game.
Satu hal yang perlu diingat sejak awal: berbeda dengan beberapa template kami, Riffvolt perlu di-rebuild setelah Anda mengubah source atau menambah lagu. Menghosting folder game yang disertakan hanya butuh web host statis.
Apa yang dimainkan source code game ritme ini
Riffvolt adalah game ritme rock empat lajur yang sudah jadi untuk browser. Pemain memukul not tepat waktu, menahan not panjang sampai habis, membengkokkannya dengan whammy, dan mengisi meteran ROCK yang memicu overdrive, pertunjukan lampu yang tidak menambah poin dan berakhir saat ada not yang meleset. Ketepatan timing membangun skor dan combo.
- 12 lagu penuh, masing-masing dengan chart Easy, Normal, dan Hard, plus Rock God yang terbuka setelah tur: total 48 note chart.
- Tur melewati empat venue (Garage, The road, Festival, dan Arena), masing-masing tiga lagu. Bintang dari dua lagu pertama membuka encore, dan menyelesaikan encore membuka venue berikutnya, dengan adegan cerita dan hadiah kosmetik seperti jejak dan bingkai.
- Main bebas: lagu apa pun di tingkat kesulitan apa pun, dengan rekor pribadi yang disimpan per lagu di browser.
- Kontrol: D, F, J, dan K secara default, mengetuk lajur di layar sentuh, atau gamepad. Pengaturan tombol ada di Settings.
- Kenyamanan: kalibrasi audio untuk offset, yang membantu saat memakai headphone Bluetooth, gerakan dikurangi, dan mode fotosensitif yang meredam kilatan dan petir.
- 14 bahasa antarmuka.
Lihat halaman Riffvolt, demo, dan manualnya
Cara file disusun
Unduhan berisi game/ (file yang siap di-deploy), source/ (proyek TypeScript), documentation/ (manual bergambar dalam bahasa Inggris dan Portugis), dan licenses/ (pemberitahuan pihak ketiga). Di dalam source/, data lagu dan logika game terpisah dengan rapi.
- public/manifest.json: katalog lagu, dengan durasi, versi audio, dan path chart setiap lagu.
- public/charts/: 48 note chart.
- public/audio/: rekaman lagu.
- src/core/chartValidate.ts: skema chart dan validasi timing.
- src/core/judge.ts: penilaian timing.
- src/core/scoring.ts: aturan skor dan combo.
- src/game/campaign.ts: progres tur.
- src/game/session.ts: siklus hidup sebuah lagu dan perhitungan hasil.
- src/i18n/locales.ts: 14 kamus antarmuka.
- src/net/localRecords.js: rekor pribadi lokal.
- src/ui/style.css: antarmuka dan tata letak responsif.
Karena penilaian dan skor ada di file terpisah, Anda bisa membuat jendela timing lebih ketat atau lebih longgar tanpa menyentuh cara poin dijumlahkan, dan sebaliknya. Pemisahan seperti inilah yang perlu dicari di kode game ritme mana pun.
Menambah lagu sendiri, langkah demi langkah
Inilah perubahan yang paling dulu ditanyakan pembeli game ritme. Paket ini tidak menyertakan editor chart, jadi chart ditulis sebagai data, dan manualnya mencantumkan persis apa yang dibutuhkan setiap file.
- Taruh rekamannya di public/audio/. Gunakan hanya audio yang haknya Anda pegang untuk produk akhir Anda.
- Buat satu chart per tingkat kesulitan yang didukung di public/charts/. Setiap chart membutuhkan songId, difficulty, audioVersion, offset yang sesuai, dan not-not secara berurutan.
- Tambahkan lagu ke public/manifest.json dengan id unik, durasi, BPM, tema, audioVersion, dan path chart.
- Periksa setiap chart dengan validator di chartValidate.ts.
- Mainkan lagu sampai habis di setiap tingkat kesulitan untuk memastikan sinkronnya. Validator memeriksa struktur dan aturan timing, bukan apakah sebuah not terasa pas.
- Rebuild, lalu unggah build yang baru.
Jika Anda menginginkan soundtrack yang sepenuhnya baru, bukan sekadar satu lagu tambahan, rencanakan pekerjaannya per chart: 12 lagu dengan empat tingkat kesulitan berarti 48 chart, dan masing-masing layak dimainkan penuh sebelum rilis.
Rebuild dan hal lain yang bisa diubah
Node.js 24 LTS disarankan. Di dalam source/, jalankan npm ci, lalu npm run typecheck dan npm run build, dan publikasikan hanya isi dist/. npm run preview menyajikan build lokal untuk diperiksa. Jangan unggah node_modules/. Vite memakai base relatif, jadi build-nya berjalan di subfolder. Runtime yang dikirim sudah diformat agar mudah dibaca; manual meminta Anda mempertahankan minify:false dan cssMinify:false saat rebuild, supaya orang berikutnya tetap bisa membacanya.
- Merek: warna dan tata letak di src/ui/style.css, plus logo Anda. White label diizinkan, jadi merek Anda boleh menggantikan merek kami.
- Teks: src/i18n/locales.ts, untuk bahasa yang Anda rilis.
- Tur: urutan venue dan apa membuka apa, di campaign.ts.
- Kesulitan: jendela timing di judge.ts, lalu aturan skor dan combo di scoring.ts.
- Lagu: paling akhir, karena setiap chart baru perlu dimainkan sampai habis.
Buat cadangan sebelum mengedit, ubah satu fitur dalam satu waktu, dan uji menu, satu lagu, jeda, layar hasil, serta muat ulang setelah setiap perubahan. Pertahankan id item dan key data simpanan agar pemain lama tetap memiliki rekor mereka.
Menghosting, atau menyematkannya di portal
Unggah isi game/ ke sebuah folder di host HTTP(S) Anda, pertahankan path relatifnya, lalu buka alamatnya. Tidak perlu PHP, database, atau akun. Jangan buka index.html lewat file://; untuk tes lokal, jalankan python -m http.server 8765 di dalam game/.
- Kebutuhan browser: JavaScript, modul ES, Canvas 2D, dan Web Audio.
- Browser baru membuka audio setelah ketukan atau klik pertama, jadi layar pertama yang tanpa suara itu normal.
- Di dalam iframe, izinkan fullscreen dan autoplay.
- Sajikan .js dengan tipe MIME JavaScript, jangan pernah sebagai text/plain.
- Semua aset runtime, font, dan library ada di dalam build. Tidak ada CDN wajib, tetapi ini bukan aplikasi offline yang bisa diinstal.
Data simpanan terikat pada origin browser, jadi memindahkan game ke domain lain berarti pemain mulai dari awal. Edisi ini memakai key data simpanan sendiri, terpisah dari edisi portal kami. Proyek aplikasi native tidak disertakan; rilis di toko aplikasi adalah pekerjaan terpisah.
Yang tidak disertakan dalam edisi ini
Riffvolt adalah edisi browser lokal. Tidak ada room online atau multiplayer, tidak ada peringkat online atau papan peringkat bersama, tidak ada SDK iklan atau akun, tidak ada editor chart, tidak ada aplikasi native, dan tidak ada hosting. Rekor pribadi dan progres tur tetap tersimpan di browser pemain.
Jika game musik cocok dengan katalog Anda, dua template kami lainnya yang berbasis timing bisa melengkapinya.
Pinloop: game arcade timing satu tombol dengan 30 target
Ricopop: game arcade pantulan dengan 50 level
Lisensi dan harga
Harga Riffvolt adalah $49. Sampai 30 November 2026, promo Black Friday memberi potongan 15%, jadi harganya $41.65, dan membeli dua template atau lebih dalam satu pesanan menambah diskon paket 5% hingga 20%. Lisensinya permanen dan non-eksklusif, untuk satu produk akhir, milik Anda atau milik satu klien. Anda boleh mengubah kode, grafis, dan audio, mengganti merek kami dengan merek Anda, dan menawarkan game secara gratis atau dengan iklan. Gunakan lagu bawaan sebagai bagian dari produk akhir tersebut; Anda tidak boleh menjual ulang template, kodenya, atau asetnya secara terpisah. Termasuk dukungan enam bulan, atau dua belas bulan dengan perpanjangan; lagu baru, integrasi, dan hosting diberi penawaran harga terpisah.
Baca ketentuan lisensi selengkapnya
Pertanyaan yang sering diajukan
Bisakah saya menambahkan lagu sendiri ke source code game ritme ini?
Bisa. Tambahkan audio, satu chart per tingkat kesulitan, dan satu entri di public/manifest.json, validasi chart-nya, mainkan sampai habis, lalu rebuild. Editor chart tidak disertakan.
Apakah saya perlu Node.js untuk memakai Riffvolt?
Tidak untuk menghosting folder game yang disertakan. Node.js 24 LTS hanya disarankan untuk rebuild setelah mengubah TypeScript atau menambah lagu.
Apakah bisa dipakai dengan layar sentuh dan gamepad?
Bisa. Pemain dapat mengetuk lajur atau memakai gamepad, dan kontrol diatur di Settings. Performa tergantung perangkat, jadi uji di perangkat yang Anda targetkan.
Bagaimana dengan headphone Bluetooth dan latensi?
Settings menyertakan kalibrasi audio, yang mengatur offset audio dan membantu saat memakai headphone Bluetooth.
Apakah ada papan peringkat online?
Tidak. Rekor pribadi disimpan per lagu dan tingkat kesulitan di browser pemain. Tidak ada lawan jarak jauh atau peringkat bersama.
Siapa yang sebaiknya membeli
Riffvolt cocok untuk portal atau situs yang menginginkan game musik di katalognya, studio yang menyerahkan game ritme bermerek kepada satu klien, dan developer yang ingin mempelajari bagaimana game Canvas 2D dan Web Audio menilai timing di TypeScript. Kurang cocok jika Anda membutuhkan editor chart visual untuk non-developer atau kompetisi online; keduanya adalah pekerjaan kustom.
