PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
PlayDrop logoPlayDrop Studio
CreaScambio di partiteGuadagnaImparaConnettoriAssetCommunityAssistenza
Accedi
Formati e creazioni
Documentazione

Inizia da qui

PanoramicaIl tuo primo giocoGiochi PlayDropFAQ

Crea con Cloud

Creazione con CloudPiani e generazioni

Collega la tua app di IA

Tutti i connettoriClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Pubblica e condividi

Pubblica dalla tua app di IAGiochi in HTML semplicePacchetti e .playPubblica e importaFile di giocoVisibilità e pubblicoImmagini e video della schedaGeneri e tagLocalizzazioneGiochi Instant

Esperienza di gioco

Caricamento, pausa e audioSchermo intero e aree sicureSalvataggi cloudGruppi locali e controller

Gioca insieme

Condivisione, amici e invitiClassificheObiettiviGruppi online e voceServer in tempo reale

Guadagna

MonetizzazioneCrediti e ricompense

Asset

Asset di giocoAsset con l’IAFormati e creazioni

Riferimento

SDK clientSDK servercatalogue.jsonErrori e recuperoRisoluzione dei problemi
DocumentazioneFormati e creazioni
Asset

Formati di asset personalizzati e creazioni dei giocatori su PlayDrop

Definisci un tuo formato di asset, dichiara quali formati un gioco legge o scrive e fai salvare e pubblicare creazioni ai giocatori con sdk.assets.custom.

Le specifiche di asset permettono a un gioco di definire un proprio tipo di asset, come un livello, un personaggio o un mazzo, sotto forma di contratto di file. I giocatori possono poi creare, salvare e pubblicare creazioni in quel formato, e altri giochi che lo supportano possono aprirle.

Definisci una specifica di asset

Una specifica di asset si dichiara nell’elenco assetSpecs di catalogue.json, accanto ad 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"
  }]
}

Il contratto indica i file di ogni asset e come verificarli:

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

I ruoli possono includere uno schema JSON, che PlayDrop verifica a ogni salvataggio. Pubblica una nuova versione della specifica quando il formato cambia; gli asset esistenti mantengono la loro versione.

Dichiara cosa supporta un gioco

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

Le capacità sono READ, WRITE, EDIT, PREVIEW e IMPORT.

Salva e carica le creazioni dei giocatori

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 conserva una bozza privata; publish la rende pubblica. Entrambi richiedono l’insieme completo dei file.
  • I riferimenti agli asset hanno la forma asset:creator/name@r2. loadJson, loadText e downloadFile leggono gli asset pubblicati; loadOwned, loadOwnedJson e loadOwnedFile leggono quelli del giocatore, bozze comprese.
  • supports(versionRef, capability) controlla la compatibilità prima di aprire un asset di un’altra versione.
  • Gli errori usano codici come custom_asset_capability_unsupported e custom_asset_role_type_mismatch.

I giocatori devono aver effettuato l’accesso per salvare. Controlla ciò che pubblicano come faresti con qualsiasi contenuto degli utenti: si applica la politica sui contenuti di PlayDrop.

Cosa accetta il connettore

Gli asset personalizzati e le specifiche composti solo da dati si caricano come gli altri file. I modelli eseguibili, cioè gli asset MODEL_3D con la sottocategoria procedural o il formato CUSTOM, vengono rifiutati dal connettore perché l’API non esegue codice dei creator; convertili in un formato statico o fai riferimento a una versione pubblicata. Vedi asset di gioco.

Guide correlate

  • Asset di giocoIncludi immagini, suoni, video e 3D in un gioco: file inclusi, asset propri dichiarati in catalogue.json, asset pubblici, pacchetti di asset e ricerca con sdk.assets.
  • catalogue.jsonCampi di catalogue.json usati dai giochi PlayDrop: identità, scheda, modalità, superfici, accesso, Instant, precarico, media, traduzioni, punteggi e server.
  • SDK clientRiferimento dell’SDK browser di PlayDrop: host, identità, salvataggi, controller, social, multiplayer, negozio, annunci, classifiche, obiettivi, asset e IA.
PrecedenteGenerazione di asset con l’IA per i giochi PlayDropSuccessivoRiferimento dell’SDK client di PlayDrop
Vedi il Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

In questa pagina

Definisci una specifica di assetDichiara cosa supporta un giocoSalva e carica le creazioni dei giocatoriCosa accetta il connettore
Vedi il Markdown