風薙鳥 ゲーム制作日誌

連鎖を改良、不親切さを改善

C++ / DXライブラリで、落ち物パズルを制作中です。

連鎖が形になりましたが、不親切な点があると感じて、改良に取り組みました。

連鎖は虹ボールから開始できますが、複数の虹ボールが同時にサークルの中に入る場合があります。
また、サークルの中に入っていても、青か赤のボールが隣接していなければ、連鎖を開始することはできません。

このようなケースを考慮し、連鎖開始の優先順位を決めました。
複数の虹ボールで連鎖を開始できる場合、サークルの中心に近い位置にあるほど、優先して連鎖を開始するようにしました。
中心に近くても、連鎖を開始できない場合は除外されます。
青と赤のサークルで同時に連鎖を開始できる場合は、青のサークルを優先するようにしました。
こうやって仕様をはっきりさせておけば、プレイ時に困惑することも減るはずです。

もうひとつ、連鎖を実行する前、サークルが虹ボールに重なった段階でも、上記の優先順位の判定を行うようにしました。
最も順位が高い、つまりすぐ連鎖を開始できる虹ボールには、それを示すマークが表示されます。

これらの改良で、連鎖の不親切さは改善されたと思います。
動作は少し重くなりましたが、今のところ動作確認用の低スペックPCでも処理落ちはしていません。
将来2PとAIを同時に動かした時が、若干不安ではありますが。