ITエンジニアのための勉強会・イベントレポート情報メディア

Unityで作ろう!ゲームアルゴリズム(9)ボンバーマン的なアルゴリズムを作ってみる その2
skill

Unityで作ろう!ゲームアルゴリズム(9)
ボンバーマン的なアルゴリズムを作ってみる その2

2017.07.31

 
  • このエントリーをはてなブックマークに追加

Unity5のサイクルがバージョン5.6で終了し、今年からUnity2017になります。

筆者はこれまでUnity5のPro版永続ライセンスで使用していたのですが、Unity2017からは月額プランしか無くなるということで、当面Unity5を使い続けるか素直にUnity2017に移行するか悩んでおります。

さくっと契約しちゃえば良いだけなのですが、月額がかなりお高くて尻込みしちゃうんですよねぇ。

さてさて、今週も開発を進めましょう。

前回はボンバーマン的なアクションの基礎部分を作りました。
今回は前回作ったものを元に、ゲームの味付けの練習をしてみます。

賀好 昭仁

味付けのプランを考えてみる

ボンバーマンは既に完成されたゲームですので、まったく同じものを作るのはNGです。
ということで、ゲームに味付けをすることでオリジナルのゲームにしていきましょう。

ゲームへの変化の付け方は、大きく分けて2つの方向性が考えられます。

付加要素で味付けする方法

ひとつめは、基本的なルールはそのままに、付加要素で変化を付ける方法。

筆者が最近プレイしたインディーズゲームのひとつに、マインスイーパに装備や敵キャラなどのRPG要素をくっつけたゲームがありました。
マインスイーパのパネルをめくる際に敵キャラとの攻防があり、キャラを育てていく楽しみがプラスされていました。

この方法はどのようなゲームにでも適用しやすく、かつ元のゲームが好きなユーザー(上記の例ではマインスイーパが好きなユーザー)をそのまま取り込めるメリットがあります。

基本的なルールを変えてしまう

もうひとつは基本的なルールを変えてしまう方法です。

付加要素に比べると発想力が必要になるものの、目新しさはこちらの方が上になりますので、新しいもの好きのユーザーがターゲットになり得るでしょう。

例えば、「テトリス」と「ぷよぷよ」は同じ落ちモノ系パズルゲームです。
テトリスが世に出てから落ちモノ系パズルゲームのブームが到来し、ぷよぷよはそのブームの最中に登場しました。
落ちモノ系パズルゲームというジャンルは同じですが、それぞれルールやプレイ感はまったく異なります。

また、テトリスに物理演算をくっつけるだけで別のゲームになってしまった例もあります。
きっちりブロックを積んでいくテトリスとは打って変わって、物理演算の影響でブロックがうまく積めずメチャクチャになっていくさまが笑える、良きネタゲーでした。

今回は後者の形で、基本的なルールを変えてみようかと思います。

マップのルールをいじってみる

では、はじめましょう。

ボンバーマンのマップは、画面に収まる大きさの四角形のマップでした。
爆風が画面外から伸びてくると理不尽なやられ方になってしまいますので、画面内で全てが完結する形が最適というわけです。

ということは、対戦要素がなければマップが画面からはみ出しちゃってもぜんぜん問題は無いということですね。

そういえば、以前マップに関する何かを作ったような・・・。
そうそう、本連載の第5回で作成した2Dダンジョンジェネレーターがありました!
https://mynavi-agent.jp/it/geekroid/2017/02/unity52d.html

これを組み込めば、対戦アクション→ダンジョンを探索するゲームに様変わりしそうですね。

ついでに「ダンジョンは狭いし壁は全部壊せてもOKじゃなかろうか?」と思いましたので、壁は全部壊れるようにしてみます。

爆弾をドカンドカンやって、壁を掘って進んでいく。
自由度が高くなりそうですね。

爆弾のルールをいじってみる

マップをダンジョンにするのであれば、道が曲がりくねったダンジョンと爆風が直線的に伸びる爆弾とは、相性がイマイチ良くなさそうです。

「じゃあ爆弾じゃないモノで敵を攻撃すればOKかも?」と筆者がさんざん頭をひねった結果、「罠ならいいんじゃない?」という結論に至りました。

つまり、ダンジョン+罠アクション。
あれ?なんだか同じようなゲームがあった気が・・・。

まぁ、細かいことは気にせず進みましょう。

罠の種類を考えてみる

では、どんな罠があったら面白いでしょうか。

罠の起動条件で考えると、

  • ・踏むと発動する
  • ・時限式
  • ・別の罠で起動させる
  • ・その場ですぐ効果がでる

などが考えられます。

一方で、効果に関しては

  • ・対象の動きを制限するもの
  • ・対象にダメージを与えるもの
  • ・対象を遅くするもの
  • ・対象を移動させるもの

などなど。

これらの組み合わせ&効果の大小で、さまざまな種類の罠が作れそうです。

あと、罠は回数制限アリ(拾い集める形)にしてみました。
回数制限によって緊張感を高める効果を狙います。

実装してみた

ということで、今回は

  • ・ランダムなダンジョンマップ
  • ・爆弾、落とし穴、設置できる壁
  • ・適当に動き回る敵キャラ3種類

を実装してみました。

難易度はレベルが上がるごとに徐々に上昇するようにしてあります。

プロジェクトおよび動画はこちら。
https://github.com/akako/gamealgorithm-bomb-action/releases/tag/for_algorithm9



ちなみに、今回はUnityのStandard AssetであるCrossPlatformInputを使ってスマホ向けのUIを実装しました。
ぜひUnity Remote5を使って、スマホでプレイしてみてください!
https://docs.unity3d.com/jp/540/Manual/UnityRemote5.html

ものすごく荒削りではありますが、狙い通りボンバーマンとはかなり違ったプレイ感になりつつありますので、うまく仕上げてリリースしちゃうのもアリかなーと考えております。

さらに余談ですが、作っているあいだに「ボンバーマン」+「とあるパズルゲーム」を融合するアイデアが浮かびましたので、近いうちにそちらも試してみようかと思っています。(笑)

まとめ

今あるゲームをベースに、アイデアをプラスして発展させる。
様々なヒット作も含め、たくさんのゲームがこの流れで企画・開発されています。

ゼロから1を生み出すには才能が必要ですが、もともとある1を2に発展させることは少しのセンスと経験があれば可能です。(あとは気合も!)

ゲームで遊ぶのは、ゲーム開発者としての経験を積むため。ゲームのやりすぎで叱られたら「チミ、これは勉強だよ」と言い放ちましょう。
※あくまでも自己責任でお願いいたします

次回予告

次週からはじっくり派ゲーマーのみなさまが大好きなシミュレーションゲームのアルゴリズムを作っていきたいと考えております。

原稿: 賀好 昭仁
qnoteスマホアプリ開発チーム技術主任。PHP・Android・iOS・Unityなど複数のプラットフォームでの開発を行う。
しばしば7匹の先輩猫社員たちにイスを占領される。

Unityで作ろう!ゲームアルゴリズム(9)ボンバーマン的なアルゴリズムを作ってみる その2

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW