EDITORAvander VR / Mentis

JÁTÉK BACKEND FEJLESZTÉS

Játék backend fejlesztés

Egyedi játék backend játékosfiókokhoz, fejlődési rendszerhez, inventoryhoz és live ops-hoz, a játékodba integrálva és úgy üzemeltetve, ahogy a csapatodnak szüksége van rá.

Burst forgalomra, verziózott kliensekre, retry-kra, értékes játékosállapotra és részleges hibákra tervezve.

AMIT ÉPÍTÜNK

Játékosszolgáltatások, amelyekre a játékod támaszkodhat

Egyedi játék backendet fejlesztünk olyan stúdióknak, amelyek online játékot építenek, vagy egy meglévő szolgáltatást fejlesztenek tovább. A scope kiterjedhet játékosfiókokra, fejlődési rendszerre, inventoryra és live ops-ra, az integrációt és az üzemeltetési felelősséget pedig a játékodhoz igazítva határozzuk meg. Az alábbi képességek mindegyikét csak akkor vesszük be a scope-ba, ha a játékodnak szüksége van rá.

A wizard and warrior facing each other with tactical boards in Runofstone
KEY ARTRunofstone
01

Fiókok és azonosítás

Platformos bejelentkezés, vendégfiókból teljes fiókká alakítás, fiókösszekapcsolás, profilok, jogosultságok és adatvédelmet figyelembe vevő játékosadatok, beleértve a törlési és exportkérelmeket.

02

Mentések és fejlődés

Felhőmentések, tapasztalatpontok, feloldások és jutalmak, egyértelmű szabályokkal az eszközök, sessionök és kliensverziók közötti ütközésekre.

03

Inventory és gazdaság

Tárgyak, pénznemek, jogosultságok és vásárlási jóváírások szerveroldali validálással, idempotens tranzakciókkal alkalmazva és auditálható előzményekben rögzítve.

04

Ranglisták és közösségi funkciók

Ranglisták, barátok, csoportok vagy klánok, ahol a game design megkívánja, a visszaélések kezelését és a moderálási igényeket előre figyelembe véve.

05

Live konfiguráció és tartalom

Távoli beállítások, események, ajánlatok, feature flagek és tartalommetaadatok kliensverziónként szállítva, kontrollált rollouttal és rollbackkel.

06

Telemetria és adminisztráció

Strukturált játékesemények, dashboardok, supportműveletek és nyomon követhető admin eszközök, hogy a live csapatok adatbázis-hozzáférés nélkül is megválaszolhassák a játékosok kérdéseit.

MEGLÉVŐ BACKENDEK

A már futó rendszered bővítése, migrálása vagy lecserélése

Sok projekt olyan backenddel indul, amely már valódi játékosokat szolgál ki. A változtatásokat erre az állapotra tervezzük, ahelyett, hogy tiszta lappal indulnánk.

01

Fokozatos bővítés

Az új funkciók verziózott endpointok mögött, a meglévő szolgáltatás mellé kerülnek, így a kiadott kliensek tovább működnek, miközben az új buildek átveszik az új szerződést.

02

Migráció menedzselt platformról vagy legacy szolgáltatásból

Feltérképezzük az adatmodellt, az identitásokat és a vásárlási előzményeket, majd szakaszosan költöztetjük a funkciókat vagy játékoscsoportokat, minden lépésnél ellenőrzött rollback-úttal.

03

Verziókompatibilitás

A régi és új kliensbuildek élesben átfedik egymást. A szerződéseket, az elavulási időablakokat és a szerveroldali alapértékeket úgy határozzuk meg, hogy egy elhúzódó store-jóváhagyás se törje el a játékot.

04

A scope határai

Ez a szolgáltatás a perzisztens játékosszolgáltatásokat fedi le. Az authoritative valós idejű meccsszimuláció a multiplayer-fejlesztéshez, a szerverflották üzemeltetése a dedikált szerverhostinghoz tartozik; ezeket explicit szerződéseken keresztül kapcsoljuk össze.

Multiplayer-fejlesztés

ARCHITEKTÚRAPÉLDA

Hol helyezkedik el egy egyedi játék backend

Egy tipikus online játék egyszerűsített példája. A pontos komponensek a játéktól, a várható terheléstől és az üzemeltető csapattól függenek.

  1. 01

    Játékkliens

    Verziózott API-t hív, és értékes kimenetelekről soha nem dönt önállóan.

  2. 02

    Hitelesítés

    A platform- vagy fiókazonosítókat rövid élettartamú session tokenre cseréli.

  3. 03

    Kliens API

    Validálja a kéréseket, rate limitet alkalmaz, és a buildek között kompatibilisen tartja a szerződéseket.

  4. 04

    Domain-szolgáltatások

    Fiókok, fejlődés, inventory, gazdaság és konfiguráció szerveroldali szabályokkal.

  5. 05

    Perzisztencia

    Tranzakciós tárolás, cache-ek és eseményelőzmények auditokhoz és analitikához.

  6. 06

    Üzemeltetés

    Telemetria, admin eszközök, deployment, riasztások és helyreállítási eljárások.

Koncepcionális példa. Az authoritative valós idejű játékszerverek e stack mellett futnak, nem benne: szimulálják a meccset, majd megbízható szerver–szerver API-n keresztül jelentik az eredményeket a játékosszolgáltatásoknak.

INTEGRÁCIÓ ÉS MEGBÍZHATÓSÁG

Retrykra, kiesésekre és kiadott kliensekre tervezve

01

Kliensszerződések

Típusos kérés- és hibasémák olyan formában dokumentálva, amelyet a kliensfejlesztőid használni tudnak, minden kiadott buildre vonatkozó kompatibilitási szabályokkal.

02

Authoritative validáció

A jóváírásokról, költésekről és fejlődésről a szerver dönt. A kliens bemenete kérés, nem eredmény.

03

Retryk és idempotencia

A kéréskulcsok biztosítják, hogy egy újrapróbált jutalom vagy vásárlás csak egyszer érvényesüljön, timeoutok vagy újracsatlakozás után is.

04

Hibakezelés

Timeoutok, korlátozott működési módok, sorba állított feladatok és egyértelmű kliensviselkedés, ha egy függőség nem érhető el.

05

Adattulajdon

A játékosadatok és fiókok a tieid. A tárolás helyét, a megőrzést, az exportot és a törlést egyeztetjük és dokumentáljuk.

HOGYAN DOLGOZUNK

Így zajlik egy backend-együttműködés

A szolgáltatások és adattárolók kiválasztása előtt feltérképezzük a játékosműveleteket és az állapot felelősségét, majd egyetlen integrált szeletet szállítunk le, mielőtt bővítenénk a funkciólistát.

A shotgun carried through voxel reeds beside a river in Bad Goons
IN-GAMEBad Goons
  1. 01

    Felmérés és állapottérkép

    Azonosítjuk az értékes adatokat, a konzisztenciaigényeket, a trust határokat, a platformokat, a várható terhelést, és azt, hogy ki fogja üzemeltetni a rendszert.

  2. 02

    Verziózott szerződések

    Specifikáljuk a kéréseket, eseményeket, hibákat, az idempotenciát és a kompatibilitást, hogy a kliens- és a backendmunka párhuzamosan haladhasson.

  3. 03

    Első integrált szelet

    Egyetlen funkció, például bejelentkezés felhőmentéssel, amely végponttól végpontig fut a játékklienstől egy éleshez hasonló környezetig.

  4. 04

    Funkciófejlesztés és validáció

    További funkciók a telemetriai és adminisztrációs igényekkel együtt, duplikált kérésekre, függőséghibákra, migrációkra és burst forgalomra tesztelve.

  5. 05

    Átadás vagy üzemeltetés

    Dokumentáció, runbookok és dashboardok a csapatodnak, vagy további üzemeltetés egyeztetett menedzselt hosting scope keretében.

ÁTADANDÓ EREDMÉNYEK

Amit megkapsz

Az eredmény egy üzemeltethető szolgáltatási határ, egyértelmű forrás-, deployment- és adattulajdonlással.

  • Domain- és adatmodell
  • Verziózott API-k, események és kliensintegráció
  • Fiók-, fejlődési, inventory- vagy gazdasági szolgáltatások a scope szerint
  • Adminisztrációs és live ops eszközök
  • Deployment-, megfigyelhetőségi és helyreállítási dokumentáció

A CSAPAT REFERENCIÁI

A szolgáltatás mögötti projektek

A projektek között a Backend Alchemist saját produkciói és olyan munkák szerepelnek, amelyeket jelenlegi csapattagjaink korábbi stúdió-, vezetői és szerződéses szerepkörökben valósítottak meg. Minden projektoldal feltünteti a csapat hozzájárulását.

KÖLTSÉG ÉS ÜTEMTERV

Mi határozza meg egy játék backend scope-ját

Nem teszünk közzé fix kezdőárakat, mert két azonos nevű funkciókkal rendelkező backend ráfordítása akár egy nagyságrenddel is eltérhet. A becslést ezek a tényezők határozzák meg.

Egy rövid felmérő beszélgetés általában elég ahhoz, hogy írásos scope-ot készítsünk rögzített feltételezésekkel és becslési sávval.

  • Mely játékosfunkciókra van szükség a megjelenéskor, és melyek jöhetnek később
  • Támogatandó platformok és identitásszolgáltatók
  • A gazdaság, a vásárlások, és hogy mekkora értéket kell a szervernek védenie
  • Migrálandó vagy integrálandó meglévő adatok, fiókok vagy szolgáltatások
  • Várható terhelési profil, régiók és adattárolási helyre vonatkozó követelmények
  • A te csapatod vagy a miénk üzemelteti-e a rendszert a megjelenés után

FAQ

Ehhez az úthoz kapcsolódó kérdések.

Le tudjátok cserélni a meglévő backendünket?

Igen, általában fokozatosan. Stabil illesztési pontokat keresünk, verziózott szerződéseket vezetünk be, és ahol a jelenlegi rendszer engedi, kontrollált szakaszokban migráljuk az állapotot vagy a forgalmat. Teljes újraírást csak akkor javaslunk, ha a fokozatos változtatás többe kerülne.

Mely motorok és platformok integrálhatók a backenddel?

A Unity a fő kliensmotorunk, de a backend motorfüggetlen szerződéseket kínál, így más kliensek is ugyanazon az API-n keresztül integrálódhatnak. A platformos bejelentkezést és a store-integrációkat platformonként mérjük fel.

Kié a forráskód és a játékosadatok?

A tulajdonjogról és a licencekről a szerződésben állapodunk meg. Az átadás jellemzően tartalmazza a forrást, az infrastruktúra-konfigurációt, a dokumentációt és a teljes hozzáférést a játékosadatokhoz.

Backend-as-a-service platformot vagy egyedi backendet használjunk?

Egy menedzselt platform lehet a gyorsabb választás, ha a funkciói illeszkednek a játékodhoz. Egyedi backend akkor indokolt, ha játékspecifikus szabályokra, az adatok és a hosting feletti kontrollra vagy nagy léptékben is kiszámítható költségre van szükséged. Felmérjük a kompromisszumokat a játékod szempontjából, beleértve a hibrid megközelítést is.

Üzemeltetitek a backendet a megjelenés után?

Igen, egyeztetett menedzselt hosting scope keretében, meghatározott felelősségekkel, vagy runbookokkal, dashboardokkal és deployment pipeline-okkal átadjuk a csapatodnak.

Mire van szükségetek egy becsléshez?

A játék műfajára és platformjaira, a szükséges játékosfunkciókra, a meglévő backendre vagy adatokra, a várható játékosszámra, ha ismert, a tervezett megjelenési időablakra, és arra, hogy ki fogja üzemeltetni a rendszert. Egy design dokumentum segít, de nem feltétel.

Hogyan előzitek meg a duplikált jutalmakat vagy vásárlásokat?

Az értékes műveletek egyértelmű tranzakciós és idempotenciaszabályokat, authoritative validációt és vizsgálatra alkalmas audit trailt használnak.

KÖVETKEZŐ LÉPÉS

A problémát hozd, ne egy tökéletesre csiszolt briefet.

Egy technikai vezető átnézi a jelenlegi állapotot, és javaslatot tesz a legkisebb hasznos következő lépésre.

Projekt indítása
Projekt indítása