【初心者】1か月で3Dゲーム制作に挑戦|Unreal Engineをインストールして2日で作れたもの

Unreal Engine初心者が1か月で3Dゲーム制作に挑戦。2日目時点の開発画面と戦闘・UI・採取フェーズのプロトタイプ ゲーム開発

はじめに

鉄は熱いうちに打てという。

ゲーム開発に興味はあったものの、
「いつかやろう」
で終わっていた自分が、
ついに勢いでUnreal Engineをインストールしました。

個人開発で数億円売れたゲームの話を見て、
嫉妬というか、憧れというか、
「自分も作ってみたい」
という気持ちが一気に爆発してしまい完全に衝動で行動しました。

ただ、せっかくやるなら記録も残しておこうと思います

Unreal Engineをインストールして、
「で、何したらいいの?」
と止まる人も多いと思いますので、
初心者が最初の2日で何をしたのか、
どこまで作れたのかを書くので是非参考にしてください・

今回は、
1か月で3Dゲーム制作に挑戦する企画の、
2日目時点の経過報告です。


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

前回の記事でも少し記載しましたが、
今回作ろうとしているのは、

  • 三人称視点の3Dアクション
  • ソウルライク寄りの戦闘
  • Wave制
  • 戦闘の合間に採取フェーズ
  • ハーブ・鉄・お金を集めて強化

という感じのゲーム。

直近で遊んでいたゲームが、
ソウルライクとTD系だったので、
かなり影響を受けています。

1か月制作なので、
細かい作り込みよりも、
まずは「ゲームの流れ」を完成させることを優先する方針です。


Unreal Engineを触って最初に驚いたこと

まず驚いたのが、
最初からかなり“ゲーム”だったこと。

三人称テンプレートを選ぶだけで、

  • キャラクター移動
  • ジャンプ
  • カメラ操作

がすでに完成しています。

最初にキャラを動かした瞬間、
かなり感動しました。

「これ、このままオブジェクト並べるだけでゲームになるのでは?」

と思いました。

Only Up!みたいなゲームなら、
かなり早い段階で形にできそうと思いました。


Blueprintが思った以上に強かった

個人的にかなり大きかったのがBlueprint。

初めて見る人や、
少しプログラミングを触ったことがある人ほど、
「結局コードを書くんでしょ?」
と思うかもしれません。

自分もそんな印象でした。

ただ実際に触ると、
かなり試行錯誤しやすくて
ノードをつないで処理を作っていくので、
「何をしているか」が初心者でも追いやすい印象です。

もちろん簡単ではないですが。

ノードの順番を変えただけで急に動かなくなったり、
逆に「なんでこれで直った?」
みたいなことも普通にありました。

ただ、
試しながら動かしていけるので、
かなりモチベは維持しやすく感じます。

体感としては、
今回の開発速度にかなり貢献していると思います。


つまずいたところもあった

まだ2日目ですが、
細かくつまずいたところもあります。

まず少し引っかかったのが、
クラス参照とオブジェクト参照。

当然知っているのですが
ただ、Blueprintで出てくると、お恥ずかしながら

「この違いって何だっけ?」

となりました。

直接コードを書く開発と、
Blueprintでノードをつないでいく開発が、
自分の中でうまくリンクしていなかったのだと思います。

調べて1行読んだ瞬間、

「なんでこれがわからなかったんだ」

となりました。

こういうところは、
プログラミング経験が少しある人ほど逆に引っかかるかもしれない。

あとはデバッグ。

コードを書く開発なら、
ブレイクポイントを置いて、
1ステップずつ動かして、
変数の中身を見る、
という流れがあって私はよくします。

しかし、Blueprintではそのあたりのやり方がまだよくわかっていないです。

今のところ大きく困ってはいないので、
それがBlueprintがよくできているからなのか、
単純にまだ難しい処理をしていないからなのかはわからないです。

今のところそこまで難しいところはないと感じています。

ただ、敵キャラを追加しているときに、
最初はお試しだし継承させずにコピペと考えていましたが、

「最初から親クラスを作って、そこから子クラスを作ればよかった」

と面倒に思ったとき、

作りかけのBlueprintをあとから子クラスにする方法がすぐにはわからず、
結局一から子クラスを作り直しました

プログラムなら、
少しソースを書き換えれば済みそうなところだったので、
ここは少し面倒に感じました。


思ったより開発が進んだ理由

正直、
もっと苦戦すると思っていました。

もちろん、
まだ簡単な部分しか触っていないのもあります。

ただ、
今のところは、

「調べたらわかる」

ことがかなり多いです。

特にBlueprintは、
ノードをつなぐだけで型変換を補完してくれることもあり、
かなり親切。

視覚的にもわかりやすく、

  • 処理の流れ
  • データの動き
  • 関数の入力と出力

が追いやすいと感じます。

しかも、
処理ごとにカプセル化されているので、
あとから見返したときに、
「何をやっているか」
の概要が理解しやすい気がする。

少なくとも現時点では、
コードを書くより、
かなり試行錯誤しやすい印象があります。


一番難しいのは「我慢」かもしれない

今回かなり意識しているのが、
「細部を後回しにする」
こと。

例えば、

  • UIが気持ち悪い
  • モーションがない
  • 当たり判定が雑
  • エフェクトもない

みたいな部分は大量にあります。

正直かなり気になるし覚えてるうちに修正したい。

でも、
そこを触り始めると、
永遠に完成しない気がします。

なので今は、

「とりあえずゲームの流れを完成させる」

ことを優先です。

この“雑な状態を我慢する”のが意外と難しいです。

つい細部を触りたくなります。


とりあえず最初にやったこと

まずは最新版のUE5をインストール。

当時は5.7.4です。

Gitのようなバージョン管理は今回は使っていません。

1か月チャレンジということもあり、
まずは「作ること」を優先しました。

その後、
三人称テンプレートで新規プロジェクトを作成。

ここから、
「どんなゲームを作るか」
を考え始めました。


2日で実装できたもの

キャラクター操作

  • 移動
  • ジャンプ
  • カメラ操作

これは三人称テンプレートに最初から入っています

正直、
最初からここまで動くのはかなり感動ものです。


敵AI

とりあえず、
敵がプレイヤーを追いかけるようにしました。

さらに、
一定距離まで近づいたら攻撃。

攻撃にはDelayを入れて、
連続ヒットしすぎないようにもしています。

モーションもエフェクトもないので
「戦闘している感」は一切なく楽しくないです。
当たり判定もまともにしてなので浮いちゃってます。

システムを作ることが優先なので我慢。


プレイヤー攻撃とHP

プレイヤー側には、
前方方向に当たり判定を出して攻撃できるようにしました。

こちらもモーションはまだないです。

敵側にもHPを作成しダメージを与えて、
撃破できるところまでは実装できました。

プレイヤー側にもゲームオーバー用にHPを実装しました。
現時点ではゲームオーバー処理は未作成です。


Wave制

敵を全滅すると、
採取フェーズを挟んで次のWaveへ進むようにしました。

計画通りWave5までは実装済み。

HPと大きさ差分しかありませんが
敵種類やボス、複数戦闘を追加しています。

戦闘っぽさは全くないですが、
少しゲームに近づいたような気がします。


採取フェーズ

今回のゲームでやりたかったのが、
戦闘だけではなく、
採取フェーズを挟むこと。

戦闘Waveとは別に、
制限時間付きの採取フェーズを作成しました。

採取できる資源は、

  • ハーブ
  • お金

の3種類。正直適当です。

まだ仮実装ではあるが、

「採取 → 戦闘 → 採取」

というゲームの基本ループは、
できたというイメージになります。


UI

左上に簡単なUIも追加。

現在は、

  • HP
  • Wave
  • フェーズ
  • リソース

を表示しています。

UIを置くと、急に“ゲーム感”が増しますよね。


今一番怖いこと

今のところ、
Blueprintや基本システムではそこまで苦戦していない。

むしろ、
思ったより作れていて順調です。

ただ、
本当に大変なのはここからだと思う。

3Dゲームなので、

  • アニメーション
  • モーション
  • グラフィック
  • 演出

など、
見た目側の作業がかなり重そうです。

そして何より怖いのことが、

「ちゃんと最後まで作り切れるのか」

さらにその先、
私が本当に商用レベルの作品をいつか作ることができるのか。

今はまだ、
勢いとモチベで走っている段階です。

1か月後、
どうなっているのかは自分でもわかりません。


2日触って思ったこと

まだ完成にはほど遠いです。

敵AIも単純だし、
モーションもないし、
UIも仮。

ただ、
「ゲームの流れ」はかなり見えています。

そして何より、
Unreal Engineは思ったより
“ゲームができていく感覚”
が強いです。

特にBlueprintは、
今回の開発速度にかなり貢献していると思います。


今のところはかなり楽しいです。


次回やりたいこと

次は、

  • 強化システム
  • スタミナ
  • 回避
  • モーション
  • ボス
  • UI改善

あたりを進めたいと思っています。

ちゃんとゲームになるのか、
まだ自分でもわからないですが、今度こそ最後までやり遂げたいです。


関連記事

👉 前回:
【初心者】Unreal Engineをインストールして1か月で3Dゲーム制作に挑戦|社会人でも作れるのか試してみる

コメント