PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
PlayDrop logoPlayDrop Studio
BuatTukar mainHasilkanBelajarKonektorAsetKomunitasBantuan
Masuk
Format kustom dan kreasi pemain
Dokumentasi

Mulai di sini

RingkasanGame pertamamuGame PlayDropFAQ

Buat dengan Cloud

Pembuatan CloudPaket & generasi

Hubungkan aplikasi AI Anda

Semua konektorClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Terbitkan dan bagikan

Terbitkan dari aplikasi AI AndaGame HTML sederhanaPengemasan dan .playTerbitkan dan imporBerkas gameVisibilitas dan jangkauanGambar dan video listinganGenre dan tagLokalisasiGame Instan

Pengalaman bermain

Pemuatan, jeda, dan audioLayar penuh dan area amanSimpanan cloudGrup lokal dan pengontrol

Bermain bersama

Berbagi, teman, dan undanganPapan peringkatPencapaianGrup online dan suaraServer game realtime

Penghasilan

MonetisasiKredit & hadiah

Aset

Aset gamePembuatan aset AIFormat kustom dan kreasi pemain

Referensi

SDK klienSDK servercatalogue.jsonKesalahan dan pemulihanPemecahan masalah
DokumentasiFormat kustom dan kreasi pemain
Aset

Format aset kustom dan kreasi pemain di PlayDrop

Buat format aset sendiri, nyatakan format yang dibaca atau ditulis game, dan biarkan pemain menyimpan serta menerbitkan kreasi lewat sdk.assets.custom.

Spesifikasi aset memungkinkan game menentukan jenis asetnya sendiri, seperti level, karakter, atau dek, sebagai kontrak berkas. Pemain lalu bisa membuat, menyimpan, dan menerbitkan kreasi dalam format itu, dan game lain yang mendukungnya bisa membukanya.

Tentukan spesifikasi aset

Spesifikasi aset dideklarasikan di daftar assetSpecs di catalogue.json, di samping apps:

json
{
  "assetSpecs": [{
    "name": "moon-level",
    "version": "1.0.0",
    "displayName": "Moon Jump level",
    "symbol": "specs/moon-level.svg",
    "contract": "specs/moon-level.contract.json"
  }]
}

Kontrak menyebutkan berkas setiap aset dan cara memeriksanya:

json
{
  "primaryRole": "level",
  "roles": [
    { "name": "level", "required": true, "contentTypes": ["application/json"], "mode": "TEXT",
      "jsonSchema": { "type": "object", "required": ["tiles"], "properties": { "tiles": { "type": "array" } } } },
    { "name": "thumbnail", "required": false, "contentTypes": ["image/png"], "mode": "BINARY" }
  ]
}

Peran boleh membawa JSON Schema, yang diperiksa PlayDrop setiap kali disimpan. Terbitkan versi spesifikasi baru saat formatnya berubah; aset lama tetap memakai versinya.

Nyatakan apa yang didukung game

json
{
  "assetSpecSupport": [
    { "assetSpec": "asset-spec:your-name/moon-level", "versionRange": "^1.0.0", "capabilities": ["READ", "WRITE"] }
  ]
}

Kemampuan yang tersedia adalah READ, WRITE, EDIT, PREVIEW, dan IMPORT.

Simpan dan muat kreasi pemain

js
const levels = sdk.assets.custom.forSpec("asset-spec:your-name/moon-level");

await levels.saveDraft({ assetName: "crater-run", displayName: "Crater run",
  files: { level: new Blob([JSON.stringify(level)], { type: "application/json" }) } });
await levels.publish({ assetName: "crater-run", displayName: "Crater run", files: { level: levelBlob, thumbnail: pngBlob } });

const mine = await levels.listMine();
const latest = mine[0]?.latestPublicVersion;
if (latest) startLevel(await levels.loadJson({ assetRef: latest.assetRef, role: "level" }));

const community = await levels.listPublic({ limit: 20 }); // { assets, pagination }
  • saveDraft menyimpan draf privat; publish menjadikannya publik. Keduanya memerlukan set berkas yang lengkap.
  • Referensi aset berbentuk seperti asset:creator/name@r2. loadJson, loadText, dan downloadFile membaca aset yang sudah diterbitkan; loadOwned, loadOwnedJson, dan loadOwnedFile membaca aset milik pemain sendiri, termasuk draf.
  • supports(versionRef, capability) memeriksa dukungan sebelum membuka aset dari versi lain.
  • Kesalahan memakai kode seperti custom_asset_capability_unsupported dan custom_asset_role_type_mismatch.

Pemain harus masuk untuk menyimpan. Tinjau apa yang diterbitkan pemain seperti Anda meninjau konten pengguna lainnya: kebijakan konten PlayDrop berlaku untuknya.

Apa yang diterima konektor

Aset dan spesifikasi kustom yang hanya berisi data diunggah seperti berkas lainnya. Model yang dapat dieksekusi, yaitu aset MODEL_3D dengan subkategori procedural atau format CUSTOM, ditolak oleh konektor karena API tidak menjalankan kode kreator; bake model tersebut atau rujuk versi yang sudah diterbitkan. Lihat aset game.

Panduan terkait

  • Aset gameSertakan gambar, suara, video, dan 3D di game PlayDrop: berkas bawaan, aset milik game, aset serta pack publik, dan pencarian lewat sdk.assets.
  • catalogue.jsonField catalogue.json yang dipakai game PlayDrop: identitas, listingan, mode bermain, permukaan, login, Instan, pramuat, media, terjemahan, skor, dan server.
  • SDK klienReferensi SDK browser: init, siklus hidup host, identitas, simpanan, perangkat, sosial, multiplayer, toko, iklan, papan peringkat, pencapaian, aset, dan AI.
SebelumnyaPembuatan aset AI untuk game PlayDropBerikutnyaReferensi SDK klien PlayDrop
Lihat Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Di halaman ini

Tentukan spesifikasi asetNyatakan apa yang didukung gameSimpan dan muat kreasi pemainApa yang diterima konektor
Lihat Markdown