テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

グローバルゲームジャム2016で、NPCに紛れたプレイヤーを見つけ出すゲーム「Creep IN Heresy(邪教に忍び込め!)」を作った話

http://globalgamejam.org/sites/default/files/styles/game_content__wide/public/games/screenshots/screen_shot_2016-02-01_at_19.16.39.png?itok=V2ZijFk8グローバルゲームジャム(GGJ)の八王子会場(東京工科会場、通称TUT)に参加してきました。本当は他の会場に行きたかったけど乗り遅れた…
今回も東京工科会場は人数が多く、なんと8人という大所帯(普通のゲームジャムは3~5人程度。人数が多いと難易度が上ります)でしたが、割と面白い感じのゲームが出来たかなと思います。

GGJ登録作品は最多の6804作品

グローバルゲームジャムも毎年人数が増え続けて、今回は6804作品ものゲームが(少なくともフォーラム上に)登録されました。

ちなみに、6804作品のうち4113作品のゲームがUnity、1314作品のゲームが一覧にないエンジンを使用(もしくは未記入)で、残りの959作品のゲームがGameMaker・UnrealEngine・Construct2の順で分割する感じです。

f:id:tsubaki_t1:20160201231117j:plain

2014年が4294作品(2288作品がUnity)、2015年が5443作品(3067作品がUnity)だったので、2016年のゲームジャムでUnityユーザー大分増えた感じみたいです。

なおTUT会場の食事事情は…

 テーマはRitual

今回のテーマは「Ritual」でした。習慣や儀式、行事といった内容の意味です。

ゲームジャムに登録されたゲームも儀式的なものが多いと思いきや、結構よくわからない物が結構あります。流石はゲームジャムと言わざるを得ない。
他のチームも色々とありましたが、結構面白い作品が色々とあったりします。

例えば、ロボットの挙動を設定して動かす(思った通り動かないのと、間接の動きがシュール)とか、

 豆を投げて鬼を撃退するゲームとか(色が統一されていて綺麗)、

 魚が1:1で戦って、場外に弾き飛ばす対戦ゲームとか、

 お盆をテーマにしたアドベンチャーゲームとか。

この中に一人、プレイヤーがいる

我らが「ムーゲ教*1」が作成したゲーム「Creep IN Heresy(邪教に忍び込め!)」は、ボードゲームに近い多人数参加型のゲームです。
参加者は「攻撃側」「防衛側」に分かれ、防衛側が攻撃側を撃退すれば勝ちとなります。

で、攻撃側ですがNPCに紛れますNPCは画面内に80体居て、「人間が操作している」とバレないように、4つの塔を破壊しお宝を入手します。
プレイヤーの操作は手元が見えないようにゲームパットが基本ですが、キーボードの上下でも動作するようにしてもらいました。

 逆に防衛側は、プレイヤーを見つけて排除します。しかし実際プレイヤーを画面80体の中から見つけるのは困難です。なので、防衛側にはNPCをある程度操作出来るスキルがあります。
下のボタンを押すと、15パターンもある内の3パターンをNPCに強制する事が出来ます。これを連打することで攻撃側の目的達成を妨害すると共に、攻撃側のミスを誘います。

f:id:tsubaki_t1:20160201223345g:plain

こういった機能や、カン、揺さぶり、心理戦(攻撃側はあえて塔の破壊や宝の奪取を遅らせる・防衛側は意図的に見つけたふりをする等)を使い、攻撃側は宝の奪取を、防衛側は攻撃側の排除を行います。
本当は制限時間や演出といった、色々とやりそこねた部分がありますが、まぁゲームジャムなので勘弁してくだしあ。
東京工科会場が「17時閉会式」と書いてあったので17時に終了と思いきやいきなり15時に締め切られたので、色々と予定が狂ったのです。(去年も同じことやった気がする)

操作するプレイヤーを見つける

このゲームは一つのディスプレイでプレイしているので「捜査側はどのキャラを操作しているのか分からない・見失う」と思うのですが、実は意外と自分が誰を操作しているのか把握できます
というのも、どうやら「マウス操作やゲームパッド操作によってコントロールする物は自分の延長と認識」出来るらしく、意外と簡単に自分の操作しているキャラクターが見つけられる他、一度見つけるとキャラクターがゴチャゴチャ居ても見失いません

その辺りの脳の動きをセキュリティに活用したのが以下の研究?で、マウスカーソルを増殖させて「どのボタンを押してるのかわからなくする」セキュリティが提案されています。

www.youtube.com

CursorCamouflage: Multiple Dummy Cursors as A Defense against Shoulder Surfing | Keita Watanabe

逆に、画面分割式のゲームで「他のプレイヤーと同じような動作を行うゲーム(例えばマリオカートのような)」の場合、他の人の画面と自分の画面がゴッチャになって混乱したりするそうです。
また面白いのが、操作になれた状態でカメラを45度傾けると、プレイヤーを操作する側から全く追跡出来なくなるという特性もあるみたいです。つまり、上を押してるのに斜め上に移動するようなケースだと把握できなくなったりします。
こういった動きの慣れや行動予測、脳の働きといった部分は快適なプレイ環境やVRでの酔いといった部分に対して有効に働きそうな気がします。

Creep IN Heresyの公開場所

今回作成したゲームですが、WebGLで公開しています。WebGLが高速で動作するFirefoxでぜひプレイしてみてください。Chromeも動きますがWebGLと比較すると若干微妙なパフォーマンスです。

Unity WebGL Player | GGJ2016TUT_TEAM5

また開発したゲームは以下のリポジトリにてソースコードを公開しています。AssetStoreを使用した部分は取り外してあるので、指定のアセットがプロジェクト内に存在しない場合、不足アセット一覧とパッケージへのリンクを表示してくれる効果が発動するアセットを作成した -で入れ直します。

このゲームは、以下の勇者8人の手によって提供されています。

creep in heresy | Global Game Jam®

いや、今回のゲームは割と例が無かったのでイメージ共有とか大丈夫か心配だったけど、実際ちゃんとできてよかった。

まあ色々とトラブルもありましたが。今回発生した実装のトラブルや解決策、試したコンフリクト起こしたシーンをサクっとマージするアプローチ、絵作り、あと980MBあったゲームのサイズを最終的な出力で18MBまで落とした話とかはまた今度。

*1:チーム名、ゲームの逆読み