−IGDA日本SIG-GT12レポート1月17日、IGDA日本ゲームテクノロジーSIGによる組み込みスクリプト言語のセミナーが、コクーンタワー(専門学校HAL東京)にておこなわれました。編集部にメッセージを送る1月17日、IGDA日本ゲームテクノロジーSIGによる組み込みスクリプト言語のセミナーが、コクーンタワー(専門学校HAL東京)にておこなわれました。組み込みスクリプト言語は、ゲームエンジン上で動作するインタプリタ的に使える言語処理系で、LuaやPython、LISPなど公開された言語から独自の文法を持つものまでさまざまな言語が実装されてゲームに組み込まれています。文法が多様なだけでなく、用途(シナリオ分岐や演出、AI、ゲームロジック等々)や利用者(プログラマ、スクリプター、プランナー等々)にあわせていろいろな機能・記述性も求められます。今回は組み込みスクリプト言語セミナーの第1回ということで、公開されている言語処理系を中心に取り上げられました。Script解説ののち、ゲーム開発で実際に組み込みスクリプト言語に携わる方々によるパネルディスカッションが設けられました。C/C++へのLua組込み実践」を執筆されています。5.1で改善されたガベージコレクション、コルーチンなどの特徴的な機能を紹介しました。浜中氏は、ゲーム開発において組み込みスクリプト言語を採用する理由として、ゲームの調整段階での修正がより行いやすくなる点をあげています。CやC++ですべてを記述する場合、修正と確認を繰り返すと「コード修正、ビルド、ゲーム再起動、場面の再現、結果の確認」という流れとなってしまい時間がかかりすぎると指摘。組み込みスクリプト言語によってリビルドせずにゲームを実行したまま動作を変更できるようになり、ゲームの改善に集中できるようになるとそのメリットを強調しました。5.1からインクリメンタルGCが導入されたことでフレーム落ちしにくくなったものの、GCの問題はプロジェクト後半に起きやすい(データやスクリプトが大量に作り込まれるため、GC対象となるオブジェクトが増える)ことから、やはり注意は必要だともしています。その上で浜中氏は、「スクリプト言語は有効に使えば強力なツールだが、使いどころや言語・実装の選択によってはうまくいかないこともあるため、判断情報を共有して使いやすくしましょう」と呼びかけました。Script」の開発における苦労や今後のプランについて講演をしました。Scriptの開発に着手したとのことです。現在のプラットフォームはWindows、Xbox360、MacOSX、iPhone(移植中)。標準化されているさまざまな言語仕様からECMAScriptを選んだのは、プログラマ人口がもっとも多い言語であることと、C++やJavaに近い文法の手続き型言語であることが理由だと述べました。なし」「その他表示義務等なし」とのことです。Scriptで独自の文法ではなく標準を採用したことのメリットとして、言語仕様がある程度こなれていること、既存のテストスイーツやライブラリコードが使えることに加え、標準仕様であること自体意味があるとも述べています。デメリットとしては仕様規模が大きい(日付処理のようにゲーム機では要らないようなところも実装しなければならない、また、組み込みに向いていない仕様もある)、標準を離れた独自の大規模拡張が難しいといった点をあげています。Scriptの実装まわりについても、コンパイラ、リンカ、VMの開発上の注意点をあげつつ解説がおこなわれました。コンパイラ部分については、GNUライセンスの特例によってBisonが採用できたのでプロジェクトの立ち上げが楽だったというエピソードや、VMの最適化によって普通に組んだ状態から3倍以上の高速化をおこなったことなどが紹介されました。メモリフットプリントについては現在コンパイラが411KB(うち、Bison生成コードが92KB)、VMが216KB(うち正規表現ライブラリが49KB)+ユーザー使用分となっていて、今後、不要なコンポーネントやライブラリを切り離せるようにする計画とのことです。Scriptは現在、criscript.comでベータ版が公開されています。・ガ」「クロノトリガー」および「ファイナルファンタジーVII」開発者の小久保氏(現在はHAL)とそうそうたるメンバーが登壇しました。スクリプト言語「Xtal」は、石橋氏が開発したC++に組み込んでゲーム製作に用いるのに適したスクリプト言語です。オープンソースで、石橋氏が多忙で1年ほど停止していたものの、開発が再開されています。ファイナルファンタジー・クリスタルクロニクル」は、組み込みスクリプト言語Squirrelを採用したWiiWare用タイトルで、神尾氏は昨年のCEDECでも講演をおこなっています。ノベルゲームエンジンNScripterは、「月姫」「ひぐらしのなく頃に」などで採用されているゲームエンジンで、シナリオライターが演出まで作り込めるような平易な文法が特徴となっています。サクラ大戦のスクリプトは、アドベンチャーパートだけでなく移動やSLGでも利用されていた。ADVパートでは、シナリオライター向けの平易な「マクロ形式」と、スクリプター向けの、プログラミング言語らしい「スクリプト形式」の2層構造となっていて、マクロ形式はコンバータでスクリプト形式に変換できるようになっています。小久保氏のスクリプト言語は、アクターモデルを採用したもので、画面上のオブジェクト(PC、NPC、宝箱などなど)が一つ一つアクターとして管理され、メッセージを送りあって動作するようになっています。パネルディスカッションは、司会からのお題にマルかバツかで答えるという形式で進行しました。ここではいくつかのQ&Aをご紹介しましょう。欧米の話になるが、プランナーもプログラム教育を受けてる。狭い意味では皆がプログラムを書ける。