Categories
Nice Fall

今回得たものは?

さすがに体力的にきつい!!Unity1weekのゲームを全プレイさせていただき、できるだけ紹介させていただきすごく楽しく過ごしました。

テーマのとらえ方は人それぞれで品質も人それぞれ、いろいろあっていいお祭りです。

批判を覚悟で言うと、短納期のゲームジャムでは、ある程度の粗さは『祭りの花』と私は思っています。高い品質のものもとても楽しんでいますが、『試しに作ってみた』『初めてやってみた』というゲームも非常に興味深く、粗さを共有してくれることに喜びを感じています。

私も基本的には遅刻しない主義なので、粗いまま投稿しています。実力の問題もありますが。修正は全部プレイを完了するまで行いません。『ここを粗くするとこんなにゲームは不便になるんだぁ』など感じていただければお互いのプラスになるのかな、と思います。やさしく厳しく接してあげてください。

さて、ブログで何回同じゲームの話をするのか、本当に申し訳ないのですが、Twitter上では皆さんの紹介を中心にしているので、自分のゲームの話をします。日記みたいなもんです。

本日、5月9日時点でお祭りはまだ終わておりません。Ludum dareもU1Wも。ですが、すでに大きすぎる収穫を得ており、今後の心の持ちようにもつながるので記録。

①致命的なバグの発見

正直、ほっといちゃあ、いけねえ奴が見つかりました。というか、すでに知ってました。NiceFallはプレイヤ同士で競い合うゲームですが、理不尽にコントロールが不能になる箇所がプレイ環境によって発生します。

壁に接した状態でジャンプをするとまれに動かなくなる時があります。実は投稿10分前に別のPCで試してすでに知っていました。発生頻度もまれで、プレイ環境にも依存し、すべてのプレイヤに影響するわけではないので、お祭り参加を優先しそのまんま投稿。当時原因も分からなかったです。

1週間たって頭がクリアになりようやく答えが見つかり、全プレイを完了したので修正できました。残念だけどこのエラーは、深刻でゲームジャムでなければリリースしないレベル。本当に多くのプレイをしていただいた方には失礼なことをしてしまいました。

原因は、天井にプレイヤが頭をぶつけた時にジャンプを止め落下するというギミックをいれているのですが、横の壁に接した際にも発動し、ジャンプを禁止していたことでした。

これ、2Dゲームを作っている以上は、同じ現象をまた発生させる現象であり、シリアスに受け止めるべきなのですが、ゲームジャムでこの現象に出会えたのはものすごくラッキー。本当に運がよかったと思います。おそらくもう二度とこのミスはしないでしょう。細部に宿る悪魔をまた、一匹除去しました。しかも根強いやつ!!

②2Dプラットフォーマのキャラ操作を整理できた

今回のNiceFallは、プレイヤは移動するだけです。攻撃ボタンはありません。それゆえ、ほかの味付けを一切気にせずキャラの移動に没頭できました。

横移動、ジャンプについてプレイヤが単純に当たり前と思うことに、とにかくこだわりました。攻撃やレベルデザインによってはそのまま転用することはできない設定ですが、基本となるものを抑えられたと思います。

例えば、自身のキャラクタが近接攻撃を使用する場合、今回の横移動は早すぎるでしょう。(敵キャラに対し自キャラがツヨツヨのケース)プレイヤは攻撃をミスして敵にぶつかることがないようスピードを調整する必要があります。

例えば、敵の攻撃が弾幕に近い場合(自キャラに対し敵キャラがツヨツヨのケース)、ジャンプ中の横移動はもう少し早く、その他の移動はもう少しゆっくりであるべきと思います。自キャラを目で追いやすく、攻撃をかわしやすく。

例えば、プラットフォームをジャンプすることを中心としたレベルデザインの場合(ゴールまでチャレンジングな設計のケース)、プレイヤのジャンプは、もう少し低くするべきでしょう。難しさの調整の意味と、着地の地点をフレームアウトさせないために。

そのほかにも、スピードアップアイテムがあるケース、ダッシュボダンがあるケース、プレイヤがレンジアタックを持っているケース、マントを羽織っているケースなど結局、調整が必要です。

ただ、今回はそれらが一切ないゲームを作ったので、本当のベースとなりえるものを作れたと思います。

③競争する楽しさを改めてかみしめた

