Lua と Flow: 選び方

Stingray では、インタラクティブなゲームプレイを設定する主な方法として、Flow ビジュアル プログラミングと Lua スクリプトの 2 通りの方法を選ぶことができます。どちらを選ぶこともできます。また、両方を組み合わせて使用することもできます。ではどのようにして選べばよいでしょうか。

選び方は、プロジェクト設計や作業チームごとの要因の数によって異なります。たとえば、プロジェクトの規模やスタイル、チームの規模、プログラミングの熟練度、他のゲーム エンジンでの作業経験などです。

このページでは、ゲームの作成方法を考える上でのヒントを紹介します。

Flow の利点

Flow の大きな欠点として、次のような点があげられます。

Lua の利点

Lua の大きな欠点として、次のような点があげられます。

最も適切な方法

Lua と Flow の両方を組み合わせることにより、両方の長所を活用することができます。

これにより両方の長所を利用できるようになるのです。ゲーム設計者は、プログラミング ロジックの一番下のレベルまで行かなくても、構築ブロックからインタラクティブ エクスペリエンスを構成することができるようになります。また、Flow でクリエイティブな新しいゲームプレイのプロトタイプを作成したり、アルゴリズムやパフォーマンスを強化または改善したり、将来的なメンテナンスを簡単にすることもできるようになります。一方、プログラマは Lua で使用できる広範な API、使い慣れたスクリプト作成環境、および Visual Studio Code などの標準開発ツールを使用して動作をデバッグする機能を利用できます。

Flow と Lua の間で通信する」も参照してください。

C について

経験のあるプログラマは、カスタムの C または C++ コードをプロジェクトで使用することもあるでしょう。通常、C コードの方が実行速度が速いため、パフォーマンスが重要な場合に便利です。また、サードパーティ ライブラリを統合したり、既存の C コードを再利用することもできます。

ダイナミック リンク ライブラリにコードをパッケージ化することができる場合、関数のための Lua バインディングを作成し、ゲームの Lua 環境から呼び出せるようにすることができます。また、LuaJIT FFI ライブラリを使用して Lua コードから直接 C 関数を呼び出すこともできます。詳細については、「Lua から C コードを呼び出す」とサブトピックを参照してください。

また、Stingray エンジンで使用可能なネイティブ プラグイン API を使用して、独自のエンジンレベル プラグインを作成することもできます。この場合、現時点では Stingray ソース リポジトリにアクセスする必要があります。詳しくはオートデスクの担当者にお問い合わせください。また、『Stingray 開発者用ヘルプ』も参照してください。