見出し画像

漫画制作用のプロットエディターをChatGPT-4oと作った話。

 漫画のプロット制作作業向けの、プロットエディターを作った。

 GitHubで公開しました。



 オフラインで使用したい場合、こちらからダウンロードできます。
 (リンクを開くと、右上の「共有」の横に、下向きの矢印があります。それがダウンロードボタンです。そこを押して、zipファイルをダウンロードしてください。ダウンロードしたzipファイルを解凍して、index.htmlをダブルクリクして実行してください。) 

 簡単な使い方の図。
 「元に戻す」「やり直し」は、想定した動作と違ったので後から削除した。

画像
使い方の図

 極めてシンプルなエディタなので、実際に試してもらうのが早いと思う。



 iOSでも使えます。また、Safariで開くことを経由して、ホーム画面に追加できます。

 iPadなどで、こちらのリンクを開く。右上のコンパスアイコンから、Safariで開く。「ホーム画面に追加」を選ぶ。
 アプリのように、GitHubページへのブックマークが表示されます。

画像
ホーム画面に追加

 iOSでもドラッグ&ドロップが動きますが、ちょっと待機時間があります。


制作の意図


 漫画のプロットを書く時、どうにも、しっくりくるエディタがなかった。

 プロット作りは、いくつかの要素が複合している作業だ。自分の作業を振り返ると、以下の四つに分類できた。

アイデア出し:雑多なアイデアを脳みそからひねり出しメモする。
プロット組み:アイデアをプロットにまとめ、あれこれと推敲する。
ページ割り:プロットをページごとに配分する。入れ替えが多数発生。
セリフ出し:ページごとにセリフを書きだす。後でコピペしたい。


 アイデアを雑に書きつけるのは、メモ帳でいい。というか、メモ帳以上の機能があっても余分だ。

 一方で、プロットを組む時には、起承転結や作中のイベントの管理が必要になる。これもメモ帳でギリギリできるが、足したり削ったり、入れ替えたりの作業があるので、「付箋メモ」のような機能があるとうれしい。

 ページ割りは、もっと足したり削ったりが頻繁に発生する。ページ番号がないと全体像がわかりにくいが、一々、ページ番号を記述するのは、入れ替えた時に面倒だ。

 セリフは、最も扱いに困る。私が主に漫画制作に用いる「Clip Studio Paint EX」には、セリフのテキストを一括管理する「ストーリーエディター」という機能がある。そこにセリフをまるごとコピペしたいのだが、「ストーリーエディター」には、「一行空けのセリフを別のセリフとして扱う」というルールがある。つまり、

あっ…。

なに?

あ、いや……鳥が横切ったから。

ああ……
あの鳥はカササギだ。

セリフ例

と、いったように、ごく短い会話テキストでも、改行を連発することで、やたらと縦に長くなってしまう。これは、メモ帳だと非常に扱いにくい。

 ページ数が増えれば、セリフも増える。プロットで書いたセリフをストーリーエディターにコピペするのも一苦労だ。

 全体として、「複雑な編集機能は必要ないが、ツリー構造を持っていて、付箋のように自由にテキストが入れ替えでき、ページ番号を自動で振り、セリフのみを1行空けた.txtで出力できるエディタ」が欲しい、ということになる。しかし、そんなエディタは、私の探した限りでは、存在しなかった。なので、作った。


 制作過程

 主に、ChatGPT-4oにコードを書かせてつくらせた。
 まず、手描きの仕様書を見せて、指示をした。

 指示。

『こんにちは。漫画のプロット制作に使えるウェブアプリを開発したいです。まずは簡単に説明させてください。
 漫画を描くときには、ストレートに話の構成ができることはほとんどありません。大抵、あれこれと様々なアイデアを出しながら、苦労して話を考えていきます。そして、最終的には、「〇ページにどのようなことが書いてあるか」と、「そのページに書かれたセリフ」が漫画プロットの完成形になります。
 このような作業は、普通のテキストエディターではとても難しいです。私は、ダイナリストというアウトライナーアプリを使うこともありますが、やはり、便利とは言いがたいです。
 そこで、漫画制作に特化した、推敲用のウェブアプリを開発したいので、手伝ってほしいです。ここから、具体的な要件を述べます。ここまではよろしいですか?』

 返答。

