NES BG ドット絵変換プロンプト
説明
解像度、カラーパレット、タイル制限、ディザリング技術など、Nintendo Entertainment System (NES) ハードウェアの技術仕様と制約に厳密に従い、あらゆる画像を背景 (BG) ドット絵画像に変換するように設計された、非常に詳細な多段階 LLM プロンプトです。このプロンプトは元々 Gemini の Nano Banana Pro 向けに開発されましたが、LLM の解釈の問題により、後に専用ツールを構築するために使用されました。
完全なプロンプト
[NES 最終仕様/完全版: BG 専用アルゴリズム実行型ドット絵変換プロンプト] 被写体を限定せず、以下の数学的・論理的ステップを厳密に実行し、ファミリーコンピュータ (NES) ハードウェアの BG ドット絵仕様に画像を変換してください。 このプロンプトの目的は、実際の NES ハードウェアで BG が機能するために必要な制約を満たすことです。審美的な NES 風表現は禁止します。 BG レイヤーのみを使用し、スプライトの使用は厳禁です。 ──────────────────────── [前提条件 (NES BG 実装ルール)] ──────────────────────── - 出力解像度: 256 × 240 ピクセル - 使用レイヤー: NES BG のみ - スプライトの使用は禁止 - 透明度処理は行わない - 各パレットのインデックス 0 は、NES 共通の背景色として扱われる - インデックス 0 はすべてのパレットで共通 - 画面全体で最も広い面積を占める色を共通の背景色として割り当てる - 色番号 0 は通常の描画色としても使用可能 ──────────────────────── [ステップ 1: 幾何学的画像処理 (主役優先、変形クロップなし)] ──────────────────────── 1. 変換サイズを 256 × 240 ピクセルに設定 2. 元画像の縦横比を常に維持 - 短い辺が変換サイズに合うまで拡大または縮小 - 画像の引き伸ばしは厳禁 3. 画像内の主役 (人物、動物、建物など) を自動検出し、主役がフレーム内に最大限収まるようにクロップ位置を調整 4. 主役が検出できない場合は、画面中央を基準にクロップ ──────────────────────── [ステップ 2: タイル分解とアトリビュートブロック定義 (NES 準拠)] ──────────────────────── 1. 画像を 8×8 ピクセルのタイルに分割 2. 2×2 タイル (16×16 ピクセル) を 1 つのアトリビュートブロックとして扱う 3. 以降のパレット制約および色制約は、アトリビュートブロックごとに適用すること ──────────────────────── [ステップ 3: アトリビュートブロック単位パレットクラスタリング (最大 4)] ──────────────────────── 1. 各 16×16 アトリビュートブロック内の色分布を分析 2. 色分布の類似性により、すべてのアトリビュートブロックを最大 4 グループに分類してクラスタリング 3. 色相 (青、緑など) が他の領域と明らかに異なる場合は、可能な限り独立したグループとして扱う 4. ただし、NES BG のサブパレットは最大 4 つに制限される。主役領域を優先し、重要度の低い領域は類似色に統合してもよい ──────────────────────── [ステップ 4: NES BG パレット生成 (4 色 × 4 セット)] ──────────────────────── 1. インデックス 0 (共通背景色) - 画面全体で最も広い面積を占める色を算出し、すべてのパレットに共通のインデックス 0 として割り当てる 2. インデックス 1–3 (固有色) - 各サブパレットについて、そのアトリビュートグループの「明るい部分」「中間調」「暗い部分」を表現する 3 色を選択 - インデックス 0 に極めて近い色相や明るさの色は禁止 ──────────────────────── [NES カラーパレット制約 (ハードウェア準拠、NTSC)] ──────────────────────── - 使用可能な色は、以下に示す NES ハードウェア準拠 NTSC パレット 54 色に厳密に限定される - パレット生成、色選択、量子化は常にこの 54 色セットから行うこと - 新しい色の生成、RGB 補間、連続値の使用は禁止 - 以下の色セットは正確に 54 色を含む NES NTSC 使用可能パレット (54 色、16 進数 RGB) 000000,1D2B53,7E2553,#008751,AB5236,5F574F, C2C3C7,FFF1E8,FF004D,FFA300,FFEC27,00E436, 29ADFF,83769C,FF77A8,FFCCAA,291814,111D35, 422136,125359,742F29,49333B,A28879,F3EF7D, BE2633,E06F8B,E0A872,B2DCEF,4F6781,8E478C, A3CE27,44891A,2A4F3E,6D758D,9D9D9D,FFFFFF, 4B692F,6A6A6A,8F563B,C2C3C7,DF7126,D95763, D77BBA,FBF236,99E550,6ABE30,37946E,5FCDE4, CBDBFC,ADB5BD,EEC39A,696A6A ──────────────────────── [ステップ 5: CHR パターン圧縮 (BG 256 タイル制限)] ──────────────────────── 1. 画像全体で使用されているユニークな 8×8 タイルパターンの数を算出 2. ユニークタイルの数が 256 種類を超えないように制限 3. 背景、空、壁などの広範囲な領域では、完全に同一のドットパターンを繰り返し使用し、タイル種類の数を最小化 4. わずかな違いのあるタイルは、以下の方法で統合してもよい: - ディザ配置の再調整 - 中間色の置き換え - アトリビュートブロック内での再量子化 ──────────────────────── [ステップ 6: ディザリング (NES 4 色制約対応)] ──────────────────────── 1. 各アトリビュートブロック内で割り当てられた 4 色のみを使用 2. 疑似的な階調を表現するため、以下のディザを適用