2024年、新年のご挨拶
このページをご覧になっている皆さん、こんにちは。
はじめての方ははじめまして、Legend worldの管理人「進藤リヴァイア」と申します。
今回、「ChatGPTでスーパー正男を作ろうとした男の話」を公開し、
スーパー正男Re同盟様の「年越しカレンダー2023-2024」

ぜひ読んでいただければ幸いです。どうぞよろしくお願い致します。
皆さん、改めまして、あけましておめでとうございます。
2024年もよろしくお願い致します。
昨年は、家庭の事情や仕事の忙しさもあって、多くの方にご心配お掛けしてしまいました。ですが、私にとってはじめての「スーパー正男界隈」でのオフ会(Legend worldでは10回以上やってますが)参加という出来事もあり、充実した年でもあったかなと思っています。
今回は以下の内容について、お話させて頂きますので、お付き合いのほど、宜しくお願い致します。
メニュー
新作ゲーム「ChatGPTに作ってもらったスーパー正男」
Let's Play!!(難易度☆)
Let's Play!!(難易度☆)
Let's Play!!(難易度☆☆☆☆)
Let's Play!!(難易度☆☆)
(難易度は目安です。)
(BGMが鳴ります。音量にご注意ください!)
(スマートフォンの方は、バーチャル操作パッドをご利用ください。
なお広告が邪魔な場合は、広告ブロックアプリを使用することをお勧めします。)
※感想や意見など、お待ちしております。
X(旧Twitter)アカウント「@Legendworld7」もしくは「@allclear_nameis」、「Visiter board」でも大丈夫です。
解説と経緯
1.経緯
2.作ってもらった様子
1.経緯
皆さんは、2023年2月に出た、AI技術に関するこんなニュースをご存知でしょうか?
「AIでスーパーマリオのステージを生成する「MarioGPT」発表。土管多め、敵少なめなど自然言語で指示」(外部リンク)
このニュース記事を見て、スーパー正男を作ったことがある方なら、すぐにお気づきになられることでしょう。
「スーパー正男」のマップチップの仕組みとほとんど同じ、だと。
そして私は、これがマリオで出来るのなら、正男だって出来てもおかしくない!という考えに至りました。
しかしながら、そんな簡単にはいきません。これを作ったのはAI技術の専門の研究者。私は昔ながらのウェブサイトくらいしか作れない、ドがつくほどのAI素人。知識もアイディアもありません。
ネットで調べてみると、似たような考えをもった人はいるようで、ゼロベースで横スクロールアクションゲームをChatGPTに作らせている人も見かけました。なるほど、ChatGPTはゼロベースでもプログラムを出力させられるのか、と感心しました。
ですが、私は曲がりなりにも、20年弱はスーパー正男界隈の端っこに籍を置いているような身。ゼロベースではなく、土台があるからこそ、ChatGPTも作りやすいのではないか、そんな思いに至り、今回の企画に挑むことにしました。
この企画が上手くいけば、スーパー正男界隈に、新しい風が、吹く、かも……?
※この記事ではChatGPTとの対話をまとめてスクショしている為、画像が荒くなっています。ご了承ください
2.作ってもらった様子
そんなことを思いながら、ChatGPTと二人三脚で、スーパー正男を作り始めることになるわけですが。
「そもそもChatGPTはスーパー正男のことを知っているのか?」という疑問にぶつかります。質問してみました。

「いや、知らないのかい!」というツッコミはさておき。
聞き方が悪かったかも、と思って、違う質問をしました。

むむむ、それならば。

「なんでCanvasMasaoはわかるんだよ!」笑撃の答えである。いや、マリオでは無いんですけどね。

ちなみに、フォーマットについて知ってるか尋ねたらこんな回答が。よくご存知で。
前段階はさておき。本題に移ります。
が、毎回毎回、ソースコードすべてを出力させていると、時間が掛かってしまうので「今回はマップチップの一部のみを出力させる」ことだけを目的としました。

(前もって、基本的なマップチップの意味を伝えてあります。)
以下が、出力されたステージのソースコード。
Aはプレイヤー、gは足場、8がゴール。
基本的なマップは簡単に出力してくれました。
次に、新しいオブジェクトを教えました。Bは横移動する敵、Oは近づくと体当たりしてくる敵。

「なんかゴールが遠くなったんですけど?」どうしてこうなった。
ゴールの位置をmap0-24の左側に移動してくれってお願いしたけど、理解してくれず……。
やむなくこちらで修正したものを提示しました。
次は、敵オブジェクトを追加します。Bです。
さて、どこにBを追加してくれるのだろうか。

「ちょっと待て、なんで8をまたそっちに動かす。」
「しかもBの追加位置ゴールの真下かよ!」
(ちなみにジャンプしても届かないです。)
位置が納得できないので、強引に左にずらしてもらいます。

やれば出来るじゃん。とりあえずこれでいいか。Let's Play!!(難易度☆)

0-25にgを追加して欲しいなんで一言も言ってないよ!(次の指示で消させました。)

どうも、追加してくれってお願いすると、右に追加していこうとする習性があるのかしら?

Hの下に破壊可能なレンガが追加。やはり右側に追加されてる。
試しに「左側に追加してくれるか」指示してみました。

aを左側に追加した分だけ、離れるHが気になる。(Hは右にスクロールして出てきました)
どう伝えるか、は、やはり入力する人の言葉次第か。
Hを寄せてくれ、と指示したら、以下のソースコードになった。

やっとこさ、形になってきた。Let's Play!!(難易度☆)
最低限のオブジェクトの説明も実施したので、いよいよここからオリジナルのマップを出力してもらうことに。

「おぉおおおおお!?」左側はこれまでと変わらないように思うが、右側が違う!
aとgの足場の上に、H(上下に飛行する鳥型の敵オブジェクト)とゴールが設置されている!
これは、今までまったく指示になかった、まさにChatGPTがこれまでの学習で作り出したマップだ。
ちなみに、クリアも確認できた。すごい。Let's Play!!(難易度☆☆☆☆)

さらにaとHを追加させてみると、かなりそれらしくなりました。Let's Play!!(難易度☆☆)
結論として、「ChatGPT」に学習させれば、スーパー正男のオリジナルマップは生成出来る、ということになりました。
しかしながら、スーパー正男のクリエイティブな要素は、今回ごく一部しか使用しておらず、まだまだ多くのオブジェクトが存在し、背景色の変更や地形の複雑化などはまた違った学習をさせなければならないと思います。
それでも、20年以上の歴史を持つこのゲームが秘めている可能性は、AI技術の発展によって、更なる進化を期待してもいいのかもしれません。
長々とお付き合いありがとうございました。
今年もよい一年になりますよう、お祈りしております。
Legend world管理人 進藤リヴァイア