PlayDrop logoPlayDrop Studio
SkapaSpelutbyteTjänaLär digConnectorsAssetsCommunitySupport
PlayDrop logoPlayDrop Studio
SkapaSpelutbyteTjänaLär digConnectorsAssetsCommunitySupport
Logga in
Egna format och skapelser
Dokumentation

Börja här

ÖversiktDitt första spelPlayDrop-spelFAQ

Skapa med Cloud

Skapa med CloudPlaner och genereringar

Anslut din AI-app

Alla connectorsClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publicera och dela

Publicera från din AI-appEnkla HTML-spelPaketering och .playPublicera och importeraSpelfilerSynlighet och räckviddBilder och video för spelsidanGenrer och taggarLokaliseringInstant-spel

Spelupplevelse

Inläsning, paus och ljudHelskärm och säkra områdenMolnsparningarLokala grupper och handkontroller

Spela tillsammans

Delning, vänner och inbjudningarTopplistorPrestationerOnlinegrupper och röstSpelservrar i realtid

Tjäna

IntäkterKrediter och belöningar

Assets

SpelassetsAI-generering av assetsEgna format och skapelser

Referens

Klient-SDKServer-SDKcatalogue.jsonFel och åtgärderFelsökning
DokumentationEgna format och skapelser
Assets

Egna assetformat och spelarskapelser på PlayDrop

Skapa ett eget assetformat med en asset spec, deklarera formaten spelet läser eller skriver och låt spelare spara och publicera skapelser med sdk.assets.custom.

Med asset specs kan ett spel definiera en egen sorts asset, som en bana, en karaktär eller en kortlek, som ett kontrakt av filer. Spelare kan sedan göra, spara och publicera skapelser i det formatet, och andra spel som stöder det kan öppna dem.

Definiera en asset spec

En asset spec deklareras i listan assetSpecs i catalogue.json, bredvid 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"
  }]
}

Kontraktet anger filerna i varje asset och hur de kontrolleras:

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

Roller kan ha ett JSON Schema, som PlayDrop kontrollerar vid varje sparning. Publicera en ny version av specen när formatet ändras; gamla assets behåller sin version.

Deklarera vad ett spel stöder

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

Förmågorna är READ, WRITE, EDIT, PREVIEW och IMPORT.

Spara och läs in spelarskapelser

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 sparar ett privat utkast; publish gör det offentligt. Båda kräver den kompletta uppsättningen filer.
  • Assetreferenser ser ut som asset:creator/name@r2. loadJson, loadText och downloadFile läser publicerade assets; loadOwned, loadOwnedJson och loadOwnedFile läser spelarens egna, inklusive utkast.
  • supports(versionRef, capability) kontrollerar stödet innan en asset från en annan version öppnas.
  • Fel använder koder som custom_asset_capability_unsupported och custom_asset_role_type_mismatch.

Spelare måste vara inloggade för att spara. Granska det som spelare publicerar på samma sätt som annat användarinnehåll: PlayDrops innehållspolicy gäller för det.

Det här accepterar connectorn

Egna assets och specar som bara består av data laddas upp som andra filer. Körbara modeller, alltså MODEL_3D-assets med underkategorin procedural eller formatet CUSTOM, avvisas av connectorn eftersom API:et inte kör skaparens kod; baka dem eller referera till en publicerad version. Se spelassets.

Relaterade guider

  • SpelassetsLeverera bilder, ljud, video och 3D med ett PlayDrop-spel: medföljande filer, spelets egna assets, offentliga assets och assetpaket, och uppslag med sdk.assets.
  • catalogue.jsonFälten i catalogue.json för PlayDrop-spel: identitet, spelsida, spellägen, ytor, inloggning, Instant, förladdning, media, översättningar, poäng och servrar.
  • Klient-SDKReferens för PlayDrops webbläsar-SDK: livscykel, identitet och sparningar, handkontroller, socialt, flerspelarläge, butik, annonser, topplistor, assets och AI.
FöregåendeAI-generering av assets för PlayDrop-spelNästaReferens för PlayDrops klient-SDK
Visa Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

På den här sidan

Definiera en asset specDeklarera vad ett spel stöderSpara och läs in spelarskapelserDet här accepterar connectorn
Visa Markdown