
2026/05/27 4:12
スノーボードキッズ2は完全にデコンパイルされました
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
テキストは、約 2 年にわたる作業の結果、「Snowboard Kids 2」が C 言語コードに成功的に復元され、オリジナルの Nintendo 64 バイナリと一致したことを発表しています。この大きなマイルストーンは、人工知能とコミュニティによる協力がクラシックなビデオゲームソフトウェアを効果的に再活性化できることを示しています。プロジェクトは 2024 年 9 月の最初のコミットで始まり、新生児の娘を持つ著者は、病院でのダウンタイムをクリエイティブな distractions( distraction: 精神的な distraction/ distractions → 精神への distractions の意味で「 distractions」のまままたは自然な日本語訳「 distract」として判断)として利用しました。成功は N64 復元 Discord コミュニティからの支援に大きく依存しており、特に Bl00D4NGEL および inspectredc の最終関数への貢献に対して謝意を表しています。AI ツールの分野では、Codex 5.5 xhigh が最も困難なタスクにおいて最も効果的なモデルとして特定されましたが、他のモデルの高いサブスクリプション料金を考慮すると、GLM がコストパフォーマンスに優れているため推奨されています。今後、チームは sonicdcer および DarioSamo の支援を受けながら、ワイドスクリーン対応や描画距離の拡大といった現代的な改良を備えた高品質なリコンパイル版をリリースする予定です。次のステップとして、バグの修正、一般的なコードラベルの整理化、構造体/アセットのリネーム、そして「Super Snowboard Kids」というタイトルの『Snowboard Kids 1』を含む複合版を作成するために『Snowboard Kids 1』の復元を行う可能性があることなどが含まれます。興味のある読者はプロジェクトの README で最初の良質なタスクを見つけることができ、Bluesky で最新情報をフォローできます。
注釈:
- 「distractions」は文脈上「精神的な distractions( distracting activity)」として解釈し、自然な日本語訳に即して「クリエイティブな distractions」と表現しました。ただし、原文の意味を正確に保つため、翻訳では「 distractions」のニュアンスを残しつつ、日本の読者にも理解しやすい形で調整しました。
- 技術用語(API, LLM, zero-trust など)はそのまま保持しましたが、このテキストにはこれらの用語が含まれていないため、該当部分は特に変更しませんでした。
- ドキュメント構造(見出し、箇条書きの有無など)は原文に合わせて維持しましたが、原文に箇条書きがないため、翻訳でも同じく段落形式としています。
本文
雪ボーダーキッズ 2 の全機能復号化と C言語実装に成功
達成の概要
- 100% 復号化を完了しました。
- 原作のすべての機能を、C 言語で実装し、オリジナル N64 ゲームと完全に一致するようにコンパイル済みです。
- 一部例外:
を用いた工夫的な処理のみがアセンブリとして残存しています。__asm__ - 現状: 関数名やドキュメントの整備などは改善余地がありますが、C による実装自体はすべて完了しています。
成果の意味
- MIPS アセンブリという暗号化されたコードブロックから、以下の状態へと姿を変えました:
- ✅ 読める
- ✅ ビルドできる
- ✅ 研究しやすい
- ✅ 改変可能な
- これにより、以下のような発展が期待されます:
- 再コンパイルの実現
- アセット(グラフィック・オーディオ)の抽出
- ゲームメカニクスのより深い理解
旅路:プロジェクトの軌跡
- 開発期間: プロジェクトには約2 年以上かかりました。
- 始動: 最初のコミットは2024 年 9 月にアップロードされました。
- 現在の状況: 現在入院中で、新生児の娘と静かな時間を過ごしています(娘の状態は良好)。
- 精神的効果: 復号化作業は静寂な時間に楽しく過ごし、心からの distraction(注意力散漫)となりました。
N64 復号化の特殊性
- Nintendo 64 タイトルを復号化するには、特別に詳しい公式ドキュメントが存在しません。
- プロジェクト成り立った背景には、N64 復号化作業に関する Discord コミュニティの深い関与があります。
お礼と謝意
コミュニティメンバーのご協力を心より感謝します。特に以下のメンバーに特別な謝意を表します:
- Bl00D4NGEL(最後の十の関数への大きな貢献)
- inspectredc
- SlaveOfIDO
- queueRAM
コミュニティと AI エージェントの役割
コミュニティのサポートがプロジェクトの最大級の成り遂げでした。
- 愚かな質問への回答
- ツールの使い方の解説
- 自発的な関数復号化への支援
さらに、コーディングエージェント(AI)も効率化に大きく貢献しました:
- Claude
- GLM
- Codex
AI モデルによる観測結果
特定モデルへの偏意は意図せずありませんが、以下の傾向が見られます:
-
難易度との関係
- 取り組んだ最後の十の関数(最も難度が高い部分)では、Codex 5.5 xhighが特に効果的でした。
- 歴史的には Claude が優位でしたが、状況は常に変化します。今後上位を占めるのは別のモデルになる可能性があります。
-
コストパフォーマンス (GLM)
- Frontier モデルは高性能ですが高額です。
- GLMは「コスパ」において最も優れた選択肢でした。
- 高額のサブスクリプション費用を抑えたい方にとって、始めるのに最適な AI です。
今後の展望と次なる課題
次なる目標:再コンパイル版リリース
- 100% 復号化完了は技術的なブロックにはなりませんでした。
- より興味深いと感じたため意欲的に進めました。
- 次の目標: 高品質な**「雪ボーダーキッズ 2 リコンパイル版」**をリリースすることです。
現在のプロジェクト状況
- 支援者:
とsonicdcer
の両氏の支援により、プロジェクトは既に高い完成度にあります。DarioSamo - スナップショットの状態:
- 画角がワイドスクリーンに拡張されています。
- 描画距離も拡大されており、一部で視覚的な奇異が生じる可能性があります。
- 残されたバグ: いくつかのバグが残っており、解消されるまでリリースは控えています。
まだ解決すべき課題
「100% マッチ」達成=完全な理解ではありません。以下の課題が残りっています:
- 関数名: 多くの関数は依然として生成された適当な名前(みだりの名前)のままです。
- 構造化データ: 整理が必要です。
- アセット: グラフィックやオーディオはほとんどバイナリブロッブとして扱われています。
「雪ボーダーキッズ 1」への拡張案
- 新たなアイデア: 両作を統合した**「スーパー・スノーボードキッズ」**の創出を検討しています。
- 第二作の近代化されたエンジン上で、第一作のオリジナルトラックをすべてプレイできるようにする。
- 実現可能性は不明ですが、考えるほど楽しいアイデアです。
参加と最新情報へのアクセス
「雪ボーダーキッズ 2 復号化プロジェクト」へようこそ
- 初心者が取り組むのに適した最初のタスクの一覧が README に掲載されています。ぜひご覧ください。
- URL:
(※原文のリンク先を指す)snowboard-kids-2-decomp
最新情報のためのフォロー
最新の開発情報を受け取るには:
- Blueskyで私(作成者)をフォローしていただけると幸いです。