はじめまして!
エンジニアの遠田秀説(@shusetsun)です。
現在は、漢パズル「土竜(もぐら)」で主にフロント業務を担当しています。
土竜PV① (https://www.youtube.com/watch?v=eCu4OJWkHnE&feature=youtu.be)

ネイティブゲームのフレームワーク(Unity, Cocos2d-x)については過去にブログでも紹介されているので、今回は「土竜」で使用しているパズルのアルゴリズムについて簡単に紹介したいと思います。

土竜について


土竜は麻雀を題材にしたパズルで、さまざまなステージを協力者と一緒に戦って日本を制覇していく3マッチパズルゲームです。

是非、ダウンロードして遊んでみてください。遊びながらブログを読むと理解が倍増すると思います。
ANDROID: https://play.google.com/store/apps/details?id=jp.co.cyberagent.mogura
※iOS版は近日公開予定

土竜には大きく分けて現在2つのパズルモード、回数制と時間制があります。その中で今回は時間制のパズルモードに注目してみたいと思います。


土竜のアルゴリズムについて


土竜の時間制のステージの大きな特 徴は、3マッチさせた時に、該当箇所以外は、下の画像のように操作が可能なところです。

かなり上手いプレイヤーの土竜

タイムアタック(神)


並みのプレイヤーの土竜

タイムアタック(普)

※アプリは10倍くらい高画質です。

このようにプレイヤーの腕次第で、難しい課題でもクリア出来るようになっています。この操作を可能にするアルゴリズムについて簡単に説明したいと思います。

  1. 1.まずプレイヤーが動かしたピースのそれぞれのマッチを判定します。
    判定する際には、該当ピースのステータス情報をロック(使用中)という情報にし描画をします。そして、描画が終わったタイミングでロックを解除します。

    土竜ステップ1

    ロックされているピースは動かすことは出来ないようにしています。

  2. 2.もしマッチしていた場合はピースの消去の判定にはいります。
    削除は移動したピースそれぞれに対して、水平方向と垂直方向に消せるピースの探索を行います。削除に該当するものはここで削除予約かつロックされます。

    土竜ステップ2


  3. 3.ピースの消去は、消去予約されているものが順次消されていくしくみになっています。そして、消されたピースから落下処理に入ります。

    土竜ステップ3

    消去が終わったタイミングで消えたピースの位置に落下させるかを判定していき、落とせなくなった時点で再度連鎖反応を判定します。
    連鎖反応は、基本的には上記の1と同じようになっています。

    このように、関係のあるピースのステータス情報のみをロックしたり解除したり消去情報を加えることで複数箇所で連鎖を起こせるので、スピード感あふれるパズルに仕上がっています。


他の有名なパズルゲームとの違い


  • ・キャンディクラッシュサーガ
    キャンディクラッシュサーガは、キャンディを動かした後に全ての連鎖が終了するまで、再度動かさない仕組みになっています。その為、時間差で消える挙動など多くの演出やルールが加えられ、主に回数制に重きをおいた3マッチパズルゲームになっています。
    Android : キャンディークラッシュ - King.com Limited(Android)
    iOS: キャンディークラッシュ - King.com Limited(iOS)


  • ・LINE POP
    LINE POPでは、同じように複数箇所を消していくことが出来るゲームになっています。同時に複数個消せるので、やみつきになったかたも多いと思います。ハイスコアを競う時間制に重きをおいたアルゴリズムになっています。
    Android: LINE POP - LINE Corporation(Android)
    iOS: LINE POP - LINE Corporation(iOS)

    アルゴリズムは、非常に似ていますが、「土竜」には2回でお手つきルール(お手つきをすると集めたピースが一つランダムに捨てられる)があるので、よりプレイヤーの実力が試されるゲームになっています。

まとめ


今回は、麻雀パズル「土竜」の時間制モードのアルゴリズムについて触れてみました。
「土竜」では、圧倒的なスピード感による気持ちよさを重視して、上記のようなアルゴリズムにしました。
こ れからも、3マッチパズルだけでなく、なぞったりひっぱったりと多種多様なパズルが世間を賑やかすと思いますが、気持ちのイイ、パズルを作るには、どういう パズルにしたいかを決めて、それにあった操作方法を
追求していくのが一番のコツだと思います。

も うすぐiOS版をリリースする「土竜」ですが、これからどんどん盛り上がっていきます。
もちろん、時間制モード以外にも気持ちいい仕掛けや演出も盛り沢山!
そして、土竜は、これからも気持ちよさを追求し続けて、より気持ちのイイパズルに仕上がっていきますので、ぜひインストールして遊んでみてください!

Twitterでも「サオリ@mogura_sexy」が活躍中!

引き続き漢パズル「土竜」をよろしくおねがいします。