Sector Genesis (Gra Sci-Fi Incremental Survivor)
Sector Genesis — to wysokowydajna przeglądarkowa gra inkrementalna w stylu "survivor-style" osadzona w science fiction. Projekt łączy dynamiczną auto-walkę (inspirowaną Vampire Survivors) z głębokim systemem ewolucji frakcji (w stylu StarCraft) oraz stałym meta-postępem.
Technologiczny stos
Frontend: Vue 3 (Composition API), TypeScript
Silnik graficzny: Pixi.js v8 (2D WebGL/WebGPU)
Zarządzanie stanem: Pinia
Stylizacja: Tailwind CSS
Budowanie: Vite
Kluczowe zadania i wyzwania architektoniczne
Głównym celem projektu było połączenie reaktywnego frameworka UI z imperatywnym wysokowydajnym renderowaniem gry, osiągając stabilne 60 FPS przy setkach aktywnych obiektów na ekranie.
Podział paradygmatów (Przełączanie między Vue a Pixi.js): Cała logika cyklu gry (game loop) oraz renderowanie są izolowane w ekosystemie Pixi.js, podczas gdy Vue 3 i Pinia zarządzają HUD (interfejsem gry), menu ulepszeń oraz globalnym stanem sesji.
Architektura oparta na danych: Byty zbudowane są na strukturze klasowej z wspólnymi systemami (spawny, menedżery broni), co minimalizuje obciążenie procesora podczas kolizji i auto-targetingu.
Optymalizacja synchronizacji: Zrealizowano efektywne przesyłanie danych o wysokiej częstotliwości z silnika gry do reaktywnego stanu Pinia bez utraty wydajności.
Technologiczny stos
Frontend: Vue 3 (Composition API), TypeScript
Silnik graficzny: Pixi.js v8 (2D WebGL/WebGPU)
Zarządzanie stanem: Pinia
Stylizacja: Tailwind CSS
Budowanie: Vite
Kluczowe zadania i wyzwania architektoniczne
Głównym celem projektu było połączenie reaktywnego frameworka UI z imperatywnym wysokowydajnym renderowaniem gry, osiągając stabilne 60 FPS przy setkach aktywnych obiektów na ekranie.
Podział paradygmatów (Przełączanie między Vue a Pixi.js): Cała logika cyklu gry (game loop) oraz renderowanie są izolowane w ekosystemie Pixi.js, podczas gdy Vue 3 i Pinia zarządzają HUD (interfejsem gry), menu ulepszeń oraz globalnym stanem sesji.
Architektura oparta na danych: Byty zbudowane są na strukturze klasowej z wspólnymi systemami (spawny, menedżery broni), co minimalizuje obciążenie procesora podczas kolizji i auto-targetingu.
Optymalizacja synchronizacji: Zrealizowano efektywne przesyłanie danych o wysokiej częstotliwości z silnika gry do reaktywnego stanu Pinia bez utraty wydajności.