PROJEKTAS

Internetinių žaidimų platformos kūrimas realaus laiko daugelio žaidėjų žaidimams

Individualus programinės įrangos kūrimas, Naršyklinių žaidimų platforma, Daugelio žaidėjų žaidimas realiuoju laiku, Žaidėjų parinkimo sistema, Žaidėjų paskyros, Žaidimų talpinimas, Lyderių lentelės

  • Sritis: Internetiniai žaidimai
  • Graikija Vieta: Graikija
  • Įgyvendinimo trukmė: 16 savaitės
  • Technologijos: JavaScript / TypeScript (Node.js), Python
4+ mėnesiai

Šio kliento internetinių žaidimų platforma suteikia žaidėjams prieigą prie naršyklinių žaidimų, tačiau realaus laiko sesijos, žaidimų talpinimas ir žaidėjų tapatybės turi patikimai veikti vienoje vietoje. Programinė įranga yra internetinių žaidimų platforma, apimanti žaidimų pavadinimus ir žaidėjų paskyras. Ji suteikia žaidėjams katalogą, daugelio žaidėjų kambarius ir žaidimus realiuoju laiku. Platforma skirta jos žaidėjams ir komandai, valdančiai žaidimų patirtį.

Santrauka

Problema

Platformai reikia žaidimų naršymo, žaidėjų tapatybės ir žaidimo realiuoju laiku viename produkte.

Sprendimas

Sprendimas tapo moduliniu internetinių žaidimų produktu su katalogu, daugelio žaidėjų sesijomis realiuoju laiku ir bendromis paskyromis.

Rezultatas

Platforma sukurta taip, kad žaidėjams suteiktų aiškų kelią nuo žaidimo atradimo iki žaidimo su kitais.

Kliento istorija

Klientas yra internetinių žaidimų platforma iš Graikijos. Ji suteikia žaidėjams prieigą prie naršyklinių žaidimų ir palaiko žaidimą su kitais, žaidėjų paskyras bei bendruomenės funkcijas.

Žaidimų pavadinimai, kambariai ir žaidėjų tapatybės turi išlikti susieti, kol žaidėjai naršo, jungiasi prie kambarių ir žaidžia kartu.

Užduotis buvo aiški: užtikrinti mažos delsos daugelio žaidėjų tinklą realiuoju laiku, patogią prieigą įvairiuose įrenginiuose, bendras tapatybės paslaugas ir saugią infrastruktūrą su dokumentacija bei diegimo palaikymu.

Sprendimas suformuotas kaip modulinė platforma su žaidimų katalogu ir laukiamuoju. Taip pat įtrauktos sinchronizuoto žaidimo, žaidėjų parinkimo, kambario nustatymo, rezultatų ir lyderių lentelės funkcijos.

Ypatingas dėmesys skirtas aiškiems etapams, ankstyvoms peržiūroms ir dokumentacijai, kad kliento komanda galėtų savarankiškai valdyti sistemą.

Klientas pageidavo

  1. Palaikyti mažos delsos daugelio žaidėjų žaidimą naudojant WebSockets ar panašų protokolą
  2. Suteikti prieigą per naršyklę, mobilųjį internetą, mobiliąją programėlę ar kelias platformas
  3. Suteikti paskyras, autentifikavimą, profilius ir bendrą tapatybę
  4. Suteikti saugią infrastruktūrą, diegimo palaikymą ir aiškią dokumentaciją

Kodėl netiko paruošta programinė įranga

Paruoštos žaidėjų palaikymo platformos daugiausia skirtos žaidimų studijų ir leidėjų klientų aptarnavimui, o ne žaidimų naršymui, kambariams, sinchronizuotam žaidimui ir varžyboms sujungti į vieną produktą. Reikėjo individualios platformos, apimančios žaidimą, paskyras, žaidėjų parinkimą, reitingus ir kitas kliento žaidimų paslaugos taisykles.

Projekto apžvalga

Sprendimas sukurtas aplink žaidimų katalogą ir laukiamąjį kuris suteikia žaidėjams vieną pradžios tašką pasiekiamiems pavadinimams, aprašymams ir prisijungimui prie kambario. Kataloge rodomi įkelti žaidimai ir kambarių būsena, o viešų ir privačių kambarių parinktys užtikrina aiškų prisijungimo kelią.

Žaidimui realiuoju laiku užtikrinti sukurta sinchronizuota daugelio žaidėjų aplinka. socket.io (Node.js realaus laiko tinklo sistema) ir WebSocket palaikymas perduoda žaidimo būseną, žaidėjų pozicijas, žaidimo objektus ir pokalbių žinutes tarp sesijos ir jos žaidėjų.

Platforma sukurta aplink bendras paskyras, autentifikavimą ir profilius. Taip žaidėjo tapatybė išlaikoma vienoje vietoje naršant, parenkant varžovus, žaidžiant realiuoju laiku ir peržiūrint rezultatus.