「こんにちは。それはとても興味深いプロジェクトですね。漫画プロット制作に特化したウェブアプリの開発は、多くの漫画家や作家にとって大変有益だと思います。具体的な要件を教えていただければ、どのようにお手伝いできるか提案させていただきます。続けてください。」

 追加指示。

『はい。アプリのイメージを述べます。「左から、大づかみにアイデアを書く→それを細分化していく→1ページ1ページにまで細分化する→セリフをそれぞれのページにつける→セリフだけ、漫画ソフトで使える形でダウンロードできる」こんなイメージです。

 図にします。(ここで仕様書をアップロード。)

画像
仕様書

 親子関係のある複数のエリアに分かれています。一番左は、アイデアのエリアで、作家は自由にここにアイデアを記します。このボードは、分割されない一個のボードです。
 いいアイデアが浮かんだら、右の「プロット」エリアに、プロットのボードを新規作成します。ボードには「導入」「エンディング」など、名前をつけたり、順序を入れ替えたり、ボードを任意の場所で切断して二つに分けたり、合体させたりできます。
 プロットエリアの子になるボードが、「ページ」のボードです。ページのボードでは、そのページに書かれていることを言葉で書きます。理屈上では、ページのボードが最後まで埋まれば、プロットが完成します。このボードも入れ替えたり、親ボードをつけかえたりできます。
 そして、ページのボードの子になっているのが、セリフのボードです。セリフは、まとめて一つのtxtファイルで出力することで、漫画制作ソフトで簡単にセリフを入れることができます。
 イメージとしては、ツリー管理される自由度の高い付箋メモソフトという感じです。どうでしょうか?まず、実際のコードの前に、実現可能性についてだけ、教えてください。』

返答

「HTML、CSS、およびJavaScriptをベースにしたWebアプリとしての開発は十分に可能です。以下に、各要素の実装方法と全体的な構造について簡単に説明します。」

画像
ChatGPT-4oがコードを書いてくれた

 

 ……が、最初から指定通りのものが作られたわけではなかった。

 最初のコードでは、こんな結果だった。

画像
最初のコード

 これに対して、あれこれと指示をして修正してもらい、機能を追加したりけずったりしながら、完成させた。


 振り返ると、手描きの仕様書の内容が反映されていなかったので、字が汚すぎて読めなかったのではないかと思う。 

 作るのに、丸一日かかった。半分ぐらいの時間、コードの書き出しを待っていた気がする。修正部分だけ出力してもらおうともしたが、素人の自分には理解できない理由で不具合が頻発したので、結局毎回、全部のコード(500行ぐらい)を書かせていた。絶対、もっと良い方法があったと思うが、自分にはわからなかった。

感想


 あくまで、「クリスタで漫画を描いている人向け」という限定的な用途ではあるが、とても使いやすいものができたと思う。

 実は、このエディタを作る前段階として、一週間前に、Fanzaの同人漫画のデータを集めて、統計を取ろうとしていた。恐ろしいことに、最初は手動でデータを足していた。

 その時に、コードを使って集めるべき、と友人にアドバイスされた。自分は原始人だから、こうやってこん棒を振るしかないんだ、と返事をしたものの、ChatGPT-4oを使えばできるかもしれない、と思った。

 友人の書いてくれたサンプルコードをベースに、ChatGPTにコードをどんどん発展させて、作品情報を収集するプログラムを作った。最終的には10年分、9,3000作品のデータを集めることができた。

 
 自分は一切、プログラミングの知識がないし、コードも読めない。ホームページやブログを弄ったことがあるので、かすかに、htmlとcssの知識はある。jsは、自分にとって魔法の呪文と同じだし、PythonやらNodeJSやら、何をやらされているのかわかっていない。

 それでも、ChatGPTに要望をだして、返ってくる指示に従って作業すると、それなりに目的としていたものが作れる、というのは、嬉しい体験だった。

 今後も、ChatGPTなどを使って、同人漫画制作に役立つものなどを作っていけたらいいな、と思っている。

 今回のツールについて説明した配信。


この記事が気に入ったらサポートをしてみませんか?

ピックアップされています

ChatGPT 記事まとめ

  • 5,315本

コメント

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。
新人Vtuberのハルヒスキーです! Youtubeで週二回、水曜日と日曜日にお絵かきライブ配信を行っています。 https://www.youtube.com/user/haruhisky Twitter https://twitter.com/DmnwlA8BtlTlHrI
漫画制作用のプロットエディターをChatGPT-4oと作った話。|ハルヒスキー@新人Vtuber
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1