Atgal į projektus
C++GoLuaGLESSteam SDKGoogle App Engine

„PewPew Live“

Greito tempo, kelių žaidėjų „twin-stick shooter“ žaidimas, prie kurio aš labiausiai prisidedu.

Skaityti daugiau
„PewPew Live“

Apžvalga

„PewPew Live“ yra aukšto našumo, retro stiliaus „twin-stick shooter“ žaidimas, kuriame didelis dėmesys skiriamas bendruomenės kurtam turiniui ir konkurenciniam žaidimui. Mano kelionė su šiuo projektu prasidėjo 2022 m. Per 4 metus atlikau daugiau nei 630 pakeitimų (commits), nuo smulkių klaidų taisymo iki pagrindinių sistemos architektūros atnaujinimų.

Pagrindinės inžinerinės sritys

1. Žaidimo variklis ir mechanika (C++)

  • Didelio našumo objektai: Perkėliau sudėtingą žaidimo logiką (pvz., WeaponZone ir ScoreBox) iš Lua skriptų į C++, taip žymiai sumažindamas procesoriaus apkrovą.
  • Deterministinės sistemos: Įdiegiau „Golden Master“ testavimo rinkinį, kad užtikrinčiau žaidimo pakartojimų (replays) suderinamumą tarp skirtingų platformų.
  • Valdymas ir fizika: Perrašiau NPC ir sviedinių judėjimo interpoliaciją, pašalindamas trūkčiojimus, bei išplėčiau valdiklių palaikymą (vibracija, trigeriai).

2. Backend ir infrastruktūra (Go / GAE)

  • Lyderių lentelės (Era 2): Suprojektavau antros kartos reitingavimo sistemą, orientuotą į saugumą prieš sukčiavimą ir efektyvų reitingų skaičiavimą tūkstančiams žaidėjų.
  • Saugumo paketas: Sukūriau išsamią moderavimo sistemą, apimančią IP/el. pašto blokavimą, automatinį komentarų cenzūravimą ir pasenusių duomenų valymą.
  • TSA API: Įdiegiau „Timestamp Authority“ API, skirtą kriptografiškai saugiam pasaulio rekordų patvirtinimui.

3. Platformos ir išleidimo inžinerija

  • Steam integracija: Vadovavau Steam SDK integracijai, įgyvendinau „Rich Presence“, debesijos saugyklas ir automatizuotus CI/CD procesus staliniams kompiuteriams.
  • WebAssembly: Prižiūrėjau ir optimizavau Emscripten pagrindu sukurtą naršyklės versiją, sukūriau specialius „Windows“ aplinkos kūrimo įrankius.

4. Internacionalizacija (i18n)

  • Techninis vadovas vertimų procesui (i18n.py), užtikrinęs tokių kalbų kaip vietnamiečių, kazachų ir sakartvelų palaikymą.
  • Sukūriau šriftų generavimo sistemą, leidžiančią atvaizduoti unikalius simbolius išlaikant žaidimo retro vektoriaus estetiką.

Įrankiai ir technologijos

  • Kalbos: C++17, Go, Lua, Python, GLSL.
  • Platformos: Windows (Win32 API, XAudio2), Linux, Android, WebAssembly.
  • Backend: Google App Engine (Datastore, Task Queues), Discord API.
  • SDK: Steam SDK, SDL2, GLES 2.0.