実際、競争はストレスです。ゲームにもストレスは必要ですが嫌いな人もいるでしょう。うまい人には絶対勝てない設計がレースゲームの着点で、それを何とかするという行為が本当に楽しかったし、意味があったともいます。接戦を演出するという事、これを開発する側が用意してあげれば対戦ゲームの楽しさは保証されるものかも知れません。たぶん、私はNiceFallの中に『楽しさ』を演出するギミックは作っていないと思います。楽しいと感じてくれた方は、きっと一緒にプレイした方が楽しい方だったり、想定した方が楽しい方だったのだと思います。

対戦ゲームはずるいです。プレイ中のコミュニケーションは開発の設計に組み込むことができないのに、確実に存在し楽しさをつくる最大の要素だからです。残念ながら私がご用意したのは、その土俵だけ。

これは何年も前から思っていた私のゲームに対する概念で、今回はそれそのものを形にできたと思います。もし、このゲームを面白いと思ってくれた方がいたとしても、残念ながら面白いのは私のゲームではなく、プレイヤさんとその友達です。

④おふざけ要素を入れられなかった

Ludum dareに出す都合もあり、言語障壁があったのかもしれません。ちょっとこれは後悔。お祭り終わる前に何か一つ加えてアップデートします。すんごいくだらないやつ!!

Categories
Nice Fall

Nice Fall作りました

2種類のゲームジャムに参加させていただき、Nice Fallというゲームを作りました。一つはLudum dare48、長い歴史のあるゲームジャムで、多分もっとも有名なジャムではないでしょうか。今回のテーマは『Deeper and deeper』。

もう一つはUnity1Week、かなり高頻度で参加させていただいているジャムで、日本のUnityユーザーに広く愛されておりゲームエンジンを限定している故か、暖かいコミュニティが形成されているジャムです。今回のテーマは『2』。

今回作ったゲームは、井戸の底まで落下し続けるレースで2画面2人プレイとして、おそらく両方のテーマを回収できたと思います。

Nice Fallは横視点の単純なゲームであり、パッと見た感じや操作した感じはどこかで見たことあるような感じで手抜きに見えるかもしれません。そのどこかで見たその元となったゲームについては大いに参考にしましたが、一応今回のゲームの目的に対して私自身の視点でいろいろ調整をしました。どんだけ頑張ったかを語るのはちょっと野暮ですが、かっこ悪いけど語ります。

ゲームのルールへのこだわり

まず、ゲームのルールです。落下という現象は加速度を生みます。発生する速度は基本的にはコントロール不能に近いのではないでしょうか。勝手に加速度が発生するという事は、レースゲームにおけるアクセルボタンを不要とします。より、シンプルな操作を実現する都合のいい競争ルールです。多くのレースゲームは壁にぶつかると減速し、再加速まで大きな時間を要しますが、落下の場合、もう一度落ちれば再加速が可能。スピード感と親しみやすさを両立させることができます。

レベルデザインへのこだわり

次にレベルデザイン。後れをとったプレイヤをサポートするシステムは時に嫌われ、時に愛されます。とあるレースゲームでは、順位が低いと加速度強化をしたり、前方のプレイヤを激しく攻撃するギミックが発生します。これらのギミックは時にやりすぎを発生させてしまい、マリオカートの青甲羅は、順位の交換を絶対的なものにまでしてしまいます。プレイヤにとってより納得しやすく、より自然に、なおかつ有利になっても頑張りが必要なデザインが必要です。

上記を実現するために多種のギミックを用意しました。今回のゲームに代表的なものとして崩れるブロックがあります。最初に到達したプレイヤはこのブロックに到達すると重力加速をいったん止められます。崩れるまで待つか、別の道を探して再加速が必要になります。遅れてきたプレイヤがそこに到達するときにはそこにブロックはありません。ノンストップで下降でき、大きな逆転のチャンスをつかむことができます。一方先行したプレイヤもできるだけブロックを崩さず落下すれば後方のプレイヤに差を広げることができるかもしれません。

棘も逆転を可能にするオブジェクトです。プレイヤに刺さると消えてなくなるため、先行プレイヤがヒットすると後方プレイヤは進行が楽になります。当たった時のピヨピヨもロスが大きいのでレースが拮抗していると緊張感を生みます。

そのほか、落ちる岩石などを用意し、先行プレイヤを直接攻撃できるものも用意しました。ただし、岩石自体は落下ではなく転がって落ちるのでプレイヤの落下より遅いため、仕掛けた自分に当たる可能性があります。プレイヤにスキルを要求するギミックでもあります。

