ぞヴ記

Unity備忘録です。

【首領武羅鼓】第5回1週間ゲームジャムに参加しました

f:id:tomozoP:20170730210038p:plain

  • はじめに

前回(第4回)にも参加したにも関わらず、それについての記事が無いのは

書いてる途中でダレたからです。

無駄に長く書いて先延ばしにしてたら、遂に書かず仕舞いで終わってしまいました。なので、今回からは簡潔に済まそうと思います。

 

 

  • お題

今回のお題は「フロー」。

流れる」や「巡る」という意味ですが、「おフロー」とか「アフロー」といったダジャレめいた解釈も多かったかも

 

私は「フロー」→「流れる」→「川を流れる」→「川をどんぶらこと流れる」…という感じに 発想を膨らませ、「鬼になって桃を壊すゲームにしよう」ということに決定!

 

そんなわけで、右から流れてくる大量の桃をぷちぷちと潰していくゲームを作り始めました。

 

 

  • 制作

  • 技術系

①オブジェクトの生成処理

まず悩んだのが、「オブジェクトを一定の範囲でランダムに生成する」処理です。

 

いきなり面倒だな…と思いきや、実は前に作ったゲームで同じようなことをしていました。

 

f:id:tomozoP:20170828215947p:plain

背景の処理が使えた

 

これをちょこっと改造して、うまく桃を流れさせることができました。やったね!

 

 

②オブジェクトのクリック処理

実は今までオブジェクトをクリックするゲームを作ったことがなく、これが初の試みでした。

 

「unity オブジェクト クリック判定」で検索して出たサイトを参考にして、いざ実装…と思いきや、どうにも上手く動かない。

 

オブジェクトの設定を確かめ、コードを一つ一つ読み直しても原因がサッパリわからず、頭を抱えていましたが…

 

 

 

あっさり解決。

 

Unityには始めからクリックを検知してくれる関数があったのです。検索力って大事…

 

 

③ランキング実装

 前々からランキングの実装を目標にしていましたが、今回ついにランキングを導入。

blog.naichilab.com

今度もnaichiさんのブログを参考にさせて頂きました。

 

ランキングは通信が絡むのでかなり面倒になるかと思いきや、驚くほど簡単に実装できました。

 

具体的にはアセットをDLしてGoogleスプレッドシートの値を渡し、後は必要な場面でsceneを呼び出すだけです。めちゃ楽!

 

これも偉大な先人のおかげです。ありがたや…

 

 

④updateとif文の扱い

 開発終盤、難易度を調整するために「スコアが一定値に達すると桃を生成するオブジェクトが増える」という処理が必要になりました。

 

で、それを実装するためにこんなスクリプトを書きました。

update(){

if(スコア>=100){
桃生成オブジェクト.SetActive(true);
}

}

スコアが100を越えると桃を生成するオブジェクトがtrueになり、流れる量が増えるという魂胆。

 

一応これでも動くのですが、この書き方だと「スコアが100以上の時に毎フレームSetActiveする」ことになり、ゲームが無茶苦茶重くなるのです。

 

スコアが1ずつ増えるならif(スコア==100)で解決するのですが、このゲームには1つ3点の桃があるのでそれでは動きません。

 

初めはif文を二重にして無理矢理一回だけ実行するようにしようかと考えましたが、ここでこんなアドバイスを頂きました。

 

オブジェクトがfalseであること自体を条件にすればいいじゃない!」ということですね(たぶん)

 

結果、これが一番スッキリした書き方でした。ぱふらりんちょ(@PafuOfDuck)さん、ありがとうございました!

 

これでupdateの扱いは気を付けなきゃいけないぞ、ってことが分かりました。

何当たり前のこと言ってんだって感じかもしれませんが…

 

 

  • デザイン系

①雰囲気の統一

 自分はゲーム制作の過程でデザインを決めていくんですが、今回は昔話がテーマなので自然と和風っぽい仕上がりになりました。

桃も初めはフリーのイラストを使っていましたが、回りのデザインが統一されていくうちにどうしても浮いてしまったのでトレースして回りに合う感じに仕上げてます。

 

 

②効果音とBGM

BGMはいつも魔王魂様のものを使用させて頂いてます。このクオリティでフリーは本当に助かる…

 

効果音もいつもはフリー素材を使っていたのですが、今回はこちらを使用しました。

 

Bfxr. Make sound effects for your games.

 効果音制作ソフト、Bfxl。最強だった

 

いろいろな所で紹介されていますが、これめっちゃ良いです。これだけで「爆発」や「ジャンプ」などのゲームに欲しくなる効果音をサクッと作ることができます。

 

個人的に、効果音はゲームの気持ち良さに直結する部分だと思ってるので、ちょっと拘りました。「ゼルダ」で敵を斬るときのズバッ!とか「ドラクエ」で会心の一撃が出たときのズババーン!みたいな所を目指したい…

 

 

③ロゴ

いつもの事ですが、ゲームのロゴににも無駄に拘ってます。

ぶっちゃけ、これを作ってるときが一番楽しいです…

 

f:id:tomozoP:20170828222743p:plain

元ネタは言わずもがな、あのSTG

 

で、今回はもう1つ作りました。

 f:id:tomozoP:20170828221830p:plain

(自称)ゲーム制作サークル、「ゾウノアシ」のロゴ

 

スプライトアニメーション(ゲーム開始時に出るやつ)を使ってみたい!ということで作りました。ゲームを開始するとモワ~っと出てきます

 

私がやたらラグランパンチを使うのはキルラキルの影響です

 

 

  •  完成

 そして完成したのがコチラ!

 

f:id:tomozoP:20170828221818j:plain

頭領武羅鼓 -ドンブラコ- | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

なかなか好評で嬉しいです。ちょううれしいです。

プレイして頂いた方々、感想を下さった方、ありがとうございます!

 

 

  • まとめ

今回の制作は全体的に「気持ちよさ」に拘りました。具体的には効果音ボム桃の巻き込み爆発です。

 

ゲームの特性上似たような動きを延々とやることになるので、これらはそれが苦にならないようにするための要素でした。

 

f:id:tomozoP:20170828224616p:plain

ボムの巻き込み爆発はなかなかの気持ちよさになってる、と思う…

 

今回はランキングも導入できたので、なかなかいい感じに仕上がったと思います。

 

次回はBGMを自作してみたいな…とも思いましたが、作曲に必要な知識はかなり膨大な上に時間もかかりそうなのでまだしばらくは魔王魂様にお世話になりそうです。

 

  • 次回以降のこと

1WGJは仕事や他のプロジェクトで忙しい人たちの事情を考え次回の開催は10月以降になるかも…との事ですが、私は個人的に毎月ゲームを作っていきたいと思います。今年中にアプリも出さなきゃいけないので…

 

 

結局長ったらしい文章になってしまいましたが、今回はここまでです。

参加者の皆様、主催のnaichiさん、お疲れ様でした!