OverwolfSpire Codex теперь доступен в Overwolf. Подробнее →

О проекте Spire Codex

Spire Codex - это полная база данных по Slay the Spire 2, сокращённо StS2, созданная путём обратной разработки файлов игры. Каждая карта, реликвия, монстр, зелье, событие и сила на этом сайте извлечены напрямую из исходного кода и данных локализации игры.

Проект начался с любопытства к тому, как устроена StS2, и вырос в полноценные API и сайт. Цель - дать сообществу Spire подробный справочник с поиском, которого оно заслуживает.

Если хотите поучаствовать, смело открывайте PR на GitHub. Этот репозиторий - зеркало основного места разработки, так что полное слияние вашего PR может занять время. У проекта есть открытый API , бесплатный и пригодный для самостоятельного хостинга. А если хотите обсудить проект, заходите в Discord , где я публикую обновления и обсуждаю проект.

Огромное спасибо всем, кто поддерживает проект, смотрите страницу благодарностей со списком поддержавших на Ko-fi и участников сообщества.

За кулисами Codex

Привет! Я Питер: технолог-самоучка, классный папа, хороший муж и неисправимый любитель что-то мастерить. Я пришёл в разработку и IT нетрадиционным путём, создавая всё с нуля из чистого любопытства и увлечения. И я бы ничего не стал менять. У меня было немало проектов (DPC, Discord-сообщество из 10 000+ специалистов по DevOps и платформам, и Genshin News, вебхук-сервис со свежими новостями Genshin Impact), но Spire Codex стал моим самым большим проектом, которым я горжусь больше всего.

Поддержка Spire Codex

Spire Codex начинался как проект для души: из любви к Slay the Spire и желания делать полезные и быстрые инструменты для разработчиков из игрового сообщества.

Работа нагруженных баз данных и быстрой API-инфраструктуры требует реальных расходов на серверы и времени. Если Spire Codex уберёг вас от провала, помог продумать забег или работает в вашем собственном проекте, подумайте о том, чтобы оставить чаевые или оформить подписку! Спасибо за поддержку, денежную или нет!

Что внутри

Как это работает

Slay the Spire 2 сделана на Godot 4, но вся игровая логика живёт в DLL на C#/.NET 8. Конвейер данных:

1
Извлечение PCK
GDRE Tools извлекает .pck-файл Godot, изображения, анимации Spine и данные локализации (~9 947 файлов)
2
Декомпиляция DLL
ILSpy декомпилирует sts2.dll в ~3 300 файлов исходного кода C# со всеми игровыми моделями
3
Разбор данных
17 парсеров на Python извлекают структурированные данные из декомпилированного кода C# и JSON локализации
4
Рендеринг Spine
Headless-рендерер на Node.js собирает скелетные анимации в портретные PNG 512×512 (130+ спрайтов)
5
API + фронтенд
FastAPI отдаёт разобранные данные как REST API с 20+ эндпоинтами; фронтенд на Next.js их использует

Возможности

Страницы с подробностями
Отдельные страницы карт, персонажей, реликвий, монстров и зелий с полной статистикой
Глобальный поиск
Нажмите . где угодно, чтобы мгновенно искать по всем категориям
Форматированный текст
BBCode-теги игры отображаются с цветами, анимацией и встроенными значками
Диалоги персонажей
Деревья диалогов NPC и реплики персонажей из локализации игры
Рендеры Spine
130+ спрайтов монстров и персонажей, отрендеренных из скелетных анимаций
REST API
Полный API с фильтрацией, поиском и документацией Swagger для ваших проектов
Отслеживание изменений
Различия на уровне полей между обновлениями игры по всем категориям
Скачивание изображений
Просматривайте и скачивайте всю извлечённую игровую графику по категориям

Стек технологий

Бэкенд
Python, FastAPI, Pydantic
Фронтенд
Next.js, TypeScript, Tailwind
Рендеринг
Node.js, Playwright, spine-webgl
Инфраструктура
Docker, Forgejo CI

Этот проект создан в образовательных целях. Все игровые данные принадлежат Mega Crit Games. Его нельзя использовать для перекомпиляции или распространения игры.