PlayDrop logoPlayDrop Studio
MakenSpeelruilVerdienenLerenConnectorsAssetsCommunitySupport
PlayDrop logoPlayDrop Studio
MakenSpeelruilVerdienenLerenConnectorsAssetsCommunitySupport
Inloggen
Onlinegroepen en spraak
Documentatie

Begin hier

OverzichtJe eerste gamePlayDrop-gamesFAQ

Maken met Cloud

Maken met CloudAbonnementen en generaties

Verbind je AI-app

Alle connectorsClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publiceren en delen

Publiceren vanuit je AI-appEenvoudige HTML-gamesVerpakken en .playPubliceren en importerenGamebestandenZichtbaarheid en bereikAfbeeldingen en video voor de gamepaginaGenres en tagsLokalisatieInstantgames

Spelervaring

Laden, pauze en audioSchermvullend en veilige zonesCloudsavesLokale groepen en controllers

Samen spelen

Delen, vrienden en uitnodigingenRanglijstenPrestatiesOnlinegroepen en spraakRealtime gameservers

Verdienen

InkomstenCredits en beloningen

Assets

Game-assetsAI-assets genererenEigen formaten en creaties

Referentie

Client-SDKServer-SDKcatalogue.jsonFouten en herstelProblemen oplossen
DocumentatieOnlinegroepen en spraak
Samen spelen

Onlinegroepen en spraakchat in PlayDrop-games

Laat vrienden je game samen online spelen: geef groepsgroottes op, open het groepsvenster van PlayDrop, neem gereserveerde plaatsen in kamers in en regel kamerspraak.

Een PlayDrop-groep is een groep vrienden die samen van game naar game gaat. Als een groep je game start, reserveert PlayDrop plaatsen voor de leden in een van de kamers van je server, zodat vrienden in dezelfde wedstrijd terechtkomen in plaats van te worden opgesplitst. Spraakchat draait in PlayDrop, niet in je game.

Wat je nodig hebt

  • Een realtime gameserver: groepen spelen in de kamers (Colyseus-rooms) van je server.
  • Ingelogde spelers: kamers weigeren gasten.
  • Deze declaraties in catalogue.json:
json
{
  "types": ["solo", "online", "party"],
  "party": { "online": [2, 3, 4] },
  "roomVoice": true,
  "server": { "entry": "server/index.mjs", "rooms": ["game"] }
}

party.online somt de exacte groepsgroottes op, tot 4, die samen mogen binnenkomen; [2, 4] sluit 3 uit. Het is de grootte van de binnenkomende groep, niet de capaciteit van de kamer: twee groepen van vier kunnen een kamer met acht plaatsen delen. party vereist het type party en party.online vereist online. roomVoice: true zet kamerspraak aan en vereist online.

Naar de juiste kamer

js
if (!sdk.me.isLoggedIn) {
  await sdk.me.promptLogin();
}
const room = await sdk.multiplayer.join("game", { mode: "versus" });

join gebruikt de gereserveerde groepsplaats van de speler als PlayDrop een groep heeft gestart, en doet anders zelfstandig mee. Mislukt het meedoen van een groep, dan weigert het; het zet de speler nooit ongemerkt in een andere kamer. Een gast krijgt authentication_required en PlayDrop toont het inloggen; roep join opnieuw aan vanuit sdk.me.onAuthChange. Houd dezelfde kamer aan over rondes heen.

Na het herladen herstelt sdk.multiplayer.reconnect(roomName, token) de gereserveerde plaats met een token voor opnieuw verbinden dat je privé hebt bewaard voor deze game, versie en gebruiker. Gooi het token weg en roep join aan bij multiplayer_reconnect_expired, multiplayer_reconnect_unavailable of party_reconnect_mismatch.

Het groepsvenster

Vanuit een knop opent sdk.social.openParty({ mode: "online" }) het groepsvenster van PlayDrop, waar spelers vrienden uitnodigen en spraak aan- of uitzetten. Een bestaande groep wordt hergebruikt. openParty() opent het groepsmenu en openParty({ section: "voice" }) opent de spraakinstellingen; combineer mode en section niet. De promise wordt afgerond wanneer het venster sluit, ook bij annuleren.

Lees de groep met sdk.social.getParty() of sdk.social.onPartyChange(callback), dat eerst de huidige toestand levert: { partyId, leaderUserId, revision, members, launch }. launch.status is joining of ready wanneer de groep deze game speelt. Lidmaatschap alleen betekent niet dat de spelers een kamer delen; gebruik join.

Groepslidmaatschap is van PlayDrop: games kunnen geen groepsleden toevoegen of verwijderen en geen microfoons besturen, en spelers nodigen vrienden voor de groep uit vanuit dit venster. Een game kan nog wel een eigen uitnodiging of uitdagingskaart naar een vriend sturen met sdk.social.sendMessage; zie delen, vrienden en uitnodigingen.

Kamerspraak

Met roomVoice: true kan iedereen in een kamer praten, zonder servercode. Om te wijzigen wie wie hoort, koppel je de kamer op je server en stel je een beleid in:

js
import { playdrop } from "@playdrop/server";

const platform = playdrop.multiplayer.forRoom(this);
platform.voice.setPolicy("team");
platform.voice.setTeam(client.auth, "red");

De beleidsopties zijn all, team, proximity (met { range }) en off. setAudience(player, audience) overschrijft de instelling voor één speler en updatePositions([{ player, position: { x, y, z } }]) levert de posities voor afstand; geef null mee om een team of een overschrijving te wissen. PlayDrop handhaaft wie wie mag horen. In de browser past sdk.multiplayer.voice.updateSpatialState({ listener: { position, forward, up }, speakers: [{ userId, position }] }) alleen het volume en de panning aan.

Spraak is onderhevig aan toestemming van spelers, dempen en blokkades, en hangt af van de build van de host en de uitrol.

Pauzeren

De groepscapsule pauzeert de gameplay niet. De pauze van PlayDrop stopt je client, maar de kamer blijft verbonden en je server blijft draaien. De pauze van één speler mag de wedstrijd voor anderen niet stoppen; implementeer een eventuele wedstrijdpauze op de server.

Testen

Upload een privéversie en open daarna de testlink in twee vensters met player=1 en player=2, zoals beschreven in realtime gameservers. Lokale groepen met controllers zijn een aparte modus: zie lokale groepen en controllers.

Gerelateerde gidsen

  • Realtime gameserversDraai een gehoste Colyseus 0.17-server met een MongoDB-database voor je game, verbind vanuit de browser met de SDK, test met twee spelers en ken de limieten.
  • Lokale groepen en controllersLees fysieke gamepads en PlayDrop-telefooncontrollers via sdk.device, volg lokale spelersplaatsen en geef controllerondersteuning en lokale groepsgroottes op.
  • Delen, vrienden en uitnodigingenDeel een game met een afbeelding of clip, lees startpayloads, kies vrienden, stuur uitnodigings- en uitdagingskaarten in PlayDrop Chat en raad andere games aan.
VorigePrestaties voor PlayDrop-gamesVolgendeRealtime gameservers op PlayDrop: Colyseus en MongoDB
Markdown bekijken
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Op deze pagina

Wat je nodig hebtNaar de juiste kamerHet groepsvensterKamerspraakPauzerenTesten
Markdown bekijken