【第3回】ゲーム制作未経験者がUnityとCodexを選んだ理由|AIにプログラミングを任せてみる

機械設計×ゲーム

前回の記事では、

「モノづくりをテーマにした、選択・最適化型の工場パズルゲームを作る」

という方向性を決めました。

スタート地点から流れてくるワークを、コンベアや加工設備を使ってゴールまで運ぶ。

ただ運ぶだけではなく、設備の配置や性能、コストなどを考えながら、
自分なりの最適な生産ラインを作るゲームを目指します。

ここまでで、「どんなゲームを作りたいか」は少し見えてきました。

しかし、当然ながら次の問題があります。

そもそも、何を使ってゲームを作ればいいのか?

私はゲーム開発の経験がありません。

Unityも使ったことがありません。
C#も本格的に触ったことがありません。
そこで、まずAIに聞いてみました。

はじめ
はじめ

このゲームはCodexで開発できる?
そもそもUnityってなに?

今回は、ゲーム開発初心者がUnityとCodexを使って開発を始めるまでの準備について紹介します。


そもそもUnityとは?

まず最初に知る必要があったのが、

Unity

というソフトです。

Unityをものすごく簡単に言うと、
ゲームを作るための総合開発ソフトです。

ゲーム業界では、こうしたソフトをゲームエンジンと呼びます。

例えば、Wordが文章を作るためのソフトなら、Unityはゲームを作るためのソフト。

そんなイメージです。

Unityの中では、

  • キャラクターを配置する
  • 画像を表示する
  • ボタンを作る
  • 物体を動かす
  • 音を鳴らす
  • 当たり判定を設定する
  • ステージを作る
  • プログラムを実行する

といったゲーム制作に必要な作業をまとめて行えます。


なぜ今回Unityを使うことにしたのか?

ここは正直に書くと、深く比較してUnityを選んだわけではありません。

ゲームを作りたいと思ってChatGPTに相談したところ、
ゲーム開発に使えるソフトとして、

  • Unity
  • Godot
  • Unreal Engine
  • GameMaker

など、いくつかの選択肢が出てきました。

その中で、

最初にUnityが紹介されていた。

ほぼ、それがきっかけです。

当時の私は、ゲーム開発どころか、
プログラムも書けない。
コードもほとんど分からない。

ゲームエンジンごとの違いを比較して、
「自分にはUnityが最適だ」
と判断できるような知識もありませんでした。

それよりも、
「AIを使えば本当にゲームを作れるのか、とりあえず試してみたい」
という気持ちの方が強かったです。

Unityを選んで正解だったのかは、今でも分からない

ゲーム制作を進めている今でも、

正直なところ、
Unityを選んで良かったのか、別のゲームエンジンの方が良かったのかは分かりません。

もし最初にGodotを選んでいたら、
そちらでも同じようにゲームを作れていたかもしれません。

Unreal Engineを選んでいたら、
また違うゲームになっていたかもしれません。

でも、ゲーム制作未経験だった自分にとって、最初の段階で重要だったのは、
完璧な開発環境を選ぶことではなく、実際に始めることだったのだと思います。

「Unityで本当にゲームを作れるのか?」
「AIに聞きながら進めれば、自分でもできるのか?」

そんなワクワク感のまま、細かいことはあまり考えず、
どんどん作業を進めていきました。


無料でゲーム開発を始められることに驚いた

そして、最初にかなり驚いたのが、
ゲーム制作を無料で始められるということでした。

ゲームを作るというと、専用の高価なソフトや、
プロ向けの特殊な開発環境が必要なのでは?

というイメージがありました。

ところが、

Unityをインストールして、新しいプロジェクトを作れば、
とりあえずゲーム開発を始めることができます。

もちろん、最終的にゲームを販売したり、
素材や音楽を購入したりすれば費用は発生します。

それでも、「まず自分でゲームを作ってみる」ところまでは、
かなり低いハードルで始められる。

これはかなり意外でした。

機械設計の場合、何か新しい設備を作ろうと思えば、
材料、加工、部品、工具、CADソフトなど、どうしても実物のお金が必要になります。

それと比べると、パソコン一台あれば、ゲームの世界では何度でも試作できる。

この違いも、ゲーム制作を進めていて面白いと感じた部分です。

では、Codexとは何なのか?

次に出てくるのが、Codexです。

私自身、ゲーム制作を始めるまで、
Codexを本格的に使ったことはありませんでした。

簡単にいうとCodexは、
プログラムを作ったり、修正したりするAIです。

例えば、

はじめ
はじめ

Unityの2Dゲームで、ワークを右方向へ動かす機能を作って

と指示すると、必要なコードを考えてくれます。

さらに、既存のゲームプロジェクトを読みながら、

  • 新しい機能を追加する
  • バグを直す
  • コードを整理する
  • 複数ファイルを修正する
  • テストする

といった作業もできます。


「ChatGPT」と「Codex」はどう使い分ける?

ここは最初かなり分かりづらかった部分です。

今回のゲーム開発では、

ざっくり次のように使い分けることにしました。

ChatGPT

何を作るかを考える

例えば、

  • ゲーム企画
  • ゲームルール
  • 設備の種類
  • UIの考え方
  • コスト設定
  • ゲームバランス
  • 次に何を実装するか

といった部分です。


Codex

実際にプログラムを作る

例えば、

  • コンベアのコード
  • ワーク生成
  • 加工機
  • ストッパ
  • 試運転
  • UI
  • リセット処理

など。

イメージとしては、

  • 自分=ゲームディレクター
  • ChatGPT=相談役・設計支援
  • Codex=プログラマー

という形です。

この役割分担は、ゲーム開発経験のない自分にはかなり分かりやすいものでした。


Codexに全部任せればゲームが完成する?

ここで一つ重要なのが、AIに全部任せれば完成するわけではないということです。

例えばCodexに、

工場ゲームを完成させて

とだけ指示しても、

自分が考えているゲームになるとは限りません。

そもそも、

  • 何を面白いとするのか
  • どんなルールにするのか
  • どんな設備を使うのか
  • クリア条件をどうするのか
  • プレイヤーに何を考えさせるのか

といった部分は、自分で決めなければいけません。
実際の機械設計でも、CADが勝手に設備を設計してくれるわけではありません。

CADはあくまで、設計するための道具です。
今回のAIも、それに近いと思っています。


一番しっくりきたのは「ディレクターとプログラマー」

AIとの相談の中で、

一番分かりやすかった表現がこれでした。

あなたがディレクター、Codexがプログラマー

例えば、

「コンベア上をワークが流れるようにしたい」

という仕様を自分が決める。

するとCodexが、

そのためのコードを作る。

実際にUnityで動かす。

うまくいかなければ、

「ワークが止まってしまう」

「複数ワークが重なってしまう」

などの問題をCodexに伝える。

Codexが修正する。

これを繰り返していきます。

つまり、

指示 → 実装 → 試運転 → 修正

です。

これも機械設計の仕事と少し似ています。


今回のゲームはCodexと相性が良さそう

今回作ろうとしているゲームは、

工場の生産ラインをテーマにしています。

例えば、

  • コンベア速度
  • ワークの間隔
  • 加工時間
  • ストッパの開閉時間
  • 設備能力
  • コスト

など、ルールや数値で表現できる要素が多くあります。

こういったゲームは、比較的AIに仕様を伝えやすいです。

例えば、

加工機にワークが入ったら2秒間停止させる。
加工完了後にワークを排出する。
加工中は次のワークを入れない。

というように、

条件を具体的に書けます。

これは、「なんとなく面白いアクションゲームを作って」とお願いするより、
AIにとってかなり理解しやすいはずです。

この点でも、工場パズル×AI開発は相性が良さそうだと感じました。


最初から3Dにはしない

ゲーム企画を考えていると、どうしても欲が出ます。

せっかく工場ゲームを作るなら、

  • リアルな3D設備にしたい。
  • コンベアを立体的にしたい。
  • ロボットも動かしたい。
  • 機械もリアルに表現したい。

でも今回は、最初は2Dで作ることにしました。

理由はシンプルです。完成させるためです。

ゲーム開発未経験なのに、

  • いきなり3Dモデル
  • カメラ操作
  • ライティング
  • アニメーション

3D物理演算まで始めたら、ゲームそのものを作る前に挫折する可能性があります。

それより、

  • まず四角形でもいい。
  • コンベアも長方形でいい。
  • ワークも青い四角でいい。

最初に作るべきなのは、「ゲームとして動く仕組み」です。

見た目はあとから改善できます。

この考え方は、機械設計でいう構想設計にかなり近いと思います。

最初から細かい部品形状を作り込むのではなく、
まず、「この構成で成立するのか?」を確認する。
ゲームでも同じように進めることにしました。


最初に目指すものは、たったこれだけ

ここまでいろいろ調べましたが、
最初から工場ゲームを完成させる必要はありません。

まず目標にしたのは、ものすごく単純なものです。

画面に、ワークを表す四角形を置く。
その下に、コンベアを表す長方形を置く。
そして、再生ボタンを押す。
すると、四角形が右に動く。

まずはこれだけです。

見た目だけなら、
ゲームと呼べるようなものではありません。

でも、何もなかった状態から、自分が指示した物体が実際に動く。
ここが今回のゲーム開発における、最初の大きな一歩になります。


UnityとCodexを組み合わせて開発する


この段階で、今回使う開発環境の方向性が決まりました。

ゲームエンジン

Unity

ゲーム画面やオブジェクトを管理する。

プログラム開発

Codex

Unityで使用するコードの作成・修正を担当。

企画・仕様検討

ChatGPT+自分

何を作るか、どういうゲームにするかを考える。

この3つを組み合わせながら、

ゲームを作っていきます。


unityとCodexの導入

ゲームの方向性は決まりました。

使うソフトも決まりました。

Codexでコードを書いてもらえることも分かりました。

しかし、この時点ではまだ、Unityすらパソコンに入っていません。

プロジェクトもありません。

ゲーム画面もありません。

コードもありません。

完全にゼロです。

ということで、

次はいよいよ、

実際に開発環境を作ります。

Unity Hubをインストールする。

最初の2Dプロジェクトを作る。

CodexからそのUnityプロジェクトを開く。

そして、AIに最初のプログラムを書いてもらう。

果たして、UnityもCodexも使ったことがない機械設計者が、
本当にゲームを動かすことができるのでしょうか。

次回は、

【第4回】UnityとCodexを導入して、初めてゲームを動かしてみる

ところから始めます。


コメント

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