Santrauka
Platformai reikia žaidimų naršymo, žaidėjų tapatybės ir žaidimo realiuoju laiku viename produkte.
Sprendimas tapo moduliniu internetinių žaidimų produktu su katalogu, daugelio žaidėjų sesijomis realiuoju laiku ir bendromis paskyromis.
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
- Palaikyti mažos delsos daugelio žaidėjų žaidimą naudojant WebSockets ar panašų protokolą
- Suteikti prieigą per naršyklę, mobilųjį internetą, mobiliąją programėlę ar kelias platformas
- Suteikti paskyras, autentifikavimą, profilius ir bendrą tapatybę
- 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