PlayDrop logoPlayDrop Studio
สร้างแลกกันเล่นหารายได้เรียนรู้คอนเนกเตอร์แอสเซ็ตชุมชนซัพพอร์ต
PlayDrop logoPlayDrop Studio
สร้างแลกกันเล่นหารายได้เรียนรู้คอนเนกเตอร์แอสเซ็ตชุมชนซัพพอร์ต
เข้าสู่ระบบ
รูปแบบที่กำหนดเองและผลงานผู้เล่น
เอกสาร

เริ่มที่นี่

ภาพรวมเกมแรกของคุณเกม PlayDropFAQ

สร้างด้วย Cloud

การสร้างด้วย Cloudแพ็กเกจและการสร้าง

เชื่อมต่อแอป AI ของคุณ

คอนเนกเตอร์ทั้งหมดClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

เผยแพร่และแชร์

เผยแพร่จากแอป AI ของคุณเกม HTML แบบง่ายการจัดแพ็กเกจและ .playเผยแพร่และนำเข้าไฟล์เกมการมองเห็นและการเข้าถึงผู้เล่นภาพและวิดีโอของหน้าเกมประเภทเกมและแท็กการแปลเกม Instant

ประสบการณ์การเล่น

การโหลด การหยุดชั่วคราว และเสียงเต็มหน้าจอและพื้นที่ปลอดภัยการบันทึกบนคลาวด์ปาร์ตี้ในเครื่องและคอนโทรลเลอร์

เล่นด้วยกัน

การแชร์ เพื่อน และคำเชิญลีดเดอร์บอร์ดความสำเร็จปาร์ตี้ออนไลน์และแชทเสียงเซิร์ฟเวอร์เกมเรียลไทม์

สร้างรายได้

การสร้างรายได้เครดิตและรางวัล

แอสเซ็ต

แอสเซ็ตเกมการสร้างแอสเซ็ตด้วย AIรูปแบบที่กำหนดเองและผลงานผู้เล่น

เอกสารอ้างอิง

SDK ฝั่งไคลเอนต์SDK ฝั่งเซิร์ฟเวอร์catalogue.jsonข้อผิดพลาดและการกู้คืนการแก้ไขปัญหา
เอกสารรูปแบบที่กำหนดเองและผลงานผู้เล่น
แอสเซ็ต

รูปแบบแอสเซ็ตที่กำหนดเองและผลงานของผู้เล่นบน PlayDrop

กำหนดรูปแบบแอสเซ็ตของคุณเองด้วยสเปกแอสเซ็ต ประกาศรูปแบบที่เกมอ่านหรือเขียน และให้ผู้เล่นบันทึกและเผยแพร่ผลงานด้วย sdk.assets.custom

สเปกแอสเซ็ตช่วยให้เกมกำหนดแอสเซ็ตชนิดของตัวเองได้ เช่น ด่าน ตัวละคร หรือสำรับการ์ด โดยเป็นข้อกำหนดของชุดไฟล์ จากนั้นผู้เล่นจะสร้าง บันทึก และเผยแพร่ผลงานในรูปแบบนั้นได้ และเกมอื่นที่รองรับก็เปิดผลงานเหล่านั้นได้

กำหนดสเปกแอสเซ็ต

สเปกแอสเซ็ตประกาศไว้ในรายการ assetSpecs ของ catalogue.json ข้างๆ 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"
  }]
}

ข้อกำหนดระบุไฟล์ของแต่ละแอสเซ็ตและวิธีตรวจสอบไฟล์เหล่านั้น:

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" }
  ]
}

บทบาทอาจมี JSON Schema ซึ่ง PlayDrop จะตรวจสอบทุกครั้งที่บันทึก เผยแพร่สเปกเวอร์ชันใหม่เมื่อรูปแบบเปลี่ยน แอสเซ็ตเก่าจะคงเวอร์ชันเดิมไว้

ประกาศสิ่งที่เกมรองรับ

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

ความสามารถที่ใช้ได้คือ READ, WRITE, EDIT, PREVIEW และ IMPORT

บันทึกและโหลดผลงานของผู้เล่น

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 เก็บฉบับร่างส่วนตัว ส่วน publish ทำให้เป็นสาธารณะ ทั้งสองอย่างต้องใช้ไฟล์ครบชุด
  • การอ้างอิงแอสเซ็ตมีหน้าตาแบบ asset:creator/name@r2 โดย loadJson, loadText และ downloadFile อ่านแอสเซ็ตที่เผยแพร่แล้ว ส่วน loadOwned, loadOwnedJson และ loadOwnedFile อ่านแอสเซ็ตของผู้เล่นเอง รวมถึงฉบับร่าง
  • supports(versionRef, capability) ตรวจสอบก่อนเปิดแอสเซ็ตจากเวอร์ชันอื่น
  • ข้อผิดพลาดใช้รหัสอย่าง custom_asset_capability_unsupported และ custom_asset_role_type_mismatch

ผู้เล่นต้องเข้าสู่ระบบจึงจะบันทึกได้ ตรวจสอบสิ่งที่ผู้เล่นเผยแพร่เหมือนที่คุณตรวจสอบเนื้อหาจากผู้ใช้อื่นๆ: นโยบายเนื้อหาของ PlayDrop มีผลกับเนื้อหาเหล่านั้นด้วย

สิ่งที่คอนเนกเตอร์รับ

แอสเซ็ตและสเปกที่กำหนดเองซึ่งมีแต่ข้อมูลอัปโหลดได้เหมือนไฟล์อื่น ส่วนโมเดลที่รันโค้ดได้ คือแอสเซ็ต MODEL_3D ที่มีหมวดย่อย procedural หรือรูปแบบ CUSTOM จะถูกคอนเนกเตอร์ปฏิเสธ เพราะ API ไม่รันโค้ดของครีเอเตอร์ ให้แปลงเป็นไฟล์สำเร็จรูปหรืออ้างอิงเวอร์ชันที่เผยแพร่แล้ว ดูแอสเซ็ตเกม

คู่มือที่เกี่ยวข้อง

  • แอสเซ็ตเกมใส่ภาพ เสียง วิดีโอ และ 3D ไปกับเกม PlayDrop: ไฟล์ในแพ็กเกจ แอสเซ็ตที่เกมเป็นเจ้าของ แอสเซ็ตและแพ็กสาธารณะ และการค้นหาขณะรันด้วย sdk.assets
  • catalogue.jsonฟิลด์ catalogue.json ที่เกม PlayDrop ใช้: ตัวตน หน้าเกม โหมดการเล่น หน้าจอ การเข้าสู่ระบบ Instant การโหลดล่วงหน้า สื่อ คำแปล คะแนน และเซิร์ฟเวอร์
  • SDK ฝั่งไคลเอนต์เอกสารอ้างอิง SDK บนเบราว์เซอร์ของ PlayDrop: วงจรชีวิตของโฮสต์ ตัวตนและการบันทึก คอนโทรลเลอร์ โซเชียล ผู้เล่นหลายคน ร้านค้า โฆษณา ลีดเดอร์บอร์ด แอสเซ็ต และ AI
ก่อนหน้าการสร้างแอสเซ็ตด้วย AI สำหรับเกม PlayDropถัดไปเอกสารอ้างอิง SDK ฝั่งไคลเอนต์ของ PlayDrop
ดู Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

ในหน้านี้

กำหนดสเปกแอสเซ็ตประกาศสิ่งที่เกมรองรับบันทึกและโหลดผลงานของผู้เล่นสิ่งที่คอนเนกเตอร์รับ
ดู Markdown