PlayDrop logoPlayDrop Studio
OpprettSpillbytteTjenLærConnectorerRessurserFellesskapStøtte
PlayDrop logoPlayDrop Studio
OpprettSpillbytteTjenLærConnectorerRessurserFellesskapStøtte
Logg inn
Egendefinerte formater og spillerkreasjoner
Dokumentasjon

Start her

OversiktDitt første spillPlayDrop-spillFAQ

Lag med Cloud

Opprettelse med CloudAbonnementer og genereringer

Koble til KI-appen din

Alle connectorerClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publiser og del

Publiser fra KI-appen dinEnkle HTML-spillPakking og .playPubliser og importerSpillfilerSynlighet og rekkeviddeOppføringsbilder og videoSjangre og taggerLokaliseringInstant-spill

Spillopplevelse

Lasting, pause og lydFullskjerm og trygge områderSkylagringLokale grupper og kontrollere

Spill sammen

Deling, venner og invitasjonerTopplisterPrestasjonerNettgrupper og stemmeSanntidsservere

Tjen

InntekterKreditter og belønninger

Ressurser

SpillressurserKI-generering av ressurserEgendefinerte formater og spillerkreasjoner

Referanse

Klient-SDKServer-SDKcatalogue.jsonFeil og gjenopprettingFeilsøking
DokumentasjonEgendefinerte formater og spillerkreasjoner
Ressurser

Egendefinerte ressursformater og spillerkreasjoner på PlayDrop

Lag et eget ressursformat med en spesifikasjon, deklarer formatene spillet leser eller skriver, og la spillere lagre og publisere kreasjoner med sdk.assets.custom.

Ressursspesifikasjoner lar et spill definere sin egen type ressurs, for eksempel et brett, en figur eller en kortstokk, som en kontrakt av filer. Spillere kan deretter lage, lagre og publisere kreasjoner i det formatet, og andre spill som støtter det, kan åpne dem.

Definer en ressursspesifikasjon

En ressursspesifikasjon deklareres i assetSpecs-listen i catalogue.json, ved siden av 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"
  }]
}

Kontrakten navngir filene i hver ressurs og hvordan de skal sjekkes:

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 et JSON Schema, som PlayDrop sjekker ved hver lagring. Publiser en ny versjon av spesifikasjonen når formatet endres; gamle ressurser beholder sin versjon.

Deklarer hva et spill støtter

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

Funksjonene er READ, WRITE, EDIT, PREVIEW og IMPORT.

Lagre og last inn spillerkreasjoner

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 lagrer et privat utkast; publish gjør det offentlig. Begge trenger hele settet med filer.
  • Ressursreferanser ser ut som asset:creator/name@r2. loadJson, loadText og downloadFile leser publiserte ressurser; loadOwned, loadOwnedJson og loadOwnedFile leser spillerens egne, inkludert utkast.
  • supports(versionRef, capability) sjekker før du åpner en ressurs fra en annen versjon.
  • Feil bruker koder som custom_asset_capability_unsupported og custom_asset_role_type_mismatch.

Spillere må være logget inn for å lagre. Se over det spillere publiserer, på samme måte som du ville gjort med annet brukerinnhold: PlayDrops innholdsregler gjelder for det.

Hva connectoren godtar

Egendefinerte ressurser og spesifikasjoner som bare inneholder data, lastes opp som andre filer. Kjørbare modeller, det vil si MODEL_3D-ressurser med underkategorien procedural eller formatet CUSTOM, avvises av connectoren fordi API-et ikke kjører kode fra skapere; bak dem til faste modeller eller referer til en publisert versjon. Se spillressurser.

Relaterte veiledninger

  • SpillressurserLever bilder, lyd, video og 3D med et PlayDrop-spill: medfølgende filer, spillets egne ressurser, offentlige ressurser og ressurspakker, og oppslag med sdk.assets.
  • catalogue.jsoncatalogue.json-feltene PlayDrop-spill bruker: identitet, oppføring, spillmåter, flater, innlogging, Instant, forhåndslasting, medier, oversettelser, poeng og servere.
  • Klient-SDKReferanse for PlayDrops nettleser-SDK: livssyklus, identitet og lagring, kontrollere, sosialt, flerspiller, butikk, annonser, topplister, ressurser og KI.
ForrigeKI-generering av ressurser for PlayDrop-spillNesteReferanse for PlayDrops klient-SDK
Vis Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

På denne siden

Definer en ressursspesifikasjonDeklarer hva et spill støtterLagre og last inn spillerkreasjonerHva connectoren godtar
Vis Markdown