ゲーム制作未経験のプログラマがUnityでゲーム作りを始めた話【制作記#1】

ゲーム

これまでゲームを遊ぶことはあっても、「自分でゲームを作る」ということには一度も挑戦したことがありませんでした。そんな私が、今回初めてUnityを使ってゲーム制作を始めることにしました。

ゲーム制作の知識はほぼゼロ。Unityも初めて、C#も未経験です。それでも始めてみようと思ったのには、いくつか理由があります。このブログでは、そんな状態から実際にゲームを作っていく過程を記録していきます。

最初の目標は、大作を作ることではありません。まずは小さなゲームを1本、きちんと完成させることです。

ゲームを作ろうと思った理由

ゲーム制作に興味を持った理由は、一つではありません。

自分で作ってみたい世界があった

一番大きいのは、「こんな世界をゲームにしてみたい」というイメージが以前からあったことです。特に作ってみたいのが、ダンジョンやモンスターを中心にしたゲームです。

自分でダンジョンを作り、そこにモンスターを住まわせたり、育てたりする。プレイヤーが用意された世界を攻略する側ではなく、むしろ自分で世界を作っていく側になるようなゲームを作ってみたいと思っています。

考えているだけでも楽しそうでした。だったら、実際に形にしてみたい。それがゲーム制作を始める理由の一つになりました。

自分が遊びたいゲームが見つからなかった

もう一つの理由は、単純に「自分がやりたいゲームが見つからない」ということでした。

もちろん、ダンジョン運営ゲームやモンスター育成ゲーム自体はいろいろあります。ただ、私が頭の中で思い描いているものと完全に一致するゲームは、少なくとも自分が知る範囲では見つかりませんでした。

それなら、「ないなら自分で作ればいいのでは?」 と思いました。

自分が遊びたいと思うなら、もしかすると同じようなゲームを遊びたい人もいるかもしれません。そんな期待も少しあります。

もちろん、いきなり理想のゲームを作れるとは思っていません。まずはゲームを作ること自体を覚えるところから始めます。

ChatGPTとCodexで、ゲーム制作のハードルが下がった

私が今になってゲーム制作を始めようと思った理由として、AIの存在もかなり大きいです。普段の仕事でも、ChatGPTやCodexを使っています。

私はプログラマとして働いていますが、ゲーム開発の経験はありません。仕事ではTypeScriptやRubyなどを触ってきましたが、Unityで使われるC#については未経験です。高専時代にC言語を勉強したことはありますが、ゲーム制作とはまた別物です。

以前だったら、UnityやC#の勉強から始めて、ゲーム制作特有の仕組みや設計も覚え、エラーが出れば一つずつ調べて……と、作りたいゲームにたどり着くまでが大変そうだと感じていたと思います。

でも今は、分からないところをChatGPTに相談したり、Codexに実際のコードを変更してもらったりできます。

そこで、「今ならゲーム制作の知識がなくても、とりあえず作り始めることはできるんじゃないか?」 と思うようになりました。

今回の制作では、主に次のような流れで進めています。

  1. 自分で作りたいものを決める
  2. ChatGPTと仕様や実装方針を整理する
  3. CodexにUnityプロジェクトを編集してもらう
  4. Unity上で自分で動作確認する
  5. 問題があれば原因を調べ、修正する

AIにゲームを丸投げするのではなく、自分で作りたいものや方向性を決めながら進める形です。プログラミング経験はあるものの、ゲーム制作については本当に初心者なので、「AIを使えば未経験からどこまで作れるのか」という実験でもあります。

将来的には収益にもつなげてみたい

もう一つ、ゲーム制作を始めた理由として、将来的に自分で収益を作る手段を増やしたいという思いもあります。しかし、1本目から売れるゲームを作れるとも思っていません。

そのため、まずは小さなゲームを作って完成させることを優先します。小さな作品をいくつか作り、その中で面白いものや反応の良いものがあれば、少しずつ大きくしていく。

将来的には、このブログ上で遊べるゲームを公開したり、itch.ioなどでも作品を公開したりしてみたいと考えています。楽しみながら作ったものが、いつか少しでも収益につながれば理想です。

最初から本当に作りたいゲームは作らないことにした

本当に作りたいダンジョンゲームの構想は、かなり大きなものです。

例えば、ダンジョンにさまざまな環境の階層を作り、モンスターを配置して育成する。そこへ冒険者がやってきて、モンスターと戦う。そんな仕組みをいろいろ考えています。

