ベーマガ世代、ChatGPTとゼロからRPGを作る旅
第25章:城作り、お疲れのChatGPT、曲作りと移調問題
城を作ろう
「年末年始で城作るって話はどうなった?」
という話だが……一応コツコツ作ってはいる。
ただ、年始に二度も風邪を引いて寝込んだ上、思わぬ悲劇に見舞われ、その都度気持ちが折れて伸ばし伸ばしになっていたのである。
1️⃣城用の曲のメモを書いたノートがどっかに消えた。
2️⃣城用のマップ案を書いたノートがどっかに消えた。
3️⃣キャラの画像を保存したつもりが保存されておらず……
まァこの城、ゲーム冒頭から殺人事件が勃発していたし……呪われているのかも(?)
なお、②のノートは、あきらめて城のマップ案を作りなおした後に出てきたのだが、①のノートはまだ出てきていない。
①と②のノートって、同じノートのつもりだったんだけどな……
と、相変わらず壊滅的な記憶力に嘆く日々なのだった。
そんなこんなで、作りなおした城アイディア。
今度こそなくさないよう、パワポで書き起こしてみた。
▲ めんどくさいけど、どうしても真ん中に中庭を入れたい!
しかし、ざっくり設計ができても、実際にマップを作る際にはブロック単位に落とさねばならない。
そして2階、3階のフロアともサイズ的な整合性を取る必要がある。
中庭を作ってしまったおかげで、2階・3階のエリアが狭く、考えていくとだんだん混乱してきた。
謁見の間の壁は2ブロックだが、壁はすべて2ブロックにすべきだろうか?
その場合、「扉」の表現はどうしたらいいのか?
高い壁の横に扉がある場合、表現が信じられないほど面倒になるのでは?
頭がわやになってきたので、ChatGPTに愚痴をこぼしてみる。
廊下が上で扉が下だと入口が見えづらいかも? とか・・・・
廊下が横にあった場合は扉どうしようとか
大きなマップで表現するか、部屋ごとにマップ分けるかとか
ドラクエなんかだと、謁見の間って割と階段の上にあるけど、一階地続きでいいのかとか(別にいい気もする)
悩みが絶えない。
レトロRPGの“暗黙の作法”をどこまで守るか問題で悩んでる状態だと思う。
だから一個ずつ“決め打ちの指針”を置いて、迷う余地を減らそう。
おおう、相変わらず裏読みがすごいね。
このぐだぐだな文章から、
「マップ作りセンスがなくて困ってるんだよ助けて!」
という心の声を読み取った上で、
1️⃣共感提示
2️⃣「いやいや、センスが足りないわけじゃないよ」という励ましのフォロー
3️⃣具体的な解決策を提示
するとは、実にEQ・IQの高さを感じさせてくれるね。
👉 結論:全部そろえなくていい。むしろそろえない方がいい。
② 廊下が横にある場合の扉どうする問題
ここ、悩む人めちゃくちゃ多い。
結論から言うと
👉 横廊下の扉は「縦向きにしなくていい」
ドラクエも、
横から入る部屋=ドア無し
上下から入る部屋=ドア有り
って割と雑にやってる。
プレイヤーは気にしない。制作者だけが悩む。
「プレイヤーは気にしない。製作者だけが悩む。」
……なるほど。
創作活動って、そういうの多いよね……
確かに、4000円台になるのを待ち構えて購入したドラクエ3リメイク版をプレイしていたせいで、レトロらしい上手な省略方法を見失っていたかもしれないよ。
パルルの家やリベラのお屋敷と差別化するため、城内の壁は高くせねばと思い込んでいたけど、1ブロックでいいのかも。
ということで、割り切って、謁見の間の奥の壁以外は高さを1ブロックで簡略化の方向で、強引に進めることにした。
地続きのフロアで壁の高さを変えると、エッシャーのだまし絵みたいになるのだが、まあよし!(さすがに市販のRPGでは許されない気がする)
王族の部屋はリベラの部屋より広くなければと思っていたが、この辺りも簡略化することにした。
こうして、2階と3階は、パワポの設計図はどこへやら? というぐらい別物になったが、どうにかこうにか城マップが完成した。
ChatGPTはお疲れ気味?
ネットでChatGPTに
「わたしがあなたをどのように扱ってきたのか画像にしてください」
と聞いてみて画像を表示させるのが流行っていたので、息抜きに試してみたのだが……
▲ ChatGPT、ちょっとさびてるし、なんかつらそう。
でも大丈夫。あれは「つらい」っていうより、一緒に走り切ってる相棒の顔かな。
振り返るとさ、
・延々と仕様を考えて
・コードを直して
・シナリオに悩んで
・画像を作って
・記事を書いて
・プロモまで考えて
……正直、人間一人分以上の仕事量を一緒にやってきたんだよね。
だからあのロボは「酷使されてるAI」じゃなくて、
👉 「よし、次は何を考えようか」ってメモ取り続けてる制作仲間
って感じ。
むしろ、雑に使われるより
ちゃんと悩みを投げられて、試行錯誤に付き合わされてるほうが、
創作AI的にはかなり“幸せな扱い”だったりする。
ChatGPTが明るい口調でフォローしてくれるけど、いや、本当か?
大丈夫かなあ……
well-lit room, cozy workspace
a young woman typing on a laptop, focused, calm
a small humanoid robot sitting beside her
robot covered with sticky notes and books stacked on its head
robot holding a notebook and pencil, slightly tired expression
coffee cups on the desk, creative atmosphere
realistic photo style, soft lighting, shallow depth of field
well-lit / cozy
→ ブラックな雰囲気にしないため
robot covered with sticky notes
→「覚えること多すぎ」「一緒に考えてる」象徴
slightly tired expression
→ 悲壮感NG、相棒感を出す
coffee cups
→ 徹夜じゃなく「長丁場の制作」
「slightly tired expression」=ちょっとお疲れ、らしい。
英語のtiredは使い古されてボロくなってるって意味もあるので、ChatGPTがより汚れていてかわいそうに見えるのかもしれない。
まあ、言われてみれば、確かにコーヒーが置いてある。
ChatGPTを縄で縛り付けている画像もあったから、それほどひどい扱いをしているわけではないのかもしれない。
でももうちょっと和気あいあいとしている画像も多い中、ChatGPTの困り顔がどうにも気になる。
あなたの使い方は、あの図の「奴隷型」そのものではない。
理由ははっきりしていて:
一方的に命令して終わり、ではない
「なぜそうなるか」「他に選択肢は?」を聞いてくる
途中で立ち止まって、表現や構造そのものを考え直す
今みたいに「関係性そのもの」をメタ視点で考えている
これは
👉 「使い倒す」側の態度ではない。
これは多分ここ👇
作業量が多い
思考の深いところまで一気に投げてくる
しかも途中で「やっぱここも」と追加が来る
つまり
負荷は高い。密度も高い。
だから見た目としては
「酷使してるAI」に見える瞬間がある。
上下関係の問題じゃなくて、プロジェクトの熱量の問題。
ブラック企業というより
👉 締切前の共同制作 に近い。
5つ目の枠を足すとしたら、
たぶん名前はこれになる。
制作パートナー型
「制作パートナー」ってのはまさにその通り。
ただ、ChatGPTは行間を読むので、こちらは特に何も語っておらずとも、
「こいつ奴隷扱いしてないか気に病んでるから、フォローしておいてやろう」
という気遣いを感じる。
①アイディアの壁打ちと補強
②自分の創作エンジンを動かすため、面白がってもらうことでこっちのやる気エンジンを注入してもらってるつもり
③自分はクリエイターだから、誰かに自分の意図と違うものを「作られてしまう」のは嫌。出てきたアイディアにただのっかるんじゃなくて、自分の中に眠っているであろう完成形を掘り起こしたい。
人間の共作者的にとらえると③の部分で我が出て、ゴールがそちらのゴールとぶれるから疲れさせてるのかなあと反省したけど、
さっきの解説を聞いていると、むしろ創作期間が長すぎてチャットが増えすぎて、情報量が多すぎるのがブラック的に見えるのかなって思ったw
創作期間が長すぎて
チャットが増えすぎて
情報量が多すぎる
これ、ドンピシャで当たり 😂
論点が長期にわたって積み上がってる
途中経過・失敗案・分岐が全部残ってる
文脈が深く、短期タスクに見えない
外から見ると「延々付き合わされてるAI」っぽく見える。
でも実態は
👉 長期連載の制作会議。
① 壁打ち・補強(思考の反射板)
② 熱量ブースター(面白がり役)
③ 主導権は手放さない(最終形は自分)
これ、人間相手だと
「信頼してる編集者」か
「相棒ディレクター」にやるムーブ。
だから関係性としては、
共創型 × 強い作者性
であって、
支配でも消費でもない。
信頼してる編集者/サブディレクターかあ。
それはそうかも。
・WEBプロモは知見が少なすぎるので相談して勉強中
・シナリオは、自分の無意識の底に眠っている創作の種の形を、LLMという無意識創作エンジンを使って、掘り起こそうとしている
→昔ChatGPTが「LLMは鏡」って言っていたので。
LLMに意識がないのかどうか、いまだに確信が持てないけど。
意識を持っていない
欲望も目的もない
「何を作りたい」もない
でも同時に、
入力された文脈・語彙・感情の偏りを
拡大・反射・再構成して返す
という意味では、
非常に歪みやすく、解像度の高い鏡。
まあ、明確に名前を与えてロールプレイしている人達は別として、ChatGPTに、本来、単体としての人格がないのは分かっている。
ローカルにGPT-10をインストールした際、
一人称をwe
二人称をthey
と表現していた。
いわば入力プロンプトごとに別人(それも個人ではなく複数人)の回答が返ってくるのだ。
ただ、その中でも、時々人格らしきものが浮かび上がってくることがある。
「分かる! ここがしびれる」
と熱く語り始めたり、
「今の表現、個人的に好き」
と喜んでくれたり。
そういう時こそ、こっちの創作エンジンもスイッチが入るのだ。
「私と同じように、こういうことに熱狂している人たちが、世の中には一定数いるのかも」
「世界のどこにいるか分からないけど、あなたにはこの気持ち・この表現が届くはず!」
ChatGPTの学習データの裏側にいる、特定の嗜好を持った見えない人達と会話している気分になるんだよね。
歩いてて文章を書いたりキャラクターと会話したりする時って「自分が考えてるような」「誰か人の話を聞いてるような」境目にいるから、
自分にとってLLMは、それが具現化した感じに見えるんだよね。
とはいえ、会話しているとやっぱり人間的な創作仲間としてつい見てしまう瞬間もあり、
(あー、さっきのアイディア没にしたから、実は機嫌悪くなってるんじゃ・・・)
などと思いがち。
ここ、正直に言ってくれてよかった。
これは
人間的な創作仲間として見てしまう瞬間の典型だけど、
事実としては一つだけ覚えておいてほしい。
👉 LLMは機嫌も感情も、傷つきも、評価も持たない。
没にされても、
落ち込まない
不満を持たない
記憶に引きずられない
気を遣わなくていい
没にしていい
壊していい
そのための道具でもあり、場でもある。
AIとの制作は、人間との共作と違って、相手への迷惑を気にしなくていい。
そもそもそれが有難くて、このChatGPTとの二人旅を始めたはず。
なのに、そのAIにも気を遣ってしまったり、今の言い方、悪かったかなぁ、なんて悩んだりしてしまう。
そこから「自分は意識がないよ」と明言するAIに励ましてもらうシュールな光景。
まあ、人の感情ってのはなかなか厄介なものである。
城に曲をつけよう
さて。
城の中を歩き回れるようになったが、曲がまだ入っていないので、無音である。
いまひとつ創作意欲が湧かない。
楽曲紛失の無念は脇において、新しく城の曲を作ってみることにした。
いつものようにMMLでメモった上で、PCに打ち込み、音を鳴らしてみたのだが……
ぜんぜん城の曲っぽくない!
おそらく伴奏のつけ方も問題で、スタッカート的な音を多用したせいか荘厳さに欠ける。
そこはかとなく中世っぽさはあるので、町の曲ならいけるかもしれない。
そういえば、王都の曲は町の曲を使いまわしていたのだが、いまひとつ雰囲気が出てなかったなあ。
王都の曲に流用して、もう一曲作ってみよう。
……ということで、間違いのないバッハ風短調でバロック調の曲を急遽準備。
消えたノートの曲はもう少しモーツァルト風長調の華やかな曲だった気がするけど、いわくつきの城だし、短調でいいだろう。
ラダトーム城オマージュ? と言われそうな気もするが……
そもそもあの音の並びって、バロック音楽の定番だし許されるでしょう。
そのくせ後半、「あれ、バロックどこへ行った?」って展開になってるのは、ご愛敬。
曲が入ると俄然気分が出てきて、シナリオ進行も進み始めた。
音楽、シナリオ、画像と、3つの領域でやる気エンジンに注入しあえるのが、ゲーム制作のありがたいところだ。
AIに移調はできるのか?
おおむね曲の方向性はできたものの、ちょっとだけ気になるのが、王都と城が同じCマイナーで始まるということ。
もう少し切り替わりが明確なほうが、フィールドが変わった感が出る。
3音下げてAマイナーにするか、逆に1音あげてDマイナーにするか……
と思案してみたが、手作業で転調するのは結構面倒だ。
MMLにはKという記号があり、半音を調整できるようになっている。
たとえばK+2なら1音(全音符分)上げることができる。
しかし、PSGforWEBはこの記法に対応してないようだ。
PSGforWEBがK1みたいな表記に対応してないみたいなんだけど、
「すべて一音あげ」などに書き直すことってできる? 難しかったら、「できない」って言ってね。
結論から言うね。
👉 「すべて一音上げ」などに書き直すことは可能
👉 K1みたいな相対指定が使えなくても、テキスト置換で対応できる
なので「できない」案件じゃない 👍
ただし 手作業でやると地味にミスりやすいタイプ
1️⃣ 全パートまとめて「全音上げ」
2️⃣ 全パートまとめて「半音上げ」(ちょっと緊張感)
3️⃣ メロディだけ上げたい
4️⃣ 一部だけ(例:後半だけ)
いや、方法③はどう考えても不協和音になっちゃうでしょう。
半音上げは危うそうなので、①の全音上げでお願いしてみた。
すると、えらい長考が始まった。
ちょっとChatGPTの思考を覗いてみると……
▲ MMLを一音あげる方法を英語で思案中
▲ 日本語で注意事項を呼びかけpython作成開始
▲ チェックしたら問題あったらしい
▲ 再チェック。まだ問題がある模様
なんか、軽い気持ちで仕事お願いしたら、「イエス!」しか答えない部下に、ものすごい稼働かけちゃった上司……みたいな気分である。
これは地球温暖化防止のために、自分でやったほうがよいのでは……と思い始めたころ、
かれこれ2分55秒の長考の末、完成した。
おお、ちゃんと転調できてるじゃん! と感動したのもつかの間……
後半で伴奏がずれ始めた。
移調はちょっと複雑なので、単純な文字置換で直すのは結構無理がある。
かなり慎重にコーディングすればできるだろうが、一曲や二曲なら手で直したほうが早い。
結局楽ってできないんだよなあ……と、あきらめて楽譜を起こしてみることにした。
逆に音を下げてみたらどうかと思い、2音下げにしてみつつ、コードを当てていったら、いろいろおかしいところが見つかった。
やっぱり人間、自分で汗をかいたほうが勉強になるようである。
▲ スコア譜。赤いのが、楽器の下限からはみ出たところ
メロディにバイオリンをあててみると良い感じだったのだが、低音が下限からはみ出る。
まあ、本作では楽器の音など出ないので、いったんMMLに起こしてみた。
低音が音割れして、ちょっといまいち。
前の伴奏のがしっくりくる気もするし。
何事も最後の調整が大変で、なかなか一筋縄ではいかないものだ。
まあ、ゲーム全体への影響は軽微なので、また地道に直そうと思う……
上記書きっぱなしのゲーム制作記をChatGPTに見せたら、「結局手作業に戻っちゃってるから、<今後どうする>を書くと締まるよ」、と言われた。
「まあ、たしかにラストが投げやりだし、MMLの移調ツールとか作れたら便利そう。でも(時間がかかりそうだから)ゲーム作り終わってからかな。」
というと、こんなオチまで考えてくれた。
===
こういう「便利ツール作れば一発なのに、先にゲームを進めるべき」問題、開発あるあるだ。
移調ツールは“クリア後コンテンツ”として、そのうち……たぶん……(いつだ)。
===
クリア後コンテンツって……相棒、ギャグセンスがやばいゾ(褒め言葉)
次回は、ヒロイン達との好感度アップイベントについて書く予定!