Piotr Doliński
Wróć do projektów
Polecany

Bug the Gathering

Działający offline mobilny roguelike deckbuilder na iOS i Androida, zbudowany w React Native i Expo. Twórz strategię w świecie IT podczas proceduralnego runu survivalowego.

React NativeExpoReact Native SkiaReanimatedZustandAsyncStorageJestTypeScript

O projekcie

BUG: The Gathering to mobilny roguelike karciany w układzie poziomym, inspirowany Slay the Spire i Hearthstone. W trybie The Sprint gracz wybiera jedną z pięciu klas związanych z IT, buduje talię, przechodzi przez generowaną z seeda mapę i mierzy się z walkami, wydarzeniami, sklepami oraz wielofazowymi bossami. Gra działa w pełni offline, a czysty silnik TypeScript oddziela walkę i generowanie runów od warstwy prezentacji React Native.

Kluczowe funkcjonalności

  • Aplikacja React Native i Expo zoptymalizowana pod mobilny tryb poziomy
  • Pięć grywalnych klas i progresja budowania talii między runami roguelike
  • Czysty, deterministyczny silnik walki i generowania fal, niezależny od interfejsu
  • Karty, efekty walki, animacje, dźwięk i haptyka renderowane natywnie ze Skia
  • Podejście local-first, lokalizacja PL/EN i automatyczne testy Jest

Wyzwania techniczne

Największym wyzwaniem inżynierskim jest zachowanie responsywności natywnego ekranu walki, gdy w jednej turze występuje wiele efektów wizualnych i przejść stanu. Rozwiązanie utrzymuje logikę walki i progresji jako deterministyczną i niezależną od renderowania, a trwałe powierzchnie Skia oraz kontrolowany cykl życia animacji ograniczają obciążenie GPU i widoków natywnych na urządzeniach mobilnych.

Deterministyczny silnik walki w TypeScript z ok. 340 kartami, efektami oraz synergiami klas i plemion
Progresja roguelike: mapy z seedem, proceduralne spotkania, wydarzenia, sklepy i fazy bossów
Natywne renderowanie pola walki i VFX oparte na React Native Skia oraz Reanimated
Lokalna persystencja przez Zustand i AsyncStorage, interfejs po polsku i angielsku oraz testy Jest dla logiki i UI
Kod