OverwolfSpire Codex jest już na Overwolf. Dowiedz się więcej →

O nas Spire Codex

Spire Codex to obszerna baza danych Slay the Spire 2, w skrócie StS2, zbudowana przez inżynierię wsteczną plików gry. Każda karta, relikt, potwór, mikstura, wydarzenie i moc na tej stronie zostały wyciągnięte bezpośrednio z kodu źródłowego i danych lokalizacyjnych gry.

Projekt zaczął się od ciekawości, jak zbudowano StS2, i rozrósł się do pełnego API i strony internetowej. Celem jest zapewnienie szczegółowego, przeszukiwalnego źródła wiedzy, na jakie społeczność Spire zasługuje.

Jeśli chcesz się zaangażować, śmiało otwórz PR na GitHub. To repozytorium jest kopią miejsca, gdzie projekt jest hostowany, więc pełne scalenie PR może chwilę potrwać. Projekt ma otwarte API , które jest darmowe i można je hostować samodzielnie. A jeśli chcesz pogadać o projekcie, wpadnij na Discord , gdzie publikuję aktualizacje i rozmawiam o projekcie.

Wielkie dzięki dla wszystkich wspierających projekt, zobacz stronę podziękowań z listą wspierających na Ko-fi i współtwórców ze społeczności.

Za kulisami Codexu

Cześć! Jestem Peter, technolog samouk, super tata, fajny mąż i chroniczny majsterkowicz. Do inżynierii oprogramowania i technologii trafiłem nietypową drogą, budując rzeczy od zera z czystej ciekawości i pasji. Nie chciałbym, żeby było inaczej. Miałem sporo projektów (DPC, społeczność na Discordzie z ponad 10 000 specjalistów DevOps i platform, oraz Genshin News, usługę webhooków z najnowszymi wiadomościami z Genshin Impact), ale Spire Codex to mój największy projekt i ten, z którego jestem najbardziej dumny.

Wspieranie Spire Codex

Spire Codex zaczął się jako projekt z pasji, zrodzony z miłości do Slay the Spire i chęci tworzenia przydatnych, wydajnych narzędzi deweloperskich dla społeczności graczy.

Utrzymanie mocno obciążonych baz danych i szybkiej infrastruktury API to realne koszty serwerów i czasu. Jeśli Spire Codex uratował ci run, pomógł zaplanować rozgrywkę albo napędza twój własny projekt, rozważ napiwek albo członkostwo! Dzięki za wsparcie, finansowe czy nie!

Co w środku

Jak to działa

Slay the Spire 2 powstało na Godot 4, ale cała logika gry znajduje się w bibliotece DLL C#/.NET 8. Potok danych:

1
Wypakowanie PCK
GDRE Tools wypakowuje plik .pck Godota, obrazy, animacje Spine i dane lokalizacyjne (~9 947 plików)
2
Dekompilacja DLL
ILSpy dekompiluje sts2.dll do ~3 300 plików źródłowych C# zawierających wszystkie modele gry
3
Parsowanie danych
17 parserów w Pythonie wyciąga ustrukturyzowane dane ze zdekompilowanego kodu C# i JSON-a lokalizacji
4
Renderowanie Spine
Bezgłowy renderer Node.js składa animacje szkieletowe w portretowe PNG 512×512 (ponad 130 sprite'ów)
5
API + Frontend
FastAPI udostępnia sparsowane dane jako REST API z ponad 20 endpointami; frontend w Next.js z niego korzysta

Funkcje

Strony szczegółów
Osobne strony kart, postaci, reliktów, potworów i mikstur z pełnymi statystykami
Wyszukiwanie globalne
Naciśnij . w dowolnym miejscu, aby natychmiast przeszukać wszystkie kategorie
Renderowanie tekstu sformatowanego
Tagi BBCode gry renderowane z kolorami, animacjami i ikonami w tekście
Dialogi postaci
Drzewa rozmów NPC i cytaty postaci z lokalizacji gry
Rendery Spine
Ponad 130 sprite'ów potworów i postaci wyrenderowanych z animacji szkieletowych
REST API
Pełne API z filtrowaniem, wyszukiwaniem i dokumentacją Swagger do własnych projektów
Śledzenie zmian
Różnice na poziomie pól między aktualizacjami gry we wszystkich kategoriach
Pobieranie obrazów
Przeglądaj i pobieraj całą wyodrębnioną grafikę gry według kategorii

Stos technologiczny

Backend
Python, FastAPI, Pydantic
Frontend
Next.js, TypeScript, Tailwind
Renderowanie
Node.js, Playwright, spine-webgl
Infrastruktura
Docker, Forgejo CI

Ten projekt ma cel edukacyjny. Wszystkie dane gry należą do Mega Crit Games. Nie należy go używać do rekompilacji ani redystrybucji gry.