Žaidėjų parinkimas ir kambario nustatymas suformuoti kaip atskiras modulis, skirtas žaidėjų reitingams, parinktiems žaidėjams, kambario matomumui ir žaidėjų sąrašams. Todėl platforma gali palaikyti tiek atviras sesijas, tiek privačius kambarius.

Platformoje įdiegtos varžybų funkcijos. Po žaidimo rodomi rezultatai, žaidėjų statistika ir reitingai.

Pasiekimai ir apdovanojimai turi savo vietą šalia varžybų rezultatų, o dokumentacija ir diegimo palaikymas suteikia kliento komandai aiškų būdą valdyti sistemą.

Įdiegtos pagrindinės funkcijos

  • Naršyklinių žaidimų katalogas ir laukiamasis
  • Sinchronizuotos daugelio žaidėjų sesijos realiuoju laiku
  • Vieši ir privatūs kambariai
  • Žaidėjų paskyros ir autentifikavimas
  • Profiliai ir bendros tapatybės paslaugos
  • Reitingais pagrįstas žaidėjų parinkimas
  • Pokalbiai žaidime ir prisijungimo būsenos atkūrimas
  • Žaidėjų statistika ir lyderių lentelės
  • Pasiekimai ir apdovanojimai

Galima pridėti

+ Turnyrai + Atkrintamosios varžybos + Skaitmeninė valiuta + KYC + Mokėjimai + Reklama + Turinio valdymas + Koeficientų skaičiavimas

Kas dar gali naudoti šį sprendimą

Tą patį sprendimą galima pritaikyti kitoms įmonėms, kurioms reikia sujungti žaidėjus, žaidimus, kambarius ir varžybas į vieną internetinę patirtį.

Žaidimų talpinimo ir žaidimų bendruomenės platforma

Užduotis Ji turi sujungti žaidimų bibliotekas, žaidėjų profilius, pokalbius ir daugelio žaidėjų kambarius.
Kaip sprendimas padeda Sprendimas vienoje platformoje sujungia žaidimų naršymą, tapatybę, kambarius ir bendruomenės veiklą.

Pokerio ir įgūdžių žaidimų paslauga

Užduotis Jai reikia žaidimo su kitais, žaidėjų parinkimo, turnyrų ir žaidėjų reitingų.
Kaip sprendimas padeda Sprendimas suteikia tiesiogines sesijas, žaidėjų reitingus, rezultatus, statistiką ir lyderių lenteles.

Žaidimų už tikrus pinigus paslauga

Užduotis Jai reikia varžybų kartu su mokėjimais, tapatybės patikra ar skaitmenine valiuta.
Kaip sprendimas padeda Modulinė platforma paruošia žaidimą realiuoju laiku ir žaidėjų tapatybę papildomoms funkcijoms, tokioms kaip KYC, mokėjimai ir apdovanojimai.

Technologijų paketas

JavaScript / TypeScript (Node.js)

Serverio ir naršyklės logika

Šis kalbų paketas valdo interneto platformą ir jos serverio paslaugas.

Python

Dokumentacijos generavimas

Python palaiko platformos dokumentacijos procesą.

socket.io

Žaidėjų bendravimas realiuoju laiku

socket.io perduoda tiesioginius įvykius tarp žaidėjų ir žaidimų serverio.

websocket

WebSocket tinklo ryšys

WebSocket bibliotekos suteikia protokolą nuolatiniams realaus laiko ryšiams.

mongodb

Žaidėjų ir žaidimų duomenys

mongodb (oficiali MongoDB tvarkyklė, skirta Node.js) prijungia platformą prie MongoDB duomenų.

mysql

Prieiga prie reliacinių duomenų

mysql (Node.js tvarkyklė, skirta MySQL) prijungia platformą prie MySQL, kai naudojama reliacinė duomenų bazė.

postgresql

Prieiga prie PostgreSQL duomenų

postgresql (Node.js apvalkalas, skirtas PostgreSQL) prijungia platformą prie PostgreSQL.

Sphinx

Techninė dokumentacija

Sphinx (Python dokumentacijos generatorius) kuria struktūrizuotą sistemos dokumentaciją.

Game files

Žaidimų turinio įkėlimas

Įkelti žaidimai suteikia pavadinimus ir turinį, rodomus kataloge.

Integracijos

MongoDB

Žaidėjų, žaidimų, kambarių ir sesijų duomenys gali būti perduodami per oficialią Node.js MongoDB tvarkyklę.

MySQL

Platforma gali keistis reliaciniais duomenimis su MySQL per savo Node.js tvarkyklę.

PostgreSQL

Platforma gali prisijungti prie PostgreSQL per PostgreSQL Node.js apvalkalą.

WebSocket services

Žaidimo būsena, žaidėjų pozicijos, pokalbių žinutės ir sesijos būsena perduodamos WebSocket ryšiais.

Rezultatas

Žaidėjai greičiau randa žaidimą ir patenka į kambarį

Katalogas suteikia platformai aiškų pradžios tašką žaidimų paieškai. Žaidėjai mato pavadinimus, aprašymus ir kambario būseną prieš prisijungdami prie viešos ar privačios daugelio žaidėjų erdvės.