ただ、これらを全部実現しようとすると、相当な規模になるはずです。ゲーム制作未経験者が最初に作るものとしては、さすがに大きすぎます。

そこで、方針を決めました。

とにかくシンプルに作る。

最初は1週間程度でも完成を目指せるような、小さなゲームを作ることにします。いきなり理想の作品を目指して完成できなくなるより、まずは実際に動くゲームを1本作る。

完成させる経験を積みながら、必要な知識を少しずつ増やしていくことにしました。

Unityも今回が初めて

開発にはUnityを使うことにしました。使っているのはUnity 6系です。ゲーム制作自体が初めてなので、当然Unityも今回が初めて。

最初はUnity Hubを用意し、ゲーム制作専用のフォルダとして C:\GameDev\game01 を作りました。

ソースコードの変更履歴についてはGitで管理し、GitHubにもPrivateリポジトリを作っています。Gitについては仕事でも似た仕組みを使っていますが、個人のゲーム制作で環境を一から用意するのは今回が初めてでした。

実際にやってみると、ゲームを作るコードを書く前にも意外と決めることがあります。ただ、今回は制作を始めた話が中心なので、細かい手順には触れません。

Unityの導入から新しいゲームを作り始めるまでの流れについても、今後の記事で紹介できればと思います。

最初のゲームは「Monster Clicker」

記念すべき1本目は、かなり単純なクリックゲームにしました。プロジェクト名はひとまず「game01」。最初のゲームは「Monster Clicker」と呼んでいます。

仕様はとてもシンプルです。

  • 画面中央にモンスターがいる
  • モンスターをクリックするとHPが減る
  • HPが0になると倒せる
  • 倒すとスコアが1増える
  • 次のモンスターが出てくる
  • 10体倒したらクリア

これだけです。

モンスターもSlime、Goblin、Orcの3種類だけ。種類ごとにHPや色を変え、クリックしたときには少し縮む反応を付けています。

RPGですらありません。それでも、最初からいろいろな機能を付けるより、「クリックして敵を倒し、最後にクリアできる」という最低限の仕組みをまず完成させることにしました。

そして、この最初のMonster Clickerは、実際に10体倒してクリアするところまで動かすことができました。

ただ、このゲームをそのまま公開するかと考えたとき、「もう少し遊んで面白いものにしたい」という気持ちが出てきました。

その結果、game01は後に、魔女が押し寄せるゴブリンから防壁を守るゲームへと大きく作り直すことになります。こちらは現在も制作途中です。

なぜ作り直すことにしたのかについても、今後の記事で詳しく触れていく予定です。

ゲーム制作未経験でも、本当にゲームは作れるのか

始める前は、「ゲーム制作経験ゼロで本当に形になるのか?」という疑問がありました。

ですが、少なくとも最初に考えた「モンスターをクリックして倒し、10体倒せばクリア」という小さなゲームは、実際にUnity上で完成させることができました。

もちろんChatGPTやCodexの力を借りていますし、自分で一からUnityのコードを書いたわけではありません。分からないこともまだ大量にあります。

それでも、「知識を全部身につけてから始めなくても、とりあえず作りながら覚えることはできそう」 という感触は得られました。

個人的には、これだけでも始めてみた意味がありました。また、実際に動くものができたからこそ、「もう少し面白くしたい」「こういう仕組みも作れるかもしれない」と考えられるようになった気もします。

最初に小さいゲームを作ると決めたのは、良い判断だったと思います。

これから制作過程を記録していきます

このブログでは、ゲーム制作を始めたところから、実際に何を作り、どんな問題にぶつかり、どう改善していったのかを記録していく予定です。

まずはMonster Clickerを題材に、最初の仕様をどう決めたか、ChatGPTとCodexをどう使ったか、作ってみて何が分かったのかなどを書いていきます。その後も、別のゲーム制作や、少し規模の大きな作品への挑戦について残していければと思っています。

ゲーム制作に詳しい人が高度な技術を解説するブログではありません。むしろ、ゲーム制作経験ゼロの人間が、AIを使いながら実際にゲームを作っていく記録です。

同じように「ゲームを作ってみたいけど、何から始めればいいか分からない」と思っている人にとって、何か参考になるものがあればうれしいです。

次回は、最初のゲームにMonster Clickerを選んだ理由や、どうやって最初の仕様を決めたのかを紹介します。

コメント

タイトルとURLをコピーしました