SkookumScriptを触ってみた

Stingrayが終わっちゃったからUE4の記事を書く

UE4と連携できるスクリプト言語、skookumscriptについてざっくり書いてみた。 割と良さげなのに日本語でskookumscriptについて言及している記事がほとんど見当たらない。 skookumscript.com

特徴(間違ってたらごめんぬ)

  • 組み込みクラスを含む各UClassに仮想関数やフィールドを生やすことができる。
    これがかなり嬉しい...
  • BP用関数は戻り値をBPクラスにすることはできない(おそらく循環参照で依存関係おかしくなるから)。C++クラスにすることはできる。 自分で用意したBPクラスにキャストするだけの関数は需要あると思うけどできない。 BP側でキャスト書きたくない人は基底クラス側に仮想関数生やしまくることになるかも?
  • execution pinなしのノードを作れない(たぶん)
  • skookum側のフィールドにBPからの直接アクセスはできず(たぶん)getter/setterが必要。 逆は不要。
  • 1クラス1ディレクトリ1関数1ファイル(ギョッとするが、意外にもIDEとの相性が良い)
  • 静的型付け。グルーコード部分は自動で更新される。
    スクリプト側、ゲーム本体側のインターフェース変更があったときの対応漏れが最小限に抑えられるので、地味に助かる.... 更新タイミングはBPコンパイル時だったかSKコンパイル時だったかよく観察していないです。すみません。

IDEについて

  • IDEは複数インスタンス起動できないみたい。
    デモプロジェクトと見比べながらの作業はしんどいかも。
  • 現状IDEWin64版しか提供されていません。
    実行は他プラットフォームでも可能。