Kaip tai veikia

  1. Kataloge rodomos žaidimų kortelės ir aprašymai.
  2. Platforma nuskaito įkeltus žaidimus ir pasiekiamų pavadinimų kambarių būseną.
  3. Laukiamajame pateikiamos viešų ir privačių kambarių parinktys bei prisijungimo valdikliai.
Žaidimų katalogas ir laukiamasis

Žaidimų katalogas ir laukiamasis

Šiame ekrane esančios funkcijos
Naršyti žaidimų pavadinimus

Tiesioginės sesijos sinchronizuoja žaidėjus

Tiesioginio žaidimo ekranas sujungia žaidimo pasaulį, žaidėjų objektus ir valdiklius vienoje sesijoje. socket.io ir WebSocket ryšiai perduoda žaidimo būseną, pokalbius bei ryšio būseną tarp žaidėjų ir serverio.

Serverio valdoma žaidimo eiga koordinuoja sesijos būseną, kol žaidėjai sąveikauja realiuoju laiku.

Kaip tai veikia

  1. socket.io ir WebSocket bibliotekos perduoda žaidimo būseną bei žaidėjų pozicijas.
  2. Platforma atnaujina žaidėjų objektus ir žaidimo objektus bendrame žaidimo pasaulyje.
  3. Sesijoje rodomos pokalbių žinutės ir prisijungimo arba pakartotinio prisijungimo būsena.
Pastaba: Tiesioginis ekranas sukurtas remiantis sinchronizuota žaidimo būsena, o ne atskiru kiekvieno žaidėjo vaizdu.
Daugelio žaidėjų žaidimas realiuoju laiku

Daugelio žaidėjų žaidimas realiuoju laiku

Šiame ekrane esančios funkcijos
Įjungti daugelio žaidėjų režimą Valdyti daugelio žaidėjų sinchronizavimą Žaidimo atnaujinimai realiuoju laiku

Žaidėjų parinkimas suburia tinkamus žaidėjus

Žaidėjų parinkimo ekranas vienoje vietoje sujungia žaidėjų reitingus, kambario matomumą ir žaidėjo tapatybę. Žaidėjai gali būti parinkti į sesiją arba patekti į privatų kambarį su matomu žaidėjų sąrašu.

Ši struktūra palaiko tiek atvirą žaidėjų parinkimą, tiek kontroliuojamą kambario nustatymą varžybiniam žaidimui.

Kaip tai veikia

  1. Platforma nuskaito žaidėjų reitingus ir pasiekiamų kambarių informaciją.
  2. Žaidėjų parinkimo modulis parenka žaidėjus ir įrašo jų tapatybes.
  3. Kambario lange rodomas matomumas ir dabartinis žaidėjų sąrašas.
Žaidėjų parinkimas ir kambario nustatymas

Žaidėjų parinkimas ir kambario nustatymas

Šiame ekrane esančios funkcijos
Įjungti daugelio žaidėjų parinkimą Parinkti žaidėjus

Rezultatai paverčia žaidimą aiškiu varžybų įrašu

Po sesijos rezultatų ekrane pateikiami varžybų rezultatai, žaidėjų statistika ir reitingai. Pasiekimai ir apdovanojimai turi savo vietą šalia varžybų rezultatų.

Lyderių lentelė suteikia žaidėjams bendrą reitingų vaizdą ir padeda lengviau sekti varžybų pažangą.

Kaip tai veikia

  1. Platforma įrašo žaidimų rezultatus ir žaidėjų statistiką.
  2. Lyderių lentelės modulis apskaičiuoja ir rodo reitingus.
  3. Rezultatų lange pasiekimai ir apdovanojimai rodomi kartu su varžybų rezultatais.
Patarimas: Turnyrų ir apdovanojimų funkcijas galima pridėti kaip atskirus modulius, kai to reikia pagal žaidimo taisykles.
Rezultatai ir lyderių lentelė

Rezultatai ir lyderių lentelė

Šiame ekrane esančios funkcijos
Stebėti žaidėjų statistiką Įdiegti lyderių lentelės sistemą

Ką suteikia sprendimas

Naudodama šį sprendimą, platforma gali:

  • Talpinti naršyklinius žaidimus bendrame kataloge
  • Vykdyti sinchronizuotas daugelio žaidėjų sesijas realiuoju laiku
  • Parinkti žaidėjus pagal reitingus
  • Suteikti paskyras, profilius ir bendras tapatybės paslaugas
  • Vienoje vietoje rodyti rezultatus, statistiką ir reitingus
  • Pridėti turnyrus, mokėjimus ar apdovanojimus kaip atskirus modulius

Galiausiai

Galiausiai sukurtas modulinis internetinių žaidimų produktas, suteikiantis žaidėjams vieną kelią nuo žaidimų naršymo iki daugelio žaidėjų žaidimo realiuoju laiku.

DUK

Svarstote apie panašios sistemos kūrimą? Perskaitykite atsakymus ir sužinokite, kaip platformos daugelio žaidėjų, paskyrų ir dokumentacijos reikalavimai dera tarpusavyje.