Unity 1週間ゲームジャムに参加。
今回はまったく参加するつもりがなくて、お題を知ったのも週の半ば。
でも一度お題を見てしまうとあれこれ考え始めてしまい、とりあえずUnityプロジェクトを作ってみた。
ネタ出し
「つながる」ということで最初はランダムに配置された何かを線で結ぶゲームを考えた。ありがちかもしれないとは思いつつ、ネタ被りを気にしていたら何も作れないし、いくらでも差別化する方法はあるだろうと考えながら、ふと気づいてしまった。
前回自分で作ってるよ!
WINDING WIREが線で結ぶゲームだったわ。
お題を入口にして考えるといまいち発想が広がらない。そして行き着いたのがこれ。
すでに木曜なので凝ったゲームは無理だと割り切ってブロック崩しを選んだ。ブロック崩しならサクッと作れるとこの時は思っていた。
物理エンジンとの格闘
ボールが壁に当たって跳ね返るというブロック崩しの根幹が実は何気に難しい。ColliderにPhysic Material、Rigidbodyを正しく設定した上でAddForceを呼ぶ。でもなぜか跳ね返らずに壁に吸いつくことがある。壁にPhysic Materialをつけてみたり、ボールの初期配置を変えてみたりしたけど一向に解決せず時間が過ぎた。
Bounce Threshold
さんざん悩んだ末にProject SettingsのPhysicsにこんなパラメータを見つけた。物理エンジンは関連項目が多すぎるよ・・・
お題「つながる」
基本的にブロック崩しはイライラするゲームなので、これを解消しつつお題を満たすことを考え、二つのボール間にあるブロックをまとめて粉砕する仕組みを導入。インパクトフレアと呼ぶことにする(いま名付けた)。
この仕組みを生かすにはボールを任意の方向とタイミングで打ち返せる必要がある。一応、左右キーに連動してパドルを傾けられるようにはしてみたけど、やっぱり狙った場所に打ち返すのは困難だと思う。結果として運ゲーになってしまった。
パドルを傾けたときのエネルギーがボールに伝わってやたら高速な展開になることがある。これはこれで楽しいけど、リスクが高まるだけなのでオススメできない。ブロックを一定時間内に連続して破壊すると倍率がかかるようにすればハイリスク・ハイリターンでゲーム性が増したかもしれないなー。
やり残したこと
ブロック破壊エフェクトを後回しにしていたら結局実装できずに終わった。ブロック崩しの最大の目的なのに爽快感も何もなくてごめんなさい。頭の中ではいろいろ考えていたんだけど実現方法がすぐに思いつかなくて諦めた。
全体的に作り込みが足りないのはブロック崩しを甘く見ていたのが敗因。火曜くらいから着手していたらもう少し作り込めたはず。いや、火曜に出るアイデアならブロック崩し以外の何かを作っていたか・・・
とはいえ、こんなハプニングもありつつ7時間程度の遅刻で投稿できたのは良かったと思う。次回はお題が発表されたらすぐに確認するようにしよう。
タイトルについて
ディーヴァというレトロゲームへのオマージュです。