失敗作も成功のもと
こんにちは。開発担当のマットです。
以前に記事を書いた事がありますが、人間をぶっ飛ばす「人間大砲」ゲームを開発しました。
ゲームの内容はとても簡単です。
ボタンを押すと人間が大砲から飛ばされて、タイミング良く押すとより遠くへ飛んでいくという内容です。
人間をぶっ飛ばすことが面白くて楽しいアプリですが、「アンロックできるコンテンツ」や「レベル」というものがないので、公開した時は「すぐ飽きてしまうんじゃないか」とちょっと心配していました。
バージョン2を作ろう!
「人間大砲」をもっと面白くしようと思って、「人間大砲2!」的なプロジェクトを作って開発に取り組みました。
バージョン1と同じように作るけども、以下の2点を加えようと考えました。
- 人間がまっすぐに飛ぶだけではなく、もっとアチラコチラに飛び跳ねるようにする
- 飛ばす力をレベルアップできるようにする
とても簡単な変更だと思っていましたが、意外な問題が発生しました。
スケーリングの問題
IT用語では「スケーリング」は「規模を増減すること」を指します。
IT業界では、とても大事な概念です。
アプリケーションやシステムが大きくなるに連れ、どの問題に当たるかを事前に考えて対応をしなければなりません。
しかし、シングルプレイヤーのゲームだと、特に問題はないだろうと思って簡単なプロトタイプを作成してみたら・・・ 意外な問題にぶち当たりました。
人間がさらにアチラコチラに飛び跳ねる様になると大きく左右に飛ぶことになります。
特に問題はないと思っていましたが、バージョン1では1本道で十分足りていたことに対してバージョン2では、横の道まで行くことが可能になりますので、格子状の街を作らなければならないことになります。
ある意味「1次元の世界」が「2次元の世界」に変わります。
一つの設計変更で、次元を増やしてしまいました。
なお、バージョン2ではレベルアップができるので、トップレベルのパワーで飛ぶと建物の上まで飛んで遠くまで見ることが可能になります。
バージョン1では、近くのエリアだけをロードすれば十分でしたが、もっと高いところまで飛ぶと遠くまで見えてしまいます。その分も端末のメモリーにロードしなければなりませんが、そうするとパフォーマンスがグッと落ちてしまい、逆にストレスがたまるゲームになってしまいます。
ゲーム性の問題
次の問題は技術的な壁ではなくて、ゲーム性の問題でした。
レベルアップができるようになるとより遠くに飛べるようになりましたが、パワフルな勢いで建物や障害物を変わった角度で当ててしまうと上までなが〜く飛んでしまいます。
その結果、空に飛んでいる間は障害物に当たることなく、緊張感もなく、なにも起こらない全然面白くないゲームになってしまいました。
気軽に作ろうと思っていたプロジェクトが、色々と問題が出てしまったので一旦棚上げすることにしました。
またいつか、人間大砲の改善バージョンを作りたいと考えていますが、とりあえず上記で作ったバージョン2は失敗作と見做したいと思います。
失敗で習ったこと
この記事を読んでいただいておわかりかと思いますが、ちょっとした変更でも最終的には大きな影響を及ぼすことがあります。
やっぱり、設計が大事!
ゲームを設計する時、「より大きい」「よりパワフル」「より広い」ことは必ずしも良いとは言えません。
今後、ゲームを設計する時はそのゲームに合っている内容量、そのゲームに合っている規模をきちんと考えて作らなければなりません。
習ったことを活用する
ちょうど、同じ頃にゾンビゲームも作っていました。
走り回って、ゾンビを倒して、生存者を救うという単純な内容ですが、面白くてハマってしまうジャンルです。
まずはマップを作成する必要がありました。
当初はやっぱり、「大きく、広く、膨大!」という気持ちで作りだしました。
横切れる山もあり、川と橋もマップに入れて、作ってみました。
しかし、人間大砲バージョン2で学んだことで、以下の懸念点に気が付きました。
- マップが広いと、走る距離も長くなり面白くなくなる。
- コンテンツをまばらにしないとパフォーマンス問題に当たる。
- マップに登れる山などがあると、新しい次元(上下向き)も対応しなければならない。
なお、モバイルではマウスが使えないので、左手の親指で前後移動と左右向きの操作をし、右手の親指で武器の操作を行う場合は、上下向きを操作する余裕はありませんでした。
やっぱり、設計が大事!
上記の懸念点を踏まえてマップを作り直すことにしました。
マップ自体を狭くし、その分コンテンツに密度を入れることができました。
登ったり下ったりできる個所を完全になくして、平面で遊べるようにしました。
最終的にこれらの変更のお陰で緊張感のある面白いゾンビーゲームを作ることに成功しました。
まとめ
昔、ある有名な航空設計士がこんなことを言いました。
完璧という状態は、何も加えるものがなくなったときではなく、何も除く必要がなくなったときに達成されるものだ。
ゲーム作成やソフトウェア設計でも同じかもしれません。
開発者としてはもっともっとと色々コンテンツや機能を盛り上げたくなりますが、盛り上げすぎるとそのソフトが逆に目的を果たさなくなってしまうこともあります。
今後も、このことをより把握した上で色々な面白いものを作っていきたいと思います!