ゲームギミックについて(扉)
肝心なものを忘れていました。ゲームというか、フィールドを仕切るためには、壁が必要です。別フィールドに移動させるためには、扉が必要になります。
前回の記事は下記となります。
シナリオと絡めるのであれば最も重要なギミック
ゲーム上で、扉は重要な要素となります。
今回は、この扉についての話です。
こちらもゲーム制作上では、ギミック扱いになります。
ギミックとは、何かしらに反応して動くというものが当てはまるので、扉などは該当してしまうのです。
勘違いをしていた…。
私は、初めてゲーム会社で勤めたときに、扉はギミック扱いじゃないだろうなーと勝手に思ってた時期がありましたものです。
ゲームの扉
扉は、別フィールドに行くために、実際の扉のような見た目物や魔法陣のようなものがあります。
これは、ゲームの背景、ストーリーなどに関連したものとなっているものが多いです。
扉の効果
![](https://www.ifgameblog.com/wp-content/uploads/2021/08/dave-hoefler-0JWB3-2n-N8-unsplash-e1629816922919.jpg)
効果としては、フィールドの切り替え、フロアの仕切り、ストーリーの進行抑制というこの3つが使われると思います。
魔法の世界では、魔法陣による移動(ダンジョン内の階層移動など)、リアル思考のゲームでは、扉を開けて次のエリアへ移動する形となります。
扉の必要性
扉に関しては、マップを仕切るために重要であり、ゲームのテンポにも影響を与えます。
オープンワールドのゲームのようにすべてのリアルタイムで遅延なく処理が出来ていればいいのですが、次のステージを読むために膨大なデータを読み込み直さなければならない場合には、扉を配置して、ローディングへ移行させます。(イベントとかありますが、扉も切っては切れないものです。)
特にハードの性能によって、区切らなければいけない制限を増やさないといけない場合が多いです。
扉の注意点
![](https://www.ifgameblog.com/wp-content/uploads/2021/08/doors-1767563_640.jpg)
よくある展開の扉としては、閉じ込められたりする場合があると思いますが、その場合、扉の向こうへプレイヤーをいかせないようにしなければなりません。
この場合によくあるパターンを紹介
- 閉まる前に通過
- コリジョンに押し出されて、入っちゃいけない方へ移動
閉まる前に通過
これは、イベント中に『しまった!閉じ込められた!』という展開なら、イベント終了後に扉がしまってても納得できますが、入ったときに閉め始めた場合に、プレイヤーが扉に間に合ってしまう可能性があります。
この場合、進行不能になる場合が多いです。
大抵が閉じ込められたところに複数の敵が現れそれを撃破というのが流れとなるため、その場所に戻らない限りストーリーが進まなくなる可能性があります。
その場所に戻るにしても扉が閉じてしまっているので、戻ることができない状態になります。
コリジョンに押し出されて、入っちゃいけない方へ移動
これは、扉に限るわけではありませんが、コリジョン(当たり判定・障害物)に上手く?当たると、侵入できない場所に入る可能性があります。
コリジョンについては、別記事にまた書きますが、良くあるのが、コリジョンとコリジョンの間の隙間でプレイヤーが暴れるとコリジョンを抜ける可能性があります。
これをよくいう『コリ抜け』と呼ばれるものとなります。
扉はどのように設置を考えればいいのか?
![](https://www.ifgameblog.com/wp-content/uploads/2021/08/eugenio-mazzone-6ywyo2qtaZ8-unsplash-1.jpg)
上記2点のバグに対して、通常の作りとしては、ストーリーとの絡みが強いものは、強制的に扉にコリジョンを表示させてしまうのが、手です。
どういうことかというと、リアルで判定をとる場合、扉が開閉状態の位置に合わせて扉を触れることができます。(例えば、斜め45度まで開閉していたら、その角度の扉に阻まれるとはずです)
![](https://www.ifgameblog.com/wp-content/uploads/2021/08/mon.jpg)
赤 = 扉 緑 = 移動方法 青 = プレイヤー
この扉の判定自体は、生かした状態にして、開閉時の扉の動き中に抜けようとするキャラクターを扉全体を覆うコリジョンを表示させて、入れない状態にするのがいいでしょう。
扉のコリ抜けに関しては、角を作らないというのが重要となります。(こちらもコリジョン編でちょっと話をしようかと思います。)
![](https://www.ifgameblog.com/wp-content/uploads/2021/08/mon2-1.jpg)
赤 = 扉 緑 = 移動方法 青 = プレイヤー 黄 = 見えない壁(コリジョン)
紫 = 扉の最大開き位置
扉の動き
扉といっても、観音開き、引き戸、押戸、上下開閉、と色々あると思います。
こちらに関しては、そのゲームの世界観に合わせた開閉方法を実装していけばいいと思います。
また、開閉の動きをさせる際に、モーションデータを組み込むという手もありますが、扉の大きさの何か目印になるデータを持たせておき、その分移動させるなど、モーションを組み込ませなくても、開閉アクションを行わせることはできます。
ギミックの認識
![](https://www.ifgameblog.com/wp-content/uploads/2021/08/alexander-tsang-_frvdyMH6S0-unsplash-e1629816905572.jpg)
これも後出し情報になってしまいますが、ギミックに関しては、特別なところで管理した方が良いです。フィールド内に無数にあるオブジェクトの一つという扱いでもいいのですが、フィールドは広大になりがちなので、ギミックだけを集めたデータなどを作っておくと、確認や調整がしやすくなります。
コメント