また、追い越す瞬間に他のプレイヤを踏むことで、動きを止めることができるようにしました。落下を競うゲームにおいて本来高い位置にいるほうが不利なのですが、ここも逆転の要素です。

動く床、ジャンプを要求する壁などは、プレイヤのスキルを要求するものになります。ここでスーパープレイを決めてもほんのわずかしかアドバンテージは見込めません。しかし、確実にそのアドバンテージは存在します。上級者がよりハイレベルのプレイをする仕掛けとなっています。

キャラクタの動き

キャラクタを動かすという事はアクションゲームにとって、最大限に重要な要素です。3Dゲームの場合『プレイできない』事態まで発生することがあるのですが、2Dゲームの場合は、一応何とかプレイできるところまで収まりやすいと思います。その一方でプレイヤからの要求が厳しく、プレイできるという程度では満足してもらえません。レベルデザインの良さやストーリの良さなんて、動きの悪さのせいでぶっ飛ばされることだってあります。

今回のゲームでは、まず横移動にこだわりました。過去に作ったNice Discでは熟練のスポーツ選手が狭いリングできびきび動くことを想定したため、ボタンを押したら最高速度、離したら完全に止まる、というロボティックな動きになりました。正直工夫がなく作る上で楽です。Nice Fallではやや動物的な動きが欲しいけど、アンフェアに感じない動きを目指しました。動き出しは0.2秒程度加速時間が発生します。そこから最高速度に達し、キーを離すと減速し0.2秒後に止まります。正直ゲームに影響しないレベルの短い時間ですが触り心地にほんのわずかな違いが生まれました。おそらく加速減速はプレイヤは気づかないと思います。勝負に影響もほとんどしないはずです。ただ動きに柔らかさが生まれたと私は思っています。

そしてジャンプ。下降するゲームなのでジャンプをする機会は少ないです。しかし、必要以上に高いジャンプをするとタイムロスにつながるという事がこのゲームの要求するスキル性にマッチするため、やや高めのジャンプを用意しました。そして押している長さで高さを調整する感じです(大体のUnityチュートリアルはそうなっていますね)。今回のジャンプでは離した瞬間、0.05秒ほどゆっくり上昇し、その後加速度的に落下するようにしました。最高地点で一瞬止まるような感覚を覚えるかと思います。ジャンプを必要とするプラットフォームで他のプレイヤと空中で位置取り合戦を楽しんでもらうためこのような動きを採用しました。

あと、完全に不要なのですがプラットフォームからの落下開始から0.1秒間だけ空中でジャンプ可能にしました。よく言うコヨーテジャンプです。このゲームへの将来性の為実装しましたが、このゲーム内で役に立つ瞬間はありません。勝負抜きで試してみていただけると幸いです。

CPU戦の調整

PvPが基本のゲームですが、どんな時でも楽しめる必要があるためCPU戦を用意しました。Unityのナビメッシュのようなものを実装してしまうとプレイヤは絶対勝てません。目の前のギミックに行き当たりばったりで対応するような挙動であるべきであり、時々トラップに引っかかる必要があります。実はNice DiscのCPUがディスクをかわすのとほとんど同じ仕掛けです。ここはあまり語りたくないですが、おそらく十分楽しめる出来になっていると思います。

後回しにした部分もたくさんあります

2Dゲームを作る際に、ジャンプの高さ調整や移動速度、移動加速度、落下スピード、当たり判定の大きさなど、これらの当たり前の作業がすべてを決めてしまいます。よく神は詳細に宿るという言葉があり、それを意識した素晴らしい作品をたくさん存在しますが、2Dゲーのキャラ移動においては、神も宿っているようですが、悪魔も詳細に宿っているようです。こいつらを徹底的に排除しなければなりません。それも、そのゲームの目的であったり、キャラクタの性質によって違うものを要求されるので、新しいゲームを作るたびにここには時間をかける必要があります。いいゲームを作る以前に、ゲームを壊してしまう恐れがあるためです。

そうすると、残念ながら音や絵については、どれだけ時間をかけないかを目指してしまいます。こだわったところで私自身の実力値もあるので、こだわりが結果に結びづらくなるため後回しになりがちです。この辺は直感でやっています。ただ、直感でやった故、愛おしく感じる部分もあります。

やりたいことを精一杯やる事、これが何よりも大事なら、まあこれでいいのかな。

ただ、いつの日か絵のこだわりを人に語れるようになりたいですね。