パズルゲームを作るなら/Advanced Game Board Object (AGBO)


パズルゲームを作るために必要となる「配列」を簡単に扱い、かつパズルに必要なアルゴリズム及びゲームロジックの一部を自動制御してくれる便利なエクステンションが Advanced Game Board Object = ( AGBO ) です。AGBO はほぼ全てのエクスポータでサポートされている半標準機能的なエクステで動作もたいへん安定的。

icons_AGBO_object_cf2.5_extension_mmf2

はいれつ
 

配列 【 array 】とは?

データ構造の基本的なるものの一つです。「リスト」などは可変ですが「配列」は要素の数が固定。予め配列の要素が何個有るかを明確に宣言する必要があります。AGBO も使う前に配列の要素数を指定させられますが、内部的にはこれが配列の宣言そのものなのです。

「変数」がひとつのデータ型を保存するために必要な「一戸建ての家」だとしたら、「配列」は複数のデータを保存するための「部屋が集まったマンション」みたいなもんです。

パズルゲームの作成にはもちろん「変数」も使われるのですが、「配列」というものへの理解が必須となります。プログラムの基本知識としてまず「配列」というものを理解できていなければパズルやカードゲームは作れません。

AGBO 自体は難しいことを簡単に実現してくれる素晴らしい拡張プログラムですが、プログラムの前提知識が必要という点で言えばやや製作の難易度は高く、使いこなす場合どうしても先に配列というものを理解していないと製作が先に進まないと思われます。

AGBO を使うメリット

まず AGBO は配列へのループを自動処理してくれる機能があるため、これがたいへん便利。

スプライトの位置や固定値などを配列の要素に関連付けして記憶してくれる機能や、グリッド座標への変換、配列内位置の取得、配列の値入れ替えなど配列に関する機能全般を扱います。

AGBO の提供してくれる以外の動作を付け加えようと考えた場合には、自力でゲーム動作を実装する必要が出てきます。この時、配列の要素に対してループを使って一括処理する場面も多く出てきますので、「変数」+「配列」に加えて「ループ処理」と、つまり CF2.5 の場合 FastLoop ( 高速ループ ) や ForEach など標準的なループ処理にも精通している必要があります。

ところが処理速度的には CF2.5 内部のループ処理を利用するよりもエクステンションの内部で計算を行ったほうが処理が圧倒的に速くなります。ループ処理に関しては CF2.5 のループを使った自力実装よりも AGBO にできることはなるべく AGBO にやってもらったほうが軽い動作を実現できます。そういう意味でもパズルを作るときに必須のエクステが AGBO なのです。

  • 参考 ( MMF2日本語版 ガイド ):クリックブートキャンプ 2013 ~ Click Boot Camp ~

    AGBO を使ったパズルゲームの作成を扱った記事、動作サンプルなど多数。解説付き。




  • Leave a comment

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です