【Unity】一週間ゲームジャムに参加しました メイクングオブ ころころボンボン
メイクングメイキング。
今回も一週間ゲームジャム(#unity1week)に参加してみました。
作ったゲームはこんな感じです。
一週間ゲームジャム
一週間ゲームジャムは、一週間の空いた時間を使用してゲームを作るイベントです。
詳細についてはこちら。
なんと登録された作品は前作の倍の134…いや、136…、と思いきや140…と思ったら148…
で、先程確認したら151作品152作品でした。実際凄い。
下のURLから全て無料でプレイ出来る他、幾つかのゲームのメイキングも見れます。
Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom
一時はTwitterのハッシュタグがトレンド入りしたという噂もあるので、更に凄い。
さて、何を作ろうか
さて、テーマが転がるな訳ですが、これは中々に難しい問題です。
とりあえず思い浮かぶのは塊魂的な奴や、IQ、XI等のゲームですが、何というかビビっと来ません。
転がるではなく回転なら色々思いついたんですが、ぐぬぬ
みんな凄い
そうこうしている間に面白そうなゲームが出揃い始め…
い、イカン完全に出遅れた感…!!
進捗。残り時間あまりないし、ここまでにしとこう。 #unity1week pic.twitter.com/c7lVaYN5E8
— tsubasa (@twobartha) 2017年5月25日
#unity1week
— 浦城洋 (@Hiroshi_ura_ki) 2017年5月24日
スキルが無いのでUnityチュートリアルを改造することに決めた
ボールとモーションをBlenderで作った
カメラの動きとゴール設定はスクリプト
やユ天(やっぱりユニティちゃんは天使 pic.twitter.com/7YwmFisBtO
3日目終了です!
— ぽに@アプリ開発 (@PonixNews) 2017年5月24日
基礎的な実装はできました。
あとはUIやボリューム整えるのと、ランキング&対戦ができるようになれば遊べると思います('ω')!!
日曜まで同じタグの方、頑張りましょう(*'ω'*)!#Unity1week pic.twitter.com/HuhSfzfbxD
プレイヤーの移動とカメラ。移動:抗力で回転が加速しすぎないように。 カメラ:いずれかの面がカメラと良い感じに水平になるように #unity1week pic.twitter.com/yyuRTW4G5H
— Syo_S (@Syo_St) 2017年5月25日
・タイトル決めた
— サカイマサミー (@Masami_TheWorld) 2017年5月26日
・ローカルハイスコア表示
・セーブデータ対応
ロゴは後出しスタイルで#unity1week #unity3d pic.twitter.com/o8ZW4EFMpC
転がるっつったらコレw#unity1week pic.twitter.com/ayhsAEazJq
— 足痛い星人 (@YO1KOMORI) 2017年5月26日
傘の上でミカンを転がして、ダンボールまで運ぶゲーム。これからステージを作る。#unity1week pic.twitter.com/wMT0Fzcto5
— きり (@KiliWare) 2017年5月26日
取り敢えず、遊べる所までいった!
— 青木そらす (@open_sorasu) 2017年5月26日
もう、でんぐり返りとは言えないので「まわし」にしました
#unity1week pic.twitter.com/kPIfssQhDU
色々考えるがしっくりこない
作るイメージが…降りてこない…!
色々と考えてはみますが、ビビっと来る物が来ません。
XIっぽい動きでステルスゲームを作る…?
CUBEで動かすと動きをシームレスじゃなくてターンベースに変更できそうだから、それなりに面白いんじゃないか…?
「超巨大な転がる戦車」を作って迫りくるインベーダーを迎撃してもらう?
面白そうではあるけど、イメージしたゲームは操作が複雑すぎ。
ラグドールを付けて吹っ飛ばす…?
ゲーム性は兎も角、ラグドールで予測不可能な動きを見るのは面白い…?
むむむ…アイディアが、アイディアが降りてこない…!
仕方ない、とっておきの策を発動する。
いくぞ、力押しだ!
案ずるより産むが易し作戦
とりあえず「ラグドールを付けてふっ飛ばして坂道を転げ落ちる」案を作って、それから考えてみます。
ラグドール付けたぞ、転がれー!
それなりに転がってくれますが、何か足りません。
そうだ、数を増やそう!
んんー…思いの外面白くありません。
数が足りない?WebGLではPhysXのマルチスレッドとSIMDによる最適化が効きにくかったハズなので、ラグドールを増やすのは出来ればやりたくない…
このネタは駄目かな…?いや、何か、何か良いアイディアが…
跳ねる→ジャンプ
— トモぞヴP (@kamiposo) 2017年5月23日
転がる→コロコロ
まさか…! #unity1week
ジャンプ…コロコロ…
ジャンプ…コロコロ…
ジャンプ…コロコロ…ボンボン
ジャンプ…コロコロ…ボンボン!!!
そうだ、転がってきた奴を爆発させよう。
作ってみよう
早速作ってみます。
その綺麗な球をふっ飛ばしてやる
とりあえずゲーム内容は決まったので、次に方向性を考えます。
撃つという考えで行くと、二つの方向性が考えられます。
- 正確に撃ち抜く
- 大量にばら撒く
前者はスナイパー的な感じで、狙い撃つぜ…という感じです。成功した時の演出が重要になりそうです。後者はガトリングガンで弾をばら撒く感じ。
元々は前者で、倒した対象が爆発して周囲の敵を巻き込む…という感じを考えてましたが、レーザーで直線状を同時キルするほうが好みだったので、そちらを採用。
プチプチやクッキー割りのようにクリックするだけで面白いを目指します。
リスキルは基本…は避けたい
ここで問題になったのが、敵が生成されるポイントを撃ちまくるのが最強という問題です。基本的にこのゲームは上から的が転がってくるので、上を撃ち続けていれば楽が出来ます。
確かに楽は楽なんですが、同時キル数が面白いゲームを目指しているので、それを体感出来ないプレイは極力排除したいです。
対策に動く障害物や殺してはいけない的等も考えましたが、色々考えて撃たなければいけなくなるので、クリック時の爽快感が減りそうです。
で、色々と考えましたが、とりあえず画面外で殺されなければ良いやという、割と微妙な対応にしました。上に壁を置いて対応終了です。
死んだらコインをばら撒け演出
このゲームは前作と違い「キル」をいかにして気持ちよくするか…という事が重要になります。なので、殺した時に色々とジャジャラする事だけを考えます。
基本的に撃てば当たるので、特に気にせず画面を盛大に汚します。
ここでは二種類のパーティクルを使用しています。
一つ目は手前のコイン、二つ目は倒した敵と同じ色の弾です。飛ばす方向はレーザーの向きを元に決めてましたが、面倒なので一律右に飛ばすようにしました。
狙う先を汚しても良いので、コインはコインと分かるように的の手前に配置します。ただ、そのままだとキャラクターの上にかぶさりすぎるので、実はコインの当たり判定は階段の少し右にあります。
またコインの動きはパーティクルのCollisionで動いています。Spriteを大量に配置するよりも安いですし、何よりUnity 5.6でかなり高速化された機能だったとと思うのでとりあえず使ってみようかな的な。
ちなみにコインのパーティクルは、一つのParticleSystemに場所指定してEmitで生成しています。この方がメモリ的にもCPU的にも優しいです。
レンダリング負荷的には(Simulation SpaceがWorldになってなければ)Bounceが予測出来てカリングが聞くObjectPoolingの方が良さそうですが、今回はカリングなにそれ美味しいの状態なのでEmitでやったほうが圧倒的に安いです。
それと、同時キル数に応じてコインの正整数を動的に設定できるというメリットもあります。これは、Twitterの感想で気づいて設定したんですが、かなり良いです。
複数の敵を一度にぶっ倒す「効率」の快感。それ故に得られる大量のコインによる「充実」の快感。ゲームはこういう演出が大事なんだと思い知らされる。
— Void (@VoidPragma) 2017年5月29日
コロコロボンボン | ゲーム投稿サイト unityroom #unity1week https://t.co/KCtN1UF3Kv
実はそれ以外は特に最適化は殆どしていません。最低限の構造でオブジェクト生成コストはかなり安いので、それで何とかなってます。GCが偶に来ますが、まぁゲームジャムです。
スコアを増えたら数値が増えるよ!をちゃんとアピール
数字が増える事は非常に重要です。今回のゲームではユーザーにとってゲームが進行した事を示す物がスコアしか無いので、スコアはちゃんと強調します。
やってる事はログと、変化が合ったときに一気に変化しないという点です。あと拡縮とか。
上の数値は殆ど動きっぱなしなので、実は別Canvasです。
下のログは、レイアウト構造を使用しています。これは良いスコアが出た時に文字を拡大(強調)表示してもレイアウトを破綻させない為です。
ただ、この大きな文字を表現するためにリッチテキストを使用したんですが、これのせいでUI更新にかなりの負荷が確認されました。
というか、このゲームでカクつく原因はコレでした。
まぁ、ゲームジャムですし、モバイルでもそれなりにフレーム出てるので良しとします。クリック時に負荷が上がる程度。
色々あって完成
その後も、まぁ色々あって完成です。
ゲームは下のURLからプレイ出来ます。WebGLなので、Firefox推奨、Chromeは動きます。
良ければ評価や感想を残してもらえると嬉しいです。*1
一応Touch対応したので、モバイル(Firefox x Android)でも動くには動きます。
#unity1week https://t.co/afaKLupY8s 一応モバイル(android firefox)でも動かせるようにしたけど、指で撃つ場所が角れるから微妙な感 pic.twitter.com/0wdWnhpQa3
— 椿 (@tsubaki_t1) 2017年5月29日
そして、イベントが終わった後にアイディアが出るっていうね。
まぁ、ロスタイムで結構みんなゲームを出してますし…ちょっと作るくらいは(ゴクリ
宣伝
せっかくなのでntny氏と一緒に #unity1week に上がってるゲームをプレイする配信します。どのゲームをプレイするかは、その場のノリで。
配信予告!今週末は今ホットなイベント #unity1week で作られたゲーム群をテラシュール椿(@tsubaki_t1 )氏と一緒に遊びまくる回をやっちゃうぜ!(・ω・)https://t.co/Y35hIOVl7C #unity3d #indiedev #gamedev
— ntny (@nD_ntny) 2017年5月29日
関連
*1:地味に「評価したゲーム」が未プレイゲーム一覧から外れるのは素晴らしい