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や、原神の最新ニュースを届けるWebhookサービス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に帰属します。ゲームの再コンパイルや再配布に使用しないでください。