2009-04-18 :-)
_ 朝ッ
1030 起床
_ 係員に細かく案内された
会場まで迷いやすいというのもあるしあまりうろつくなというのもあんだろうね
_ [IGDA][スクリプト]IGDA日本ゲームテクノロジー研究会第13回研究会「続・ゲームにおけるスクリプト言語の現状」
@HAL東京コクーンタワー
コクーンタワーは 福井しぇんしぇ が勤務していることで有名だが( オレのなかで ) いままで入ったことがなかったのでかなり楽しみにしていた。ゲーム開発とは縁は無いオレがなんで行くんだよというツッコミを貰いそうなんだけど仕事方面でオレ様スクリプトという代物に関わったことがあるのでその参考になるんじゃなかろうかなどという建前なんだが実のところはたんに面白そうだからだったとコメントしてる。講演後にエレベーターに乗ってたら fam に遭遇した。まあそうだろう
ゲーム開発の現場をまったく知らないので未知の世界だったのだけど、話を聞いてみると別に魔術を使ったり超能力を使ったりスーパーマンが登場するなんてことはないのだね。
スライド資料は後日どこかに置かれるかもしれないし置かれないかもしれないので内容については妄想するといいよ。
ごく簡単な並列処理スクリプトシステムの設計と実装
小久保啓三( HAL )
- 好きなもの- 自然言語
- プログラミング言語
- Lisp
- FORTH
 
- スクウェア時代の事例- おもにクロノトリガーの事例
 
- スクリプト言語- ATEL エーテル
- スクウェアのATB用に書いた
 
- アクティブタイムバトル- FF4 以降のバトルシステム
 
- 並列処理- クロノトリガーで並列処理を使いたかった
- バトルとフィールドのシームレスな移行で使うとかなんとか
- ゲームやる前の SE 時代に並列処理を書いていた
 
- ACTORモデル- AI 方面で人気
- アクターモデル - Wikipedia
 
- クロノトリガーでのスクリプト- バトル開始時の配置とか
- 演出を記述できるようにした
 
- 仮想アクター- スクリプターが使いやすいように各々勝手にアクターを作っていた
- ディレクター- 全部コントロール
 
- 照明さん- 照明をコントロール
 
 
- コンパイラ- 辞書を作っておく
- スクリプトの語彙を増やす
- 65C816 ( スーファミの CPU )のニーモニックも書いておいた
- インラインアセンブラ書けるんだぜ
- 誰も使わなかったけど
 
- ドライバ- 実機側
- デッドロック起きた
- デバッグしんどかった
- この教訓を踏まえて
- FF7 では内蔵デバッガ作った
- テレビ画面にスクリプトの処理内容を表示
 
- まとめ- 言語は生き物
- 細部よりも思想と発展- 自然言語もプログラミング言語も
 
- GUI との融合させたい
- エフェクトを記述したい- いちいちパラメーター変えて実行して試すのでは手間がかかる
- マウスで操作してスクリプト生成とかできるといいかも
 
 
『サクラ大戦Ⅴ』でのスクリプト運用事例
秋葉晴樹( セガ )
- サクラスクリプト- C 言語ライク
- 暗号化- チート対策
 
 
- マクロ- メッセージ
 
- HSL- XML みたいなもの
 
- 台本作成ツール- 台詞のための台本
- 台詞の誤字脱字のたびに作り直すのがしんどい
- ツール作った
- マクロ→台本
 
- 体制- プログラマはサクラ大戦を作るためのツールを作ることに徹した
- サクラ大戦そのものには口を出さない
 
汎用スクリプト言語Xtal 設計と実装
石橋立宣(バンダイナムコゲームス)
- xtal-language - Google Code- クリスタル
- でもみんなエックスタルと読むんだよね (´Д`;)
 
- 言語を作りたかった- 以前 Ruby でツール作った
- あまりにもさっくり作れて感動した
 
- テンプレートかわいいよ、テンプレート- C++
- メタプログラミングにいいよ
- Modern C++ 読むといいよ
 
- 理想の言語は体調によって変わる- 2000 年ころから 5 回作り直した
- Lisp ライクになったこともある
- Lisp は美しいと思う
 
- 未踏プロジェクトに応募するよ
4894714353
Squirrelスクリプトを使った実装と活用
神尾隆司(スクウェア・エニックス)、北出智(スクウェア・エニックス)
- 神尾隆司- 「小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル」の事例
- 小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル
 
- Squirrel- スクアール(ここでは)
- コードは 6000 行で実装されてる
- C++ だっけ
 
- ゲーム全体で使った- いわゆるメインループも Squirrel で書いた
 
- import- 実行時にスクリプトを reload
- スクリプトエラーが起きたら修正して import させる
- システムを停止させずに済む
 
- デバッガ- eclipse/SQDev
- 使いづらい
- 実用的じゃない
- VS2008 用デバッガがあるよ
- Squirrel - Squirrel Visual Studio 2008 Integration
 
- 北出智- 「My Life as a Darklord」の事例
- Final Fantasy Crystal Chronicles: My Life as a Darklord
 
- システム部- C++
- 30%
 
- ゲーム部- Squirrel
- 70%
 
- 小さいプロジェクトには良い- 「小さな王国...」も 「My Life...」 も小さいプロジェクト
- トライ&エラー
- 試しに動かす、がやりやすい
- トライ&エラーする体制だった
- 同じことが出来るかどうかはゲームの種類による
- アクションゲームだと厳しいかもしれない
 
- 地雷- 踏んだ
- バグとか
- でも 600 行と小さいので追いやすい
- トリッキーな書き方は避けた
 
VM
この時間のなかで頻繁に VM( Virtual Machine ) という言葉が出てきたのだけどスクリプト言語の文脈で VM がどういう役割りなのか理解してない。この辺がヒントかしら。
[ツッコミを入れる]










