iFAction ゲーム メーカー – ファーミング メカニクス ガイド
ARPG などで人気のゲーム メカニクスであるアイテムや戦利品のファーミングは、プレイヤーが長旅や過酷なボス戦に備えるために必要な小物を集めて偵察することで、ゲームのプレイアビリティを向上させることができます。このガイドでは、このメカニズムをプロジェクトに実装する方法を説明します。
農業の仕組みを説明するためのガイド
基本操作
このセクションでは、アイテムをリスポーンする最も基本的なテクニックの作り方を紹介します。プレイヤーがアイテムを拾うことができ、プレイヤーが別のマップに移動して戻ると、そのアイテムがリスポーンします。このメカニズムは「悪用される可能性がある」ため、ゲームでこれを使用する人はほとんどいないと思います。ただし、これは学習を開始するのに適した場所であり、ガイドの後半で紹介するより複雑なメカニズムの準備を整えることができます。
まず、リスポーン イベントを表示するマップ内の場所を右クリックします。 [トリガーの作成/変更] を選択します。市松模様の四角形のボックスには、プレイヤーが関心のある領域であることを認識できるように、画像を追加する必要があります。
残念ながら、iFAction にはデフォルトで多くのビジュアル アセットが付属していないため、D – オブジェクト、保存 (スター コイン) を使用しました。 Parallel ボックスをオンにするかオフにするかは、あなたの選択です。通常はオフにした方がよいでしょう。オンのままにしておく場合は、このイベントが発生している間、攻撃などの他のプロセスが続行されることに注意してください。
次に、[コンテンツ:ダブルクリックして追加] の下で、これを行い、[その他] タブ (ジグソー ピース) を選択し、[アイテムの変更] 機能を選択します。受け取りたい商品と数量を選択してください。
再び [内容:ダブルクリックして追加] の下で、[ロジック] タブ (電球) を選択し、[変数の制御] をクリックします。鉛筆アイコンをクリックして、リストに新しい変数を作成します。参照用に Item1 のように呼び出します。
タイプは Switch に設定する必要があり、デフォルトは ON に設定する必要があります (私はこの機能が気に入っています)。プレイヤーがアイテムを獲得したことをゲームが認識できるように、スイッチ定数を OFF に設定する必要があります。
ここで、イベント Appearing Conditions の下で、Satisfy All を選択し、スイッチ変数 Item1 を見つけます。定数をオンに設定します。
次に、[トリガーの編集] 画面の左側を見て、[Actor Touch and Press Confirm Button] の下で、[Double Click to Add] で新しいページを追加します。すべてを空白のままにしますが、Reiterative と Parallel がチェックされていることを確認し、Appearing Conditions で Item1 変数を OFF として選択します。このページのロジックは、プレイヤーが既にアイテムを拾い、イベント画像が消え、他に何もできないというものです。これをプレイヤーに知らせるテキストを追加することもできます (オプション)。ゲームをチェックしてみてください。これが事実であることがわかるはずです。
次のステップでは、別のマップ画面に遷移するイベントを見つけます。それがドアであろうと単なる遷移通路であろうとです。右クリックしてトリガーを作成/変更します。 Transfer Player 関数がある場所の上に、前と同じように制御変数が必要です。今回は、Item1 変数を ON に設定して、プレイヤーがマップから離れたときに変数が ON に戻り、プレイヤーが別のアイテムをファームできるようにします。プレイテストして自分で確認してください。基本的に、イベント全体が最初にリセットされ、別のポーションをつかむと再び元に戻ります.これがこのメカニズムの基本原理です。便利ですが、マップから移動して 99 個の無料のポーションを入手するだけでも非常に悪用されやすいです… 少なくともこれでロジックが導入されます。次のステップでは、これを拡張して、経過時間に基づいてイベントがリスポーンするようにします。この方法では、メカニックが乱用される可能性が低くなり、ゲームを壊す可能性があります。
中間操作
このやや複雑なセクションでは、上記を達成するために必要なことを、より創造的/より良い方法で概説します。この方法では、プレイヤーはアイテムを拾い、マップから離れるのではなく、一定の時間が経過するとリスポーンします。
OK、基本操作セクションで作成したイベントで、右クリックしてトリガーを作成/変更したいので、それを変更します。
最初のページで、次の部分を強調表示します。 Control Variables Item1 is OFF.右クリックして、[挿入] を選択します。 [ロジック] タブに移動し、別の変数を作成したいので、変数を制御します。鉛筆をクリックし、ダブルクリックしてリストに追加し、新しい変数の名前を変更します。私は PotionCurrent を選択しました (値が変化するため) デフォルトを 100 に設定し、次に適用して確認し、次に Operation =0 に設定してから確認します。リストでロジックが形になっているのを確認できます。デフォルト値は 100 です。つまり、アイテムがリスポーンするにはこれである必要があり、プレイヤーがアイテムを拾うと 0 に設定され、その後再び 100 まで上昇し始めます。それが次のステップです。
Actor Touch and Press Confirm Button – 2 である 2 番目のページで、ここでこれを変更します。 [トリガー条件] を選択し、ドロップダウン メニューから [自動実行] を選択します。空白のままにした領域で、ダブルクリックして追加し、[ロジック] タブを見つける必要があります。ループ機能を選択します。ループの下で:下を繰り返し、すぐ下にダブルクリックして追加し、それを実行してロジックタブをもう一度見つけて、待機関数をクリックします。これを 6 フレームに設定します。これは、1秒間に10回発射することを意味します。必要に応じて、独自の値を使用できます。 Waitコマンドの下で、ダブルクリックして追加し、もう一度Logicタブに移動します。変数を制御し、PotionCurrent 変数を選択します。操作を変更するオプションがある場合は、「等しい」と表示されます。これを Add に変更し、Constant を 1 に変更します。これは、PotionCurrent の値が 6 フレームごとに 1 ずつ増加し、100 に達してプレーヤーが別のアイテムを拾えるようになることを意味します。
まだ完了していませんが、これが事実であることをゲームに認識させ、イベントをリセットする必要があります。 [制御変数] の下で、ダブルクリックして追加し、[ロジック] タブと [条件分岐] を選択します。下部にある Create Else Branch のチェックを外します。これは必要ありません。ダブルクリックして追加し、PotionCurrent 変数を再度見つけます。等号および定数としての比較を 1000 に設定し、確認します。
次に、ダブルクリックして変数を追加および制御します。今回は、前に作成した Item1 スイッチを探します。定数をオンに設定します。確認してテストします。しばらくするとイベントが戻ってくるはずです。
機能することがわかったので、リスポーンにかかる時間を増やすことを検討します。これにはさまざまな方法があります。
私が推奨する方法は、単純に PotionCurrent 変数を 1000 に増やすことです。この方法で行う場合は、変数のデフォルトを 1000 に設定する必要があります。そうしないと、エラーが発生します。また、必要に応じて変数値を追加するため、待機コマンドをフレーム単位で増減することもできます。各イベントが発生する時間を簡単に追跡できるようにしてください。
たとえば、統計を増加させる魔法の種よりも、一般的な治癒植物をはるかに速く出現させることができます。この方法では、ファーミング メカニズムを最適に制御できますが、プレイヤーは各アイテムがスポーンするまでの時間を推測する必要があります。
最後のセクションでは、プレイヤーがアイテムを取得した後にポップアップするプログレス バーを作成する方法を紹介します。このバーは PotionCurrent の値に応じて補充され、アイテムが再出現するまでの待ち時間を視覚的に表します。
高度な操作
この最後のステップでは、進行状況バーを作成するために UI エディターに移動します。 UI エディターをいじるとバグやエラーが発生する可能性があるため、ここで間違いがあった場合に備えてプロジェクトをバックアップしてください。繰り返しますが、続行する前にプロジェクトをバックアップしてください。この重要性はいくら強調してもしすぎることはありません。別の方法は、私と同じように空のプロジェクトを作成して、さまざまなメカニズムをテストすることです。
その後、前進し、前進します。コントロールではなく UI タブにいることを確認し、左側のメイン インターフェイスを選択します。下部には、プログレス バー ボタンがあります。 Left click and drag that anywhere in the interface and it will visually create a new progress bar. Now you need to find the properties of this bar. On the right hand side of the editor, find it in the list of items with the padlocks and name it (optional). Also optional, but you may want an alternative image for the bar. The big progress bar I find to be quite visually intrusive for it’s purpose. Under Image, Base Image, select the pencil to edit and then find the file bar-actor-exp-0.png. Now on Progress Bar Image, seek out the file bar-actor-exp-1.png. This will be visually more practical for our needs. Continue on to Progress bar section underneath and select Designation with Variable. Simply select the PotionCurrent variable we made earlier.
Now for the Max Value, we must make another variable. Call it PotionMax and set this at 100 (or whatever else value that matches up with your earlier variable). Since we changed the bar image, we need to also change the direction to top to bottom or vice versa rather than left to right.
Under Appearing Conditions, click the pencil and find the Item1 Switch variable and set the Constant to OFF. This means the bar will only display when the character picks the item up. Once the guage is filled, it will disappear again. Finally, locate the Text button at the bottom of the interface and drag it up next to wherever you set your progress bar. I like this to display near the pause button at the top right so it’s nice and neat and doesn’t interfere with gameplay too much. In the properties of the text on the right, change the text to say Potion, and under Appearing Conditions set Potion1 and constant OFF as above. Confirm and save everything then playtest your game.
In addition to having items that respawn over time, you now have a visual representation of how long the item will take to reappear. Feel free to mess around with the values and the UI. You may wish to have the progress bar appear above the actually harvest spot and then disappear after maybe three seconds. This can be achieved by using X and Y variables to determine the location of the harvest point and you could maybe use a separate ON/OFF variable switch to activate/deactivate the progress bar UI after applying the Wait function.