2日間のハッカソンにて制作した2人対戦のオンラインアイスブレイクツールです。
オンライン会議前の自己紹介を、ゲーム感覚で行えます。
自己紹介文字を互いに積み上げ、相手のことを知ることができるタワーバトルゲームです。

担当

ゲームデザイン・コーディング・オンライン対戦化 を担当しました。
チームメイトの3名の方には、UI/ロゴの制作、WEBページでの公開とデプロイ作業、
ペルソナの分析やハッカソンにおける発表などを行って頂きました。

制作期間/使用したツールなど

製作期間:2日
制作人数:4人
使用ツール:Unity, PUN2(Photon Unity Networking 2), FlyingText3D, Canva

オンライン2人対戦の様子

オンライン対戦をしている様子です。
文字のオブジェクトの位置情報と自己紹介の入力項目が共有されているのが確認できます。
ハッカソンのメンターの方からは実装面とアイデア面において、大変好評な評価を頂けました。

工夫・苦労した点

◆デザインコンセプト

ハッカソンで与えられた課題は、
・会議や打ち合わせのオンライン化に伴い、営業担当者がアイスブレイクを行いにくくなった。
・アイスブレイクを行えるツールの開発をしてほしい。
というものでした。
インストールや自己紹介カードの入力などの事前準備が不要、かつ3分ほどの短い時間で
気軽に相手の特徴を知ることができ、雑談のネタになるツールを目指しました。

◆Photonを用いたオンライン対戦化

オンラインでのアイスブレイクツールということで、
Photon(Photon Unity Networking 2)を用いてオンライン対戦に対応しました。
また、ウェブブラウザで手軽にプレイできるように、
WebGLで書き出したものをunityroomやGithubPagesなどで公開しました。
ハッカソンの期間自体が2日という短期間だったため、
核となるオンライン対戦化をいかに素早く実装できるか、が重要でした。

◆動的に生成した文字オブジェクトを、Photonで共有する

Photonを用いた同期において、最も苦労したのは
動的に生成した文字オブジェクトの同期です。
Photon では事前にunityの prefabとして用意したオブジェクトは、
標準的な関数を用いて簡単に全てのクライアントで、インスタンス化と位置の同期ができます。
しかし、文字オブジェクトは、入力テキストを参照して生成するため
予め静的なprefabとして用意できず、別途、生成処理と位置同期を行わなければなりません。
この仕様を理解し、実装するのに半日程度費やしました。

◆ルームIDによって、質問項目を変える

メンターさんからのアドバイスで「業種別の質問があれば、なお良い」と
意見をいただいたので、自然に業種別の質問に切り替えられるように、
ルームIDによって、質問項目を変えることができるようにしました。
例えば、ルーム8000では自動車業界への「好きな車種は?」と言った質問が提示されます。

URL

PRも積もれば山となる - フリーゲーム投稿サイト unityroom こちらのリンクからプレイできます。PCのWebブラウザで動作します。

関連記事

【Unity】【PUN2】Photon2でPrefab以外の動的なオブジェクト生成を行う - Qiita


文字オブジェクトの動的な生成についてのコード等をまとめた記事です。