Caputchin
Pengembangan game kustom

Skema dasbor game kustom

Sebuah game marketplace mengirim manifest caputchin.json yang mendeklarasikan bidang mana yang boleh disetel tiap preset kustomisasi. Sebuah game kustom tak punya manifest, jadi kamu mendeklarasikan skema bidang itu di dasbor sebagai gantinya. Kamu mendefinisikannya sekali per game kustom, per sumbu, lalu menulis preset terhadapnya; dari sana ia diselesaikan dan diterapkan persis seperti game marketplace di jenjang paket yang sama.

Halaman ini adalah referensi untuk skema itu. Untuk menulis game itu sendiri, lihat bangun game swahosting; untuk alur pendaftaran sisi-pelanggan, lihat game kustom.

Satu skema per sumbu

Skema sebuah game kustom dideklarasikan per sumbu, dan tiga sumbu independen:

SumbuApa yang dikustomisasinyaSkema
LocaleString terjemahan game.Implisit: bidang locale selalu teks biasa, jadi tak ada yang dideklarasikan; kamu menulis preset string langsung.
SkinWarna, aset visual, dan tombol presentasi.Kamu mendeklarasikan bidang warna, aset, dan skalar (sakelar / angka / rentang / pilihan) yang boleh disetel preset skin.
KonfigurasiOpsi gameplay (tingkat kesulitan, hitungan, sakelar).Kamu mendeklarasikan bidang opsi yang boleh disetel preset konfigurasi.

Kamu mendefinisikan skema hanya untuk sumbu yang game-mu sebenarnya pakai. Sebuah sumbu tanpa skema sekadar tak punya bidang yang bisa dikustomisasi dari jenis itu.

Tipe bidang

Sebuah skema adalah set bidang bernama, masing-masing dengan tipe. Tipe bidangnya adalah set yang sama yang dipakai sisa kustomisasi; referensi skema kustomisasi adalah deskripsi otoritatif setiap tipe dan nilai yang diterimanya. Singkatnya:

TipeNilai
stringTeks bebas.
booleantrue atau false.
numberAngka hingga mana pun.
rangeSebuah angka dalam min dan max.
listSatu dari set opsi tetap.
linkSebuah URL http/https.
colorSebuah warna hex atau rgb().
imageSebuah URL gambar atau unggahan.
audioSebuah URL audio atau unggahan.
videoSebuah URL video atau unggahan.

Locale memakai string saja (dan resolver tak memvalidasi skema locale sama sekali). Skin dan konfigurasi memvalidasi nilai yang ditulis terhadap skema yang kamu deklarasikan dan membuang nilai yang tak cocok dengan tipenya.

Cakupan: di mana sebuah skema berada

Skema game-kustom disetel pada sebuah cakupan, tim atau kunci situs, model cakupan yang sama dengan penggantian. Saat baik sebuah tim maupun salah satu kunci situsnya mendeklarasikan skema untuk game dan sumbu yang sama, skema kunci situs menggantikan milik tim untuk sumbu itu (penggantian seluruh-sumbu, bukan penggabungan bidang-demi-bidang). Ini mencerminkan bagaimana sisa kustomisasi diselesaikan paling-spesifik-menang.

Aset bersifat absolut

Karena kamu menghosting game yang bisa dimainkan sendiri, tak ada bundel platform untuk menyelesaikan path aset relatif. Nilai image, audio, atau video mana pun di preset skin harus berupa URL absolut. (Sebuah game marketplace bisa memakai path relatif-bundel; game kustom tak bisa.)

Bagaimana sebuah preset mencapai game

Begitu skema dan preset ada, Caputchin menyelesaikan satu preset per sumbu untuk tiap pengunjung (paling-spesifik-menang lintas kunci situs, tim, dan default-mu) dan mengirim nilai terselesaikan ke game-mu lewat konteks game factory: ctx.locale, ctx.skin, ctx.config. Game-mu membaca nama bidangnya sendiri dari objek itu. Skema adalah yang membuat editor dasbor menunjukkan input yang tepat dan yang memvalidasi nilai sebelum mereka pernah mencapai pengunjung.

Lihat juga

Di halaman ini