
プログラミング素人がAIとゲームを作ったら、ゲーム開発が身近になった話
木や石を集め、ブロックを置き、アイテムをクラフトする。
昼と夜があり、敵が現れ、砂漠や雪原を探索できる。
スマートフォンでも遊べる、マインクラフトのような3Dボクセルゲーム。
そんなゲームを、プログラミング経験がほとんどない自分が、AIと一緒に作りました。
しかも、コードの大部分を書いたのは自分ではありません。
自分がやったのは、
「こういうゲームを作りたい」
「ここをもっと遊びやすくしたい」
「こんな機能を追加できないか」
とAIに伝えること。
AIがコードを書く。
実際に動かす。
遊んでみる。
おかしいところや改善したいところを、またAIに伝える。
その繰り返しで、少しずつゲームを形にしていきました。
さらに、最初の開発に使ったのはパソコンではありません。
スマートフォンとタブレットだけです。
GitHubにコードを置き、ブラウザからそのまま遊べるゲームとして公開しました。
少し前まで、自分がゲームを開発するなんて考えてもいませんでした。
プログラマーでもありません。
ゲーム会社で働いた経験もありません。
本格的にコードを書けるわけでもありません。
それでもAIを使うことで、ゲーム開発が急に身近なものになりました。
最初は普通の「マイクラ風ゲーム」だった
このゲームは、Three.jsという技術を使ったブラウザゲームとして作り始めました。
最初に考えていた内容は比較的シンプルです。
木や石などの素材を集める。
ブロックを置く。
クラフトする。
敵と戦う。
昼と夜がある。
敵のウェーブやボスが登場する。
砂漠や雪原など、環境の違う場所を探索する。
いわゆる、
「自分なりのマイクラ風ゲーム」
でした。
初期の頃は、HTML、CSS、JavaScriptをほぼひとつのファイルにまとめていました。
今振り返ると、かなり豪快です。
ただ、当時の自分には、
「コードの構成として美しいか」
よりも、
「これ、本当に動くの?」
のほうが重要でした。
まず動かしてみる。
遊べる状態にする。
問題が出たら直す。
それで十分でした。
パソコンなしでもゲームは作れた
このゲームの開発では、スマートフォンでAIに指示を出し、必要に応じてタブレットでコードを確認していました。
コードはGitHubに反映します。
そしてブラウザでゲームを開き、実際に遊んで確認します。
問題があればAIに伝える。
修正されたコードをまた反映する。
基本的には、この繰り返しです。
もちろん、パソコンがあればもっと楽だったと思います。
大きな画面で複数のファイルを並べたり、キーボードで細かくコードを編集したりできます。
それでも、自分にとっては、
「ゲームを作るには、まず高性能なパソコンを用意しないといけない」
という感覚が崩れたことが大きかったです。
手元にあるスマートフォンとタブレットで、とりあえず始めてみる。
そこからゲームが本当に動き始めました。
完璧な環境を整える前に、先に作り始めてしまったわけです。
ただし、スマホはかなり熱くなった
スマートフォンだけで開発していて、予想以上に大変だったことがあります。
発熱です。
AIにコードを書いてもらう。
GitHubを確認する。
ブラウザで3Dゲームを動かす。
実際に操作する。
またAIに修正を頼む。
これを何度も繰り返していると、スマートフォンがかなり熱くなります。
特に3Dゲームを長時間動かしていると、端末への負荷がはっきり分かります。
そこで、
長時間ゲームを動かし続けない。
端末が熱くなったら休ませる。
充電しながら高負荷の作業を続けない。
必要のないアプリは閉じる。
といったことを意識するようになりました。
さらに、ゲーム側にも対策を入れました。
スマートフォンでは、パソコンより画質を落とす。
表示するオブジェクトやエフェクトを減らす。
描画する範囲や処理量を調整する。
見た目の豪華さを少し下げる代わりに、スマートフォンでも動きやすくする。
実際にスマートフォンで作っていたからこそ、
「ゲームの面白さ」と「端末への負荷」のバランス
を強く意識するようになりました。
開発している自分のスマートフォンが熱くなるという、とても分かりやすい警告装置です。
コードを書くのはAI。自分は「こうしたい」を考える
開発方法も、普通のプログラミングとはかなり違っていました。
自分で何百行ものコードを書くわけではありません。
基本的にはAIに、
「こういうゲームにしたい」
と伝えます。
AIがコードを書く。
それを実際に動かします。
そして、
「なんか違う」
「ここが使いにくい」
「もっと分かりやすくしたい」
「スマホでも押しやすくして」
と伝えます。
するとAIがまた修正します。
今振り返ると、自分がやっていたのは、
プログラマーというより、ゲームディレクター兼テスター
に近かったと思います。
AIが実装する。
自分が方向を決める。
そして実際に遊んで、
「面白いか」
「分かりやすいか」
を判断する。
この分担が思っていた以上にうまく機能しました。
子どもの「これできる?」がゲームを広げていった
このゲームを作るうえで大きかったのが、子どもたちの存在です。
子どもはゲームのアイデアを考えるとき、とても自由です。
「もっと強くして」
「もっと大きくして」
「こういうの出したい」
「こんなことできたら面白そう」
次々にアイデアが出てきます。
大人がゲームを考えると、
「ゲームバランスは大丈夫か」
「世界観に合っているか」
「実装が大変じゃないか」
と考えてしまいます。
もちろん、それも必要です。
でも子どもはまず、
「それ、面白そうじゃない?」
から考えます。
そして、この考え方とAI開発の相性がかなり良かった。
思いついたアイデアを、すぐAIに相談できます。
実装できたら一緒に遊ぶ。
微妙なら変える。
また別のアイデアを入れる。
その繰り返しで、最初は普通のマイクラ風ゲームだったものが、少しずつ自分たち独自のゲームへ変わっていきました。
最初から完成形を決めなくてもいい
このゲームは、最初からすべての仕様を決めて作ったものではありません。
むしろ逆です。
まず作る。
遊ぶ。
面白くなければ変える。
新しいアイデアが浮かんだら入れる。
壊れたら直す。
それを繰り返しました。
新しいアイテムを追加すると、
「このアイテムがあるなら、こんな使い方もできるのでは?」
と思います。
新しい場所を作ると、
「じゃあ別の環境も作りたい」
となります。
ひとつ追加すると、そこからまた別のアイデアが生まれます。
だから、完成したゲームは最初に想像していたものとはかなり違う形になりました。
でも、個人制作なら、それでいいと思っています。
設計書を完璧に作ってから始めるのではなく、
遊べる未完成品を少しずつ育てる。
AIを使った開発では、このやり方がかなり相性がいいと感じました。
このゲームの本当のテーマは「試してみること」だった
開発を続けていて気づいたことがあります。
このゲームの面白さは、特定の機能だけにあるわけではありません。
本質は、
「これをやったら、どうなるんだろう?」
を試せることでした。
新しいアイテムを使う。
知らない場所へ行く。
建物を作る。
敵との戦い方を変える。
ゲームの中でいろいろ試しながら、世界がどう反応するかを見る。
同時に、ゲームを作っている自分自身も実験していました。
AIを使えばどこまで作れるのか。
スマートフォンだけでどこまで開発できるのか。
ブラウザゲームでどこまで3D表現ができるのか。
どのくらい機能を追加するとスマートフォンが重くなるのか。
どこまで画質を落とせば快適に遊べるのか。
ゲームの中だけではなく、
ゲーム開発そのものが実験だった
のだと思います。
「プログラミングを覚えてから作る」という順番が逆になった
以前の自分なら、ゲームを作ろうと思ったら、
まずJavaScriptを勉強する。
Three.jsを勉強する。
3D空間の扱い方を勉強する。
敵AIを勉強する。
データ保存を勉強する。
そうやって、ある程度理解してからゲーム制作を始めようとしていたと思います。
そして、おそらく途中で挫折していました。
AIを使うと、この順番が逆になります。
先に作る。必要になったら覚える。
分からないことが出てきたらAIに聞く。
エラーが出たら原因を聞く。
必要な仕組みがあれば、どう作るか教えてもらう。
自分は最初からすべてを理解していたわけではありません。
むしろ、
分からない状態のまま作り始めました。
それでもゲームは少しずつ動くようになりました。
この経験は、自分の中でかなり大きな変化でした。
「勉強が終わってから作る」のではなく、
「作ること自体を勉強にする」
という方法があると分かったからです。
AI時代は「作れる人」の意味が変わるのかもしれない
このゲームを作っていて、強く感じたことがあります。
これから重要になるのは、
コードを全部自分で書けることだけではないのかもしれません。
何を作りたいのか。
何が面白いのか。
実際に触ってみて、どこがおかしいのか。
遊ぶ人にとって分かりやすいのか。
次に何を変えたいのか。
そうしたことを考え、AIに伝えられる能力も重要になります。
AIはかなりの量のコードを書いてくれます。
でも、
「それ、本当に面白い?」
という判断までは、完全には任せられません。
ゲームを実際に触って、
「これは面白い」
「これは微妙」
と決めるのは人間です。
子どもたちの、
「これできる?」
という一言も同じです。
技術的に美しいアイデアではないかもしれない。
ゲームバランスを考えていないかもしれない。
でも、そこから予想外に面白いものが生まれることがあります。
AIが実装のハードルを下げたことで、
アイデアを持っている人が、そのまま作る側に近づけるようになった。
そんな感覚があります。
ゲームを作って一番良かったこと
このゲームが完成したことも嬉しかったです。
GitHubで公開できたことも大きな経験でした。
プログラミングについて少しずつ理解できるようになったことも、自分にとっては大きな収穫です。
でも一番良かったのは、
「思いついたものって、案外作れるんだな」
と思えるようになったことです。
以前なら、
「ゲーム作ってみたいな」
で終わっていました。
今は、
「じゃあ、とりあえず作ってみるか」
になります。
子どもが、
「こんなのあったら面白くない?」
と言えば、
「じゃあAIに聞いてみよう」
と言えます。
もちろん、すべてがうまくいくわけではありません。
何度直してもバグが消えないこともあります。
思った通りに動かないこともあります。
スマートフォンが熱くなりすぎて、作業を止めることもあります。
それでも、
「自分には作れないからやめておこう」
と最初から諦めることは減りました。
このゲームは、小さな個人制作の作品です。
大手ゲーム会社が作る作品とは比べられません。
それでも自分にとっては、
AIが「見るもの」から「一緒に作る道具」に変わった作品
でした。
完璧な開発環境がなくてもいい。
プログラミングを全部理解していなくてもいい。
まず作ってみる。
遊んでみる。
問題があれば直す。
面白いアイデアがあれば追加する。
その繰り返しでも、ゲームは少しずつ形になっていきます。
