OverwolfSpire Codex가 이제 Overwolf에서 이용 가능합니다. 자세히 보기 →

소개 Spire Codex

Spire Codex는 게임 파일을 리버스 엔지니어링해 만든 Slay the Spire 2(약칭 StS2)의 종합 데이터베이스입니다. 이 사이트의 모든 카드, 유물, 몬스터, 포션, 이벤트, 파워는 게임의 소스 코드와 현지화 데이터에서 직접 추출했습니다.

이 프로젝트는 StS2가 어떻게 만들어졌는지에 대한 호기심에서 시작해 완전한 API와 웹사이트로 성장했습니다. 목표는 Spire 커뮤니티에 걸맞은 상세하고 검색 가능한 참고 자료를 제공하는 것입니다.

참여하고 싶다면 PR을 자유롭게 열어 주세요: GitHub. 이 저장소는 프로젝트가 호스팅되는 곳의 다운스트림이라 PR이 완전히 병합되기까지 시간이 좀 걸릴 수 있습니다. 이 프로젝트에는 오픈 API 무료로 사용하고 직접 호스팅할 수 있는 것이 있습니다. 프로젝트에 대해 이야기하고 싶다면 여기로 오세요: Discord . 이곳에서 소식을 올리고 프로젝트에 대해 이야기합니다.

프로젝트를 후원해 주시는 모든 분께 감사드립니다. 자세한 내용은 감사 페이지 를 확인하세요 (Ko-fi 후원자와 커뮤니티 기여자).

Codex 뒷이야기

안녕하세요! 저는 피터입니다. 독학으로 배운 기술자이자 멋진 아빠, 괜찮은 남편, 그리고 만지작거리기를 멈추지 못하는 사람이에요. 남들과는 다른 길로 소프트웨어 엔지니어링과 기술 분야에 들어와, 순수한 호기심과 열정으로 무언가를 처음부터 만들어 왔습니다. 다른 길은 상상할 수 없어요. 여러 프로젝트를 해 왔지만(1만 명 이상의 DevOps·플랫폼 전문가가 모인 Discord 커뮤니티 DPC, 원신 최신 소식을 전하는 웹훅 서비스 Genshin News 등) Spire Codex가 가장 크고 가장 자랑스러운 프로젝트입니다.

Spire Codex 후원하기

Spire Codex는 Slay the Spire에 대한 애정과, 게임 커뮤니티를 위해 유용하고 빠른 개발자 도구를 만들고 싶다는 바람에서 시작된 열정 프로젝트입니다.

트래픽이 많은 데이터베이스와 빠른 API 인프라를 운영하는 데에는 실제 서버 비용과 시간이 듭니다. Spire Codex 덕분에 런을 망치지 않았거나, 런 전략을 세우는 데 도움이 되었거나, 여러분의 프로젝트에 쓰이고 있다면 후원이나 멤버십 가입을 고려해 주세요! 금전적인 후원이든 아니든 응원해 주셔서 감사합니다!

수록 내용

작동 방식

Slay the Spire 2는 Godot 4로 만들어졌지만 모든 게임 로직은 C#/.NET 8 DLL에 있습니다. 데이터 파이프라인:

1
PCK 추출
GDRE Tools가 Godot .pck 파일, 이미지, Spine 애니메이션, 현지화 데이터를 추출 (약 9,947개 파일)
2
DLL 디컴파일
ILSpy가 sts2.dll을 모든 게임 모델이 담긴 약 3,300개의 C# 소스 파일로 디컴파일
3
데이터 파싱
17개의 Python 파서가 디컴파일된 C# 소스와 현지화 JSON에서 구조화된 데이터를 추출
4
Spine 렌더링
헤드리스 Node.js 렌더러가 스켈레탈 애니메이션을 512×512 초상 PNG로 조립 (130개 이상의 스프라이트)
5
API + 프런트엔드
FastAPI가 파싱된 데이터를 20개 이상의 엔드포인트를 가진 REST API로 제공하고, Next.js 프런트엔드가 이를 사용

기능

상세 페이지
카드, 캐릭터, 유물, 몬스터, 포션의 전체 스탯이 담긴 개별 페이지
전체 검색
어디서든 . 키를 누르면 모든 카테고리를 즉시 검색
서식 있는 텍스트 렌더링
게임의 BBCode 태그를 색상, 애니메이션, 인라인 아이콘과 함께 렌더링
캐릭터 대화
게임 현지화 데이터의 NPC 대화 트리와 캐릭터 대사
Spine 렌더
스켈레탈 애니메이션에서 렌더링한 130개 이상의 몬스터 및 캐릭터 스프라이트
REST API
필터링, 검색, Swagger 문서를 갖춘 완전한 API를 자신의 프로젝트에
변경 내역 추적
모든 카테고리에 걸친 게임 업데이트 간 필드 단위 차이
이미지 다운로드
추출한 모든 게임 아트를 카테고리별로 보고 다운로드

기술 스택

백엔드
Python, FastAPI, Pydantic
프런트엔드
Next.js, TypeScript, Tailwind
렌더링
Node.js, Playwright, spine-webgl
인프라
Docker, Forgejo CI

이 프로젝트는 교육 목적입니다. 모든 게임 데이터는 Mega Crit Games의 소유입니다. 게임을 재컴파일하거나 재배포하는 데 사용해서는 안 됩니다.