テラシュールブログ

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

【Unity】一週間ゲームジャムに参加しました メイクングオブ ころころボンボン

メイクングメイキング。

今回も一週間ゲームジャム(#unity1week)に参加してみました。

作ったゲームはこんな感じです。

f:id:tsubaki_t1:20170531230608g:plain

コロコロボンボン | ゲーム投稿サイト unityroom

 

一週間ゲームジャム

一週間ゲームジャムは、一週間の空いた時間を使用してゲームを作るイベントです。
詳細についてはこちら。

tsubakit1.hateblo.jp

なんと登録された作品は前作の倍の134…いや、136…、と思いきや140…と思ったら148…

で、先程確認したら151作品152作品でした。実際凄い。

f:id:tsubaki_t1:20170531230829j:plain

 

下のURLから全て無料でプレイ出来る他、幾つかのゲームのメイキングも見れます。

Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom

 

一時はTwitterハッシュタグがトレンド入りしたという噂もあるので、更に凄い。

さて、何を作ろうか

さて、テーマが転がるな訳ですが、これは中々に難しい問題です。

とりあえず思い浮かぶのは塊魂的な奴や、IQ、XI等のゲームですが、何というかビビっと来ません。

転がるではなく回転なら色々思いついたんですが、ぐぬぬ

www.youtube.com

www.youtube.com

みんな凄い

そうこうしている間に面白そうなゲームが出揃い始め…

い、イカン完全に出遅れた感…!!

 色々考えるがしっくりこない

作るイメージが…降りてこない…!

色々と考えてはみますが、ビビっと来る物が来ません。

 

XIっぽい動きでステルスゲームを作る…?

CUBEで動かすと動きをシームレスじゃなくてターンベースに変更できそうだから、それなりに面白いんじゃないか…?

f:id:tsubaki_t1:20170531232443j:plain

「超巨大な転がる戦車」を作って迫りくるインベーダーを迎撃してもらう?

面白そうではあるけど、イメージしたゲームは操作が複雑すぎ。

f:id:tsubaki_t1:20170531232846j:plain

ラグドールを付けて吹っ飛ばす…?

ゲーム性は兎も角、ラグドールで予測不可能な動きを見るのは面白い…?

f:id:tsubaki_t1:20170531232249j:plain

むむむ…アイディアが、アイディアが降りてこない…!

 

仕方ない、とっておきの策を発動する。

いくぞ、力押しだ!

案ずるより産むが易し作戦

とりあえず「ラグドールを付けてふっ飛ばして坂道を転げ落ちる」案を作って、それから考えてみます。

ラグドール付けたぞ、転がれー!

f:id:tsubaki_t1:20170531234149g:plain

それなりに転がってくれますが、何か足りません。

そうだ、数を増やそう!

f:id:tsubaki_t1:20170531234317g:plain

んんー…思いの外面白くありません。

数が足りない?WebGLではPhysXのマルチスレッドとSIMDによる最適化が効きにくかったハズなので、ラグドールを増やすのは出来ればやりたくない…

 

このネタは駄目かな…?いや、何か、何か良いアイディアが…

 

 ジャンプ…コロコロ…

ジャンプ…コロコロ…

ジャンプ…コロコロ…ボンボン

 ジャンプ…コロコロ…ボンボン!!!

そうだ、転がってきた奴を爆発させよう。

f:id:tsubaki_t1:20170601000830j:plain

作ってみよう

早速作ってみます。

その綺麗な球をふっ飛ばしてやる

とりあえずゲーム内容は決まったので、次に方向性を考えます。

撃つという考えで行くと、二つの方向性が考えられます。

  • 正確に撃ち抜く
  • 大量にばら撒く

前者はスナイパー的な感じで、狙い撃つぜ…という感じです。成功した時の演出が重要になりそうです。後者はガトリングガンで弾をばら撒く感じ。

元々は前者で、倒した対象が爆発して周囲の敵を巻き込む…という感じを考えてましたが、レーザーで直線状を同時キルするほうが好みだったので、そちらを採用。

 

プチプチやクッキー割りのようにクリックするだけで面白いを目指します。

f:id:tsubaki_t1:20170601004333j:plain

リスキルは基本…は避けたい

ここで問題になったのが、敵が生成されるポイントを撃ちまくるのが最強という問題です。基本的にこのゲームは上から的が転がってくるので、上を撃ち続けていれば楽が出来ます。

確かに楽は楽なんですが、同時キル数が面白いゲームを目指しているので、それを体感出来ないプレイは極力排除したいです。

f:id:tsubaki_t1:20170601004528j:plain

対策に動く障害物や殺してはいけない的等も考えましたが、色々考えて撃たなければいけなくなるので、クリック時の爽快感が減りそうです。

で、色々と考えましたが、とりあえず画面外で殺されなければ良いやという、割と微妙な対応にしました。上に壁を置いて対応終了です。

f:id:tsubaki_t1:20170601005247j:plain

死んだらコインをばら撒け演出

このゲームは前作と違い「キル」をいかにして気持ちよくするか…という事が重要になります。なので、殺した時に色々とジャジャラする事だけを考えます。

 

基本的に撃てば当たるので、特に気にせず画面を盛大に汚します。

 

ここでは二種類のパーティクルを使用しています。

一つ目は手前のコイン、二つ目は倒した敵と同じ色の弾です。飛ばす方向はレーザーの向きを元に決めてましたが、面倒なので一律右に飛ばすようにしました。

f:id:tsubaki_t1:20170601005920g:plain

狙う先を汚しても良いので、コインはコインと分かるように的の手前に配置します。ただ、そのままだとキャラクターの上にかぶさりすぎるので、実はコインの当たり判定は階段の少し右にあります。

またコインの動きはパーティクルのCollisionで動いています。Spriteを大量に配置するよりも安いですし、何よりUnity 5.6でかなり高速化された機能だったとと思うのでとりあえず使ってみようかな的な。

f:id:tsubaki_t1:20170601010303j:plain

ちなみにコインのパーティクルは、一つのParticleSystemに場所指定してEmitで生成しています。この方がメモリ的にもCPU的にも優しいです。

レンダリング負荷的には(Simulation SpaceがWorldになってなければ)Bounceが予測出来てカリングが聞くObjectPoolingの方が良さそうですが、今回はカリングなにそれ美味しいの状態なのでEmitでやったほうが圧倒的に安いです。

http://cdn-ak.f.st-hatena.com/images/fotolife/t/tsubaki_t1/20160428/20160428021143.png

それと、同時キル数に応じてコインの正整数を動的に設定できるというメリットもあります。これは、Twitterの感想で気づいて設定したんですが、かなり良いです。

 実はそれ以外は特に最適化は殆どしていません。最低限の構造でオブジェクト生成コストはかなり安いので、それで何とかなってます。GCが偶に来ますが、まぁゲームジャムです。

スコアを増えたら数値が増えるよ!をちゃんとアピール

数字が増える事は非常に重要です。今回のゲームではユーザーにとってゲームが進行した事を示す物がスコアしか無いので、スコアはちゃんと強調します。

f:id:tsubaki_t1:20170601011151g:plain

やってる事はログと、変化が合ったときに一気に変化しないという点です。あと拡縮とか。

上の数値は殆ど動きっぱなしなので、実は別Canvasです。

下のログは、レイアウト構造を使用しています。これは良いスコアが出た時に文字を拡大(強調)表示してもレイアウトを破綻させない為です。

ただ、この大きな文字を表現するためにリッチテキストを使用したんですが、これのせいでUI更新にかなりの負荷が確認されました。
というか、このゲームでカクつく原因はコレでした。

f:id:tsubaki_t1:20170601012013j:plain

まぁ、ゲームジャムですし、モバイルでもそれなりにフレーム出てるので良しとします。クリック時に負荷が上がる程度。

色々あって完成

その後も、まぁ色々あって完成です。

ゲームは下のURLからプレイ出来ます。WebGLなので、Firefox推奨、Chromeは動きます。

コロコロボンボン | ゲーム投稿サイト unityroom

 

f:id:tsubaki_t1:20170601013027j:plain

良ければ評価や感想を残してもらえると嬉しいです。*1

 

一応Touch対応したので、モバイル(Firefox x Android)でも動くには動きます。

 

そして、イベントが終わった後にアイディアが出るっていうね。

まぁ、ロスタイムで結構みんなゲームを出してますし…ちょっと作るくらいは(ゴクリ

宣伝

せっかくなのでntny氏と一緒に #unity1week に上がってるゲームをプレイする配信します。どのゲームをプレイするかは、その場のノリで。

関連

tsubakit1.hateblo.jp

tsubakit1.hateblo.jp

 
 
 
 

*1:地味に「評価したゲーム」が未プレイゲーム一覧から外れるのは素晴らしい