Generazione di asset con l’IA per i giochi PlayDrop
Genera immagini, musica, effetti sonori, voce, video e modelli 3D per un gioco, dal browser con la conferma del giocatore o da un server pagato dal creator.
PlayDrop può generare immagini, musica, effetti sonori, voce, video e modelli 3D. Usalo mentre crei un gioco, oppure dentro il gioco perché i giocatori ricevano contenuti generati.
Mentre crei il gioco
I creator che hanno effettuato l’accesso generano asset da Crea sul sito di PlayDrop (immagine, musica, suono, voce, video e 3D) oppure li chiedono a PlayDrop Cloud mentre costruiscono un gioco. Ogni generazione costa crediti, mostrati prima di iniziare, e il risultato diventa un asset di tua proprietà. Usalo come qualsiasi altro asset: scaricalo nel tuo pacchetto o fai riferimento a esso in uses (asset di gioco).
Dentro il gioco: dal browser
sdk.ai.<kind>.createTask(request) chiede a PlayDrop di generare contenuti per il giocatore attuale. PlayDrop mostra al giocatore una conferma con il costo in crediti, il giocatore paga e il risultato resta privato, visibile solo a quel giocatore.
try {
const task = await sdk.ai.image.createTask({ input: "A friendly robot pet, flat colors", aspectRatio: "1:1" });
const done = await waitForTask(task.id);
const blob = await sdk.ai.tasks.downloadFile(done.id);
showPet(URL.createObjectURL(blob));
} catch (error) {
if (error.message === "ai_generation_cancelled") return;
throw error;
}
async function waitForTask(id) {
for (;;) {
const task = await sdk.ai.tasks.get(id);
if (task.status === "DONE") return task;
if (["FAILED", "CANCELLED", "EXPIRED"].includes(task.status)) throw new Error(task.status);
await new Promise((resolve) => setTimeout(resolve, 2000));
}
}- Tipi:
image,music,sfx,speech,videoemodel3d.sdk.ai.inputs.upload(blob)invia un’immagine di riferimento. - Può essere aperta una sola conferma alla volta; una seconda chiamata viene rifiutata con
ai_generation_in_progress. - La generazione di testo e JSON dal browser non è disponibile per i giochi ospitati e restituisce
app_ai_generation_disabled. Usa un server. - Chiamala da un’azione del giocatore, durante
play, e gestisci l’annullamento.
Dentro il gioco: da un server
Su un server di gioco, playdrop.ai di @playdrop/server genera testo, JSON, immagini, musica, effetti sonori, voce, video e 3D. Paga il creator, che di default possiede i risultati; passa { owner: client.auth } per dare un risultato idoneo a quel giocatore.
import { playdrop } from "@playdrop/server";
const task = await playdrop.ai.speech.createTask({ input: "Welcome back, captain." }, { owner: client.auth });
// Later, once the task is DONE:
const file = await playdrop.ai.tasks.downloadFile(task.id, { role: "primary" });
client.send("speech", { bytes: new Uint8Array(await file.arrayBuffer()), contentType: file.type });- Un file generato è privato: scaricalo sul server e invia i byte solo al giocatore a cui è destinato.
- Le richieste di voce accettano al massimo 40 parole.
- Le generazioni dei giocatori di prova restano di proprietà del creator e vengono eseguite in modalità di prova.
- Queste chiamate funzionano sui giochi caricati, non nello sviluppo locale.
La generazione costa crediti, quindi limita quanto spesso i giocatori possono avviarla, e verifica una richiesta completa, dall’attività fino al momento in cui il giocatore vede o sente davvero il risultato, prima di costruirci sopra un gioco.