生成画像や手描き素材を、ゲームが読み込めるサイズ・配色・配置に整えるスキル。背景の透過、スプライトシート作成、3Dモデルからの多方向画像の書き出しを扱います。
- 画像をゲーム指定の寸法に整えたいとき
- アニメーション画像をシート化したいとき
- 3Dユニットの多方向画像を作りたいとき
Blitz3D製ゲームのコードをB3DDecompで読み解き、実行時の挙動やアニメーションモデルを確認しながら、権利のある内容を別エンジンへ移植するスキルです。
Decompile a Blitz3D game to readable Blitz source with B3DDecomp and port what it does to another engine. Covers SCP - Containment Breach-era and other .bb games, B3DDecomp, Blitz3D runtime behaviour (fixed tick, Animate, CurveValue, Euler angles, quaternions, Rnd), animated .b3d models (viewmodels with bones and keyframes) into Roblox, and where to stop (builds protected against decompiling, games and assets the user has no rights to). Use when a Blitz3D game's code or animated models are needed.
実行スコア 未検証
インストール方法を見るBlitz3D製ゲームの実行ファイルから、B3DDecompでコードを読みやすいBlitzソースに展開し、移植時の仕様として調べます。文字列や初期化処理を手掛かりに、数値がどこで設定され、どこで使われるかを追跡します。固定更新間隔、Animate、CurveValue、角度や乱数など、Blitz3D特有の実行時の挙動を踏まえて別エンジンへ移植し、元のゲームで測定した値と比較します。アニメーション付き.b3dモデルのボーンやキーフレームをRoblox向けに変換する手順も扱います。
Blitz3D製ゲームの仕組みやモデルを調べたいとき、または権利のあるゲームを別エンジンへ移したいときに役立ちます。ソースが公開されているゲームでは、そのライセンスや各アセットのクレジット条件も確認しながら作業できます。
.b3dモデルのボーンとキーフレームをRoblox向けに変換してください」B3DDecompのビルドには.NET 8 SDKが必要です。逆コンパイルを防ぐ保護があるビルドは解析を中止します。権利のないゲームやアセットは非公開の学習用途に限られ、公開・アップロードできません。SCP: Containment Breach由来の内容を公開する場合はCC BY-SA 3.0に従い、クレジット表記と個別アセットの条件確認が必要です。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Blitz3D games ship as one exe: the runtime in .text and the compiled game in a resource module that
the runtime links at load. Ghidra on the exe shows only the runtime. The route that works:
B3DDecomp disassembles the module and decompiles it to Blitz source. Then the source is the spec for the
port, and the original game stays the oracle.
Keep every disassembly and decompile outside any repo (convention: ~/<game>-decomp/), and never
publish them; the scripts here are fine to keep. Leave proprietary DLLs that forbid decompiling alone: their
export names in the exe are enough. Journal in the mod's MODLOG.md.
Read the source when there is one: SCP: Containment Breach (Regalis11/scpcb) and its Ultimate Edition Reborn fork (Jabka666/scpcb-ue-my) are open source under CC BY-SA 3.0.
What a port may use. A port that re-expresses a game's logic, or converts its models, keyframes, textures or sounds, redistributes that game once it is published or uploaded (to Roblox too). Port only what the user has the rights to: their own game, or an openly licensed one on its terms (SCP: Containment Breach: credit it and keep the port under CC BY-SA 3.0, and check each asset's credits, since fan games mix licences). Anything else stays a private study: nothing from it is uploaded or published.
dotnet build Blitz3DDecomp.sln -c Release. It needs a .NET 8 SDK; a user-local one installs without admin
(dotnet-install.ps1 -Channel 8.0 -InstallDir <dir>). Run with DOTNET_ROLL_FORWARD=Major and
bin/Release/net8.0 on PATH: the decompiler starts Blitz3DDisasm by name.git apply; made on
commit 2b3148b): the decompiler then skips a function it can't finish, with a step5 failed line, instead
of stopping.Done when Blitz3DDecomp.exe and Blitz3DDisasm.exe build.
Blitz3DDecomp.exe <copy of game.exe> writes <game>_disasm/ (Code/ per function, Type/, Strings.txt,
BuiltIn/, Libs/, BuiltInSymbols.txt), then decompiles it to <game>_decomp/. Games built from SCP:
Containment Breach's code need the game's fmod.decls as a second argument (B3DDecomp's README: the shipped
decls drop a parameter from FSOUND_Stream_Open).
When it still aborts, the exception names the construct. Never make a type setter silently ignore writes to get past one: the type propagation then loops forever with no output.
Protected builds: stop. Some builds are protected against this step: a modified compiler and runtime
hash every function, type and builtin name (B3DDecomp stops with Unrecognized function: @_builtIn_f<garbled>; SCP: Containment Breach 2's client is built this way), or the module is encrypted.
Those are protections the developer added against decompiling. Don't reverse them: tell the user and stop
(skills/mod-any-game/references/safety.md). Current B3DDecomp undoes one of them by itself, without saying
so: an XOR on a .b3dmod section. List the exe's sections first (objdump -h, or any PE viewer) and stop if
it has one.
Done when <game>_decomp/ holds Main.bb, Functions/, Types/ and Decls/ and the run prints
at most a handful of step5 failed lines.
grep -l StringConstant_<n> Code/*).Done when every number the port will use is traced to the line that sets it and the line that reads it.
Read references/blitz-runtime.md before writing port code: Blitz3D's clock,
Animate, CurveValue, Euler angles, Rnd and entity calls behave in ways a straight transcription gets wrong.
For animated .b3d models (viewmodels, rigs, keyframes) into Roblox, follow
references/b3d-to-roblox.md; its scripts are in scripts/roblox/.
Port step for step: same order, same constants, same tick. Mark every deviation in a comment with the reason. The rights rule above covers the code as much as the models.
Measure the port against the decompiled numbers in the engine, not by eye: rates (shots per second at the fixed tick), durations (frames / speed / ticks per second), aim (the sight's dot on the screen centre), ammo on the server. Record each check and its result in the journal.
Done when every ported behaviour has a measured number next to the decompiled one.
まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
生成画像や手描き素材を、ゲームが読み込めるサイズ・配色・配置に整えるスキル。背景の透過、スプライトシート作成、3Dモデルからの多方向画像の書き出しを扱います。
ゲームやMOD用の画像、3Dモデル、効果音、音楽、動画をfal.aiで生成するスキル。素材の見た目をそろえる作り方や形式変換、生成条件の記録まで扱います。
実際のゲームを起動・操作し、画面とログでMODの動作を確かめるスキル。メニュー操作、キー入力、撮影を自動化し、繰り返し使えるテストやデモの場面を組み立てます。
インストール済みゲームのエンジンや改造手段、動作環境を調べ、MOD制作の計画書にまとめるスキル。既存ローダーや保存先、不正対策も確認し、着手前の判断を助けます。
ゲーム改造の手法や既存ツールを、公開サイトと過去の保存ページから調べるスキル。消えたフォーラムもたどり、出典URL、対応バージョン、情報の信頼性を整理します。
異なるゲームの敵や仕組み、世界を組み合わせるMODを設計・実装するスキル。素材の移植から二つのゲームの連携、ルールの再実装まで、目的に合う方法と検証手順を整理します。