PROJEKT

Udvikling af onlinegamingplatform til multiplayer i realtid

Skræddersyet softwareudvikling, Browserspilplatform, Multiplayer i realtid, Matchmakingsystem, Spillerkonti, Spilhosting, Ranglister

  • Branche: Onlinegaming
  • Grækenland Lokation: Grækenland
  • Leveringstid: 16 uger
  • Teknologier: JavaScript / TypeScript (Node.js), Python
4+ måneder

Denne kundes onlinegamingplatform samler spillere i browserbaserede spil, men livesessioner, spilhosting og spilleridentitet skal fungere sammen ét pålideligt sted. Softwaren er en onlinegamingplatform, der håndterer spiltitler og spillerkonti. Den giver spillerne et katalog, multiplayer-rum og livesessioner. Den er udviklet til platformens spillere og teamet, der administrerer spiloplevelsen.

Opsummering

Problem

Platformen har brug for spilbrowsing, spilleridentitet og spil i realtid samlet i ét produkt.

Løsning

Løsningen blev en modulær onlinegamingplatform med katalog, live-multiplayer-sessioner og fælles konti.

Resultat

Platformen er udviklet til at give spillerne en tydelig vej fra spilopdagelse til multiplayer-spil.

Kundehistorie

Kunden er en onlinegamingplatform fra Grækenland. Den samler spillere omkring browserbaserede spil og understøtter multiplayer, spillerkonti og communityfunktioner.

Spiltitler, rum og spilleridentiteter skal forblive forbundne, mens spillerne browser, tilslutter sig rum og spiller sammen.

Ønsket var enkelt: netværk til multiplayer i realtid med lav latenstid, responsiv adgang på tværs af spillernes enheder, fælles identitetstjenester samt sikker backend-infrastruktur med dokumentation og hjælp til deployment.

Løsningen blev udformet som en modulær platform med spilkatalog og lobby. Den omfattede også en synkroniseret spilskærm samt moduler til matchmaking, opsætning af rum, resultater og ranglister.

Der blev lagt særlig vægt på tydelige faser, tidlige forhåndsvisninger og dokumentation, så kundens team selv kunne administrere systemet.

Kunden bad om

  1. Understøttelse af multiplayer med lav latenstid via WebSockets eller en tilsvarende protokol
  2. Mulighed for adgang via browser, mobilweb, mobilapp eller flere platforme
  3. Konti, godkendelse, profiler og fælles identitet
  4. Sikker infrastruktur, hjælp til deployment og tydelig dokumentation

Hvorfor standardsoftware ikke passede

Standardplatforme til spiller-support fokuserer på kundeservice for spiludviklere og udgivere, ikke på at samle spilbrowsing, rum, synkroniseret spil og konkurrencer i ét produkt. Der var brug for en skræddersyet platform, som kunne kombinere gameplay med konti, matchmaking, ranglister og andre regler for kundens spiltjeneste.

Projektoversigt

Løsningen blev designet omkring et spilkatalog og en lobby som giver spillerne ét udgangspunkt for tilgængelige titler, beskrivelser og adgang til rum. Kataloget viser uploadede spil og rummenes status, mens offentlige og private rum gør adgangen overskuelig.

Til live-spil blev der leveret en synkroniseret multiplayer-skærm. socket.io (et realtidsnetværksframework til Node.js) og WebSocket-understøttelse overfører spiltilstand, spillerpositioner, spilleenheder og chatbeskeder mellem sessionen og spillerne.

Platformen blev struktureret omkring fælles konti, godkendelse og profiler. Det giver spilleridentiteten ét samlet sted på tværs af browsing, matchmaking, livesessioner og resultater.

Matchmaking og opsætning af rum blev udformet som et separat modul til spillervurderinger, matchede spillere, synlighed af rum og spillerlister. Platformen kan derfor understøtte både åbne sessioner og private rum.

Platformen indeholder funktioner til konkurrencer. Resultater, spillerstatistik og ranglister vises efter spillet.

Præstationer og belønninger har en fast plads sammen med konkurrenceregistreringen, mens dokumentation og hjælp til deployment giver kundens team en tydelig måde at administrere systemet på.

Vigtigste leverede funktioner

  • Browserspilkatalog og lobby
  • Synkroniserede multiplayer-sessioner i realtid
  • Offentlige og private rum
  • Spillerkonti og godkendelse
  • Profiler og fælles identitetstjenester
  • Ratingbaseret matchmaking
  • Chat i spillet og status for genforbindelse
  • Spillerstatistik og ranglister
  • Præstationer og belønninger

Kan tilføjes

+ Turneringer + Udslagningskonkurrencer + Digital valuta + KYC + Betalinger + Annoncering + Indholdsstyring + Oddsberegning

Hvem kan ellers bruge denne løsning

Den samme løsning kan tilpasses andre virksomheder med en lignende opgave: at samle spillere, spil, rum og konkurrencer i én onlineoplevelse.

En platform til spilhosting og gaming-community

Opgave Den skal samle spilbiblioteker, spillerprofiler, chat og multiplayer-rum.
Sådan hjælper løsningen Løsningen samler spilbrowsing, identitet, rum og communityaktivitet på én platform.

En poker- og færdighedsspilstjeneste

Opgave Den skal understøtte multiplayer, matchmaking, turneringer og spillerrangeringer.
Sådan hjælper løsningen Løsningen leverer livesessioner, spillerratings, resultater, statistik og ranglister.

En tjeneste til pengespil

Opgave Den skal understøtte konkurrencespil sammen med betalinger, identitetskontrol eller digital valuta.
Sådan hjælper løsningen Den modulære platform gør live-spil og spilleridentitet klar til tilføjelser som KYC, betalinger og belønninger.

Teknologisk stack

JavaScript / TypeScript (Node.js)

Server- og browserlogik

Denne sprogstack håndterer webplatformen og dens serversidetjenester.

Python

Generering af dokumentation

Python understøtter platformens dokumentationsworkflow.

socket.io

Realtidskommunikation mellem spillere

socket.io overfører livebegivenheder mellem spillere og spilserveren.

websocket

WebSocket-netværk

WebSocket-bibliotekerne leverer den protokol, der bruges til vedvarende realtidsforbindelser.

mongodb

Spiller- og spildata

mongodb (den officielle MongoDB-driver til Node.js) forbinder platformen med MongoDB-data.

mysql

Relationel dataadgang

mysql (en Node.js-driver til MySQL) forbinder platformen med MySQL, når der bruges en relationel database.

postgresql

PostgreSQL-dataadgang

postgresql (en Node.js-wrapper til PostgreSQL) forbinder platformen med PostgreSQL.

Sphinx

Teknisk dokumentation

Sphinx (en Python-generator til dokumentation) opretter struktureret dokumentation for systemet.

Game files

Upload af spilindhold

Upload af spil leverer de titler og det indhold, der vises i kataloget.

Integrationer

MongoDB

Spiller-, spil-, rum- og sessionsdata kan passere gennem den officielle Node.js MongoDB-driver.

MySQL

Platformen kan udveksle relationelle data med MySQL via dens Node.js-driver.

PostgreSQL

Platformen kan oprette forbindelse til PostgreSQL via PostgreSQL-­wrapperen til Node.js.

WebSocket services

Live-spiltilstand, spillerpositioner, chatbeskeder og sessionsstatus sendes via WebSocket-forbindelser.

Resultatet

Spillere finder hurtigere et spil og går ind i et rum

Kataloget giver platformen en tydelig indgang til spilopdagelse. Spillerne kan se spiltitler, beskrivelser og rummenes status, før de går ind i et offentligt eller privat multiplayer-rum.

Sådan fungerer det

  1. Kataloget viser kort med spiltitler og spilbeskrivelser.
  2. Platformen læser uploadede spil og rummenes status for de tilgængelige titler.
  3. Lobbyen viser offentlige og private rum med adgangskontroller.
Spilkatalog og lobby

Spilkatalog og lobby

Funktioner på denne skærm
Gennemse spiltitler

Livesessioner holder spillerne synkroniserede

Livespilskærmen samler spilverdenen, spillerenheder og kontroller i én session. socket.io og WebSocket-forbindelser overfører spiltilstand, chat og forbindelsesstatus mellem spillere og serveren.

Serverstyret gameplay holder sessionens tilstand koordineret, mens spillerne interagerer i realtid.

Sådan fungerer det

  1. socket.io og WebSocket-biblioteker overfører spiltilstand og spillerpositioner.
  2. Platformen opdaterer spillerenheder og spilobjekter i den fælles spilverden.
  3. Sessionen viser chatbeskeder samt status for forbindelse og genforbindelse.
Bemærk: Liveskærmen er bygget omkring en synkroniseret spiltilstand frem for en separat visning for hver spiller.
Live-multiplayerspil

Live-multiplayerspil

Funktioner på denne skærm
Aktivér multiplayer-tilstand Administrér multiplayer-synkronisering Spilopdateringer i realtid

Matchmaking samler de rigtige spillere

Matchmakingskærmen samler spillerratings, rummenes synlighed og spilleridentitet ét sted. Spillere kan matches i en session eller gå ind i et privat rum med en synlig spillerliste.

Denne struktur understøtter både åben matchmaking og kontrolleret opsætning af rum til konkurrencespil.

Sådan fungerer det

  1. Platformen læser spillerratings og oplysninger om tilgængelige rum.
  2. Matchmakingmodulet matcher spillere og registrerer deres identiteter.
  3. Rumsiden viser synlighed og den aktuelle spillerliste.
Matchmaking og opsætning af rum

Matchmaking og opsætning af rum

Funktioner på denne skærm
Aktivér multiplayer-matchmaking Match spillere

Resultater gør spillet til en tydelig konkurrenceregistrering

Efter en session samler resultatskærmen kampresultater, spillerstatistik og ranglisteværdier. Præstationer og belønninger har en fast plads sammen med konkurrenceregistreringen.

Ranglisten giver spillerne et fælles overblik over placeringer og gør det lettere at følge konkurrencemæssige fremskridt.

Sådan fungerer det

  1. Platformen registrerer spilresultater og spillerstatistik.
  2. Ranglistemodulet beregner og viser ranglisteværdier.
  3. Resultatvisningen viser præstationer og belønninger sammen med konkurrenceregistreringen.
Tip: Turnerings- og belønningsfunktioner kan tilføjes som separate moduler, når spilreglerne kræver det.
Resultater og rangliste

Resultater og rangliste

Funktioner på denne skærm
Følg spillerstatistik Implementér ranglistesystem

Hvad løsningen giver

Med denne løsning kan platformen:

  • Hoste browserbaserede spil i et fælles katalog
  • Køre synkroniserede multiplayer-sessioner i realtid
  • Matche spillere ud fra ratings
  • Tilbyde konti, profiler og fælles identitetstjenester
  • Vise resultater, statistik og rangeringer ét sted
  • Tilføje turneringer, betalinger eller belønninger som separate moduler

Til sidst

Resultatet blev en modulær onlinegamingplatform, der giver spillerne én vej fra spilbrowsing til multiplayer i realtid.

FAQ

Overvejer du at bygge et lignende system? Læs svarene nedenfor for at se, hvordan platformens krav til multiplayer, konti og dokumentation hænger sammen.