【Unityゲーム制作】自作ゲームを教材に制作講座風にリメイクする#1 (Unity1week202102)
自作ゲームを教材に、ゲーム制作の流れを眺める企画。
ということで、ほぼ思い付きですがやっていきましょう。
こんにちは、M橋です。
自分の制作の流れを振り返るのが目的ですが、
記事を見て頂く方にも有益になるように、
制作講座という形式を目指してみようと企んでいます。*1
1回目となる今回は以下の内容になっています。
- 題材とするゲームについて軽く概要を掴む
- 全体の制作の流れを決める
※今回はまだ制作の中身には入りません。
ゲームの概要
投稿したゲームについてはこちらの記事にリンクを張っています。
これを説明すると次のようになります。
ひたすら落下する球体を、
重力の向きを変えることで障害物を避けつつ、
短い時間でゴールを目指すゲーム
ここから、主要な要素として次のモノが分かります。
- ひたすら落下する球体を
→ 落下する球体がゲームの主人公である
- 重力の向きを変えることで
→ 重力の向きを変えることがプレイヤーの操作である
- 障害物を避けつつ
→ ペナルティを生む障害物がある
(それに触れないように注意することが求められる)
- 短い時間で
→ 時間がゲームの達成度である
- ゴールを目指す
→ 球体がゴールに到達することがゲームの目的(クリア条件)である
1、2、5は、ユーザが何か操作をして、ゲームが何か反応することに関する要素です。
3,4は、ゲームへの達成感やプレイヤーの前に立ちはだかる障害に関する要素です。
次に、これら要素を実現するための流れを次に見ていきます。
※ここに挙げた概要は、次の動画の内容を参考に自分でつけてみました。
www.youtube.com
制作の流れ
上で上げた5つの要素を実現するための作業項目や
取り掛かる順番を確認します。
作業項目
ここで挙げる作業の一部はUnityの標準機能で十分なものもあるので、
全てを自前で準備することにはならないでしょう。
なお、ゲームとしての作りこみ部分*2は省略しています。
- 落下する球体
- 球体を作成する
- 球体が落下する処理を実装する
- ステージとの衝突処理を実装する
- 重力の向きを変える*3
- ステージを作成する
- ステージを回転させる処理を実装する
- プレイヤーの操作を受け付ける処理を実装する
- プレイヤーの操作と、ステージの回転を紐づける
- 障害物
- 障害物を作成する
- 球体との衝突処理を実装する
- 時間
- 時間を計測するタイマーを作成する
- 時間を表示するUIを作成する
- ゴールに到達する
- ゴールを作成する
- 球体がゴールに到達したことを判定する処理を実装する
作業順序
個人的な感覚ですが、小規模のゲームであれば
思い通りに動かせる小さなモノを
徐々に大きくしていくというスタイルが良いように思っています。
大雑把に言えば次のような流れです。
- プレイヤーが操作できるものを作る
- とりあえずクリアできるようにする
- クリアを難しくする障害を作る
- ゲームの達成度の指標を作る
なので、今回だと次のような作業順序を想定しました。
- ステージを作成する
- ステージを回転させる処理を実装する
- プレイヤーの操作を受け付ける処理を実装する
- プレイヤーの操作と、ステージの回転を紐づける
- 球体を作成する
- 球体が落下する処理を実装する
- ステージとの衝突処理を実装する
- ゴールを作成する
- 球体がゴールに到達したことを判定する処理を実装する
- 障害物を作成する
- 球体との衝突処理を実装する
- 時間を計測するタイマーを作成する
- 時間を表示するUIを作成する
この流れで、今回投稿したゲームを作りなおしていきます。
まとめ
今回は概要と流れを掴む内容となったので、ゲーム制作の中身には入りませんでした。
ただ、Unity1Weekに参加する前と今とで、既に考え方の違いを感じています。
参加する前は、出来上がるゲーム画面のイメージからゲームの要素を抽出し、制作の流れを考えていました。
参加した後の現在は、ゲームの説明から要素を抽出し、流れを考えました。
どちらのアプローチが良いのか、或いはどちらもイマイチなのか。
それを、この連載ではっきりさせられればと思います。
次回からは実際にゲームを作っていきます。
それでは、今回はここまで。
お付き合いありがとうございました。