AI avatar 000(準備中)
photonを用いた通信協力アクションゲームです。「メタバース」をモチーフに各ステージを進みながらメタバースの世界を目指す2人協力モードのゲームです。
PR映像
タイトル
・「AIアバター000」(読み:えーあいあばたーまるまるまる)
製作期間
・約4か月
開発環境
・ゲームエンジン: Unity 2021.3.2f1
・開発言語: C#
起動プラットフォーム
・Windows10
担当
・企画制作、プログラム、動画撮影
(photonサーバーへのプログラムは別担当の者です。公開プログラムソースGitHubでは取り除いています。)
プレイ
・「メタバース」をモチーフに、我々が操る仮想空間上のプレイヤーアバターの冒険を描いています。 2人対応通信ゲ―ムです。それぞれが操作するプレイヤーアバターは性能が異なります。
目指し
・「メタバース」世界を目指して、各ポイントでギミックを潜り抜けアイテムを獲得すること。
ポイント
・協力が必要な場面があります。性能の違いが相方を助ける重要なポイントです。
制作動機
注目ワード「メタバース」に関心を向けてもらう為です。
昨今、VRゲームが盛り上がってきた中で「メタバース」という単語が広まり出しています。未だ概要など定まっていない概念的なものですが、私たちはインターネットを介して人と人とが繋がること、またその場(仮想空間ともいわれます)がメタバースと捉えました。
それを踏まえて、世の人がメタバースを「難しい・意味不明」と捉え、関心が薄れてしまう前に、メタバースが作られる裏工程を楽しく体験してもらえればと考え作りました。
因みに!……裏工程とは。
我々が仮想空間上で人と繋がる為には、その空間専用の自分を作らなければなりません。それを「プレイヤーアバター」と呼んでおきます。数々のゲームをしてきた方なら、プレイヤーアバタ―の姿をカスタム出来るのは周知のこと。このゲームではプレイヤーアバターが我々の画面に用意されるまでの、ちょっとしたトラブルから復帰する冒険を描いています。
困難・工夫した点
自分にとっての新技術を使おうと考えていたので、その部分を紹介します。
ジャンプや箱の移動をする接触範囲を「ContactFilter2D」を使用して接地判定を取りました。
使用するにあたる経緯としては、箱の移動に際して以下の難点が出たからです。
①単純にColliderを使用した判定方法では↓
❶箱の上に乗った状態でも移動可能にされてしまう
《画像》
②移動可能にする接触範囲を特定の部分にのみにしたいので、Boxcolliderコンポーネントを複数追加すると↓
❷処理負荷を考慮していないので、FPSに差が出てしまう
《画像》
③②の場合にプログラム内で接触判定の関数が分かりにくくなりやすいので↓
❸判定処理を重ねていった時に、不具合(正常な動きをしない・思わぬ所でも処理される)の対処に時間が掛かってしまう。
《画像》
以上の難点を踏み越えたうえで「ContactFilter2D」を使用する利点が、
・コンポーネントの追加が不要!
・プログラム内及びインスペクター上で特定の範囲を数値で設定可能!
・bool値で簡略化させているので、どの関数内でも見返しやすい!
・箱オブジェクトへの追加設定がない!
となることが分かりました。
ちなみに、ジャンプ処理にも使用した理由は「接地判定をとる処理の仕方は統一させた方が見やすく、括りやすい」という楽ちんさを考えたからです。
導入未定部分
・ゲーム内のBGM及びSE
Unity本体
スクリプト