C++GoLuaGLESSteam SDKGoogle App Engine
„PewPew Live“
Greito tempo, kelių žaidėjų „twin-stick shooter“ žaidimas, prie kurio aš labiausiai prisidedu.
Skaityti daugiau
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.,
WeaponZoneirScoreBox) 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.