去る4月18日に「続・ゲームにおけるスクリプト言語の現状」に行ってきました。
「ごく簡単な並列処理スクリプトシステムの設計と実装」 小久保啓三(HAL東京)
クロノトリガーで使われたイベントスクリプトの例を出しての説明です。
複数のNPCを同時に動かすとなるとどうしても並列処理が行えるスクリプトが必要ですが、
スクリプトを作る人は、プログラマではないことが多いので、
ややこしい仕組みを持つスクリプトでは使いこなせません。
その辺をアクターモデルを使った例で説明していました。
「『サクラ大戦Ⅴ』でのスクリプト運用事例」 秋葉晴樹(セガ)
ギャルゲーではロボットに乗って敵と戦うのはよくあることだそうです。(例:アイマス)
スクリプトとしてはそれほど珍しい設計ではないですが、先読み機能が気になりました。
画像やサウンドを先に読んでおいて、ロードの負担を分散する方法です。
先読みを行うと、いろいろな内容が更新されているため、セーブができません。
セーブ用と先読み用で二つのステート管理をしているそうですが、それにまつわる問題/解決方法などを話していました。
「汎用スクリプト言語Xtal 設計と実装」 石橋立宣(バンダイナムコゲームス)
ポストLuaを目指して作っているXtal(クリスタル)の解説です。
Luaにある機能はおそらく実装しているそうです。
クロージャ、コルーチン、多値など、ぱっと思いつくものは全部ありました。
まだまだ作りかけながら、一通りの機能が揃っている感じですね。
あとは、日本語でリクエストできるのもいいぞ!とのことです。
Squirrelもそうなんですけど、変な記号を作るのが好きなんですかね?
変数の宣言と代入を分けた方がバグが少ないというのはわかるのですが、
x : 1 やx <- 1 を変数宣言とするよりは、global x = 1 の方が好みです。
「Squirrelスクリプトを使った実装と活用」
神尾隆司(スクウェア・エニックス)、北出智(スクウェア・エニックス)
95ページのスライドのおかげですごいペースで進んでいました。
デバッガが充実していなかったので、デバッグの機能をかなり付け加えたとのことです。
中でも、デバッグデータの出力関数を用意しておいて、
どうしても情報が出ないまま止まった時は、デバッガでPCを飛ばすというのが印象に残りました。
#これからは積極的にレポートも書いていこう…ネタ切れだし(ぉぃ