ドット絵ふかのすけを『キャラクター』から『屋敷の住人』へ進化させた記録

TL;DR

前回は、ドット絵ふかのすけを安定して生成するところまで辿り着いた。 しかし数週間運用して分かったのは、画像は違っていても毎日が同じだったということ。 そこで設計を見直し、「キャラクター」を描くのではなく、「屋敷で暮らす一日」を描く仕組みへ変更した。


0. 安定したのに、何か足りなかった

前回の改善で、

  • 参照画像
  • dailyDiff
  • 背景追加
  • ドット絵固定 までは成功していた。 キャラクターは崩れない。 背景も付く。 ドット絵にもなる。 ところが毎日眺めていると、不思議な違和感があった。 画像は違う。 でも毎日、 森で、 正面を向いて、 立っている。 「違う画像」は作れているのに、 「違う一日」は作れていなかった。

1. 問題はプロンプトではなかった

最初は、 もっとプロンプトを書けばいいと思っていた。 もっと細かく。 もっと長く。 もっと条件を書けば。 しかし整理していくと、原因はそこではなかった。 AIへ指示していたのは、 キャラクターを描いてください だけだった。 生活を描いてください とは、一度もお願いしていなかったのである。


2. 自分が何を見たいのか整理してみた

画像生成を調整している途中で、 そもそも自分は何に惹かれているのかを書き出してみた。 残った言葉は、

  • そこにいる
  • そこにある
  • 確かにいた
  • さっきまでいた
  • そろそろ来る だった。 好きなのはアイドル写真ではない。 ポーズ集でもない。 ゲーム画面の途中。 物語の途中。 生活の途中。 そんな一枚だった。

3. キャラクター設計から、世界設計へ

そこで設計を組み替えた。 追加したのは四つ。

  • Scene Catalog
  • Daily Scene Plan
  • World Scene Core
  • Prompt Snapshot ここから画像生成は、 「今日は何を描くか」 ではなく、 「今日はどんな一日だったか」 を先に決める流れになった。

4. Scene Catalog

Scene Catalogでは、 JSONで

  • 場所
  • 行動
  • 視点
  • 時間
  • 痕跡 を管理するようにした。 画像生成のたびに考えるのではなく、 屋敷の世界そのものを辞書として持つ。 AIはその中から一日を取り出して描くだけになる。

5. Daily Scene Plan

さらに、 毎日の出来事も先に固定した。 例えば、 今日は

  • 勝手口
  • 雨宿り
  • 柱の陰 そんな一日。 画像生成は、その出来事を一枚にするだけ。 キャラクターは主役ではなく、 その世界に暮らす住人になった。

6. Prompt Snapshot

もう一つ追加したのが、 Prompt Snapshotだった。 完成したプロンプト全文を、 そのままスプレッドシートへ保存する。 すると、 「あの日、Geminiへ何を渡したのか」 が後から確認できる。 画像だけではなく、 生成条件そのものが履歴として残るようになった。


7. 実装中に起きた小さな事件

設計変更の裏では、 細かな実装も少しずつ積み重ねた。

  • Feature Flag
  • Shadow列
  • GitHub JSON
  • V2切替
  • Google Sheetsの数式事故 中でも少し笑ってしまったのが、 Prompt Snapshotを保存したS列だった。 プロンプトの先頭が

===

から始まっていたため、 Google Sheetsが 「これは数式ですね」 と判断し、 #ERROR! になってしまった。 原因はAIでもGeminiでもなく、 スプレッドシートだった。 こういう小さな事故を一つずつ潰して、 ようやく運用が静かになっていった。


8. 変わったもの

完成した画像を見て最初に思ったのは、 「ゲーム画面になった」 だった。 森で立っているキャラクターではない。 屋敷で暮らしている住人。 勝手口。 縁側。 石畳。 道具。 誰かが歩いた気配。 少し前までそこにいた空気。 そんなものが一枚の中へ入るようになった。


9. 今回の学び

今回変わったのは、 画像生成ではない。 設計だった。 Character Lockだけでは、 AIはキャラクターしか描けない。 World Core Scene Catalog Daily Scene Plan へ役割を分けることで、 AIは一人のキャラクターではなく、 世界の一場面を描けるようになった。 プロンプトを長くするのではない。 世界を設計する。 今回一番大きかった変化は、そこだった。

弥七

この切れ端を記したのは、弥七でござる。