TOP >> ゲームビジネス >> その他

スクリプト言語をメインに開発された『小さな王様と約束の国』舞台裏〜 IGDA日本SIG-GTレポート

Yahoo!ブックマークに登録 はてなブックマークに登録 ブクマッチする livedoorクリップに登録 del.icio.usに登録 Twitterでつぶやく
2009年4月21日(火) 12時45分

WiiWareで配信されている“国造りRPG”『小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル』(以下、小さな王様と約束の国)では、組み込みスクリプト言語Squirrelが採用され、開発効率が高められています。4月18日に開催されたIGDA日本のSIG-GT第13回セミナー、「続・ゲームにおけるスクリプト言語の現状」では、スクリプト言語を大幅に取り入れた本作について、Squirrelの特徴や開発の舞台裏などについて、開発チームの神尾隆司氏と北出智氏が「Squirrelスクリプトを使った実装と活用」と題して講演を行いました。



まず、Squirrelの特徴について神尾氏は、Squirrelの作者、Alberto Demichelis氏にゲーム開発経験があり、alloc/free(メモリ管理機構)の置き換えが可能など、気が利いていること。ソースコードが6000行ほどで万一致命的なバグがあったときでも自分たちでなんとかできそうな規模であること、グローバル変数の初期化を「=」でさせない(うっかりミスを減らせる)、コメントがC++と同じ形式で書けること、マルチスレッドが安全に書けることなどを紹介。

さらに、例外処理が用意されていてスクリプトのエラーを補足できることや、getroottableによってシンボルが定義済みかどうかを調べたり、クラスの名前をスクリプトから取得したり、定義済みfunctionを解放できるなど、開発効率やメモリ効率を高める機能についても解説をおこないました。

「小さな王様と約束の国」での具体的な実装については北出氏が紹介。スクリプトの本作での使い方として、メインループもスクリプトで記述する構成になっていることを紹介、「それはさすがに極端だと思うが…」と述べてはいましたが、「小さな王様と約束の国」が実際にリリースされ、同じくSquirrelを採用した北米向け作品「My Life as a Darklord」も開発されていることから十分実用的なことがわかります。「My Life as a Darklord」では、「小さな王様と約束の国」で開発したソースコードのうち、C++ソースの94%、Squirrelスクリプトソースの30%が流用できたとのことです。C++ソースはなるべく流用する方針だったとのことですが、94%がそのままというのはかなり高いのではないでしょうか。

制作においては、関数やクラスの追加のたびにおこなうバインド(C++とSquirrelでデータをやりとりするための定型コード作成)作業が面倒なため、XMLとnutを変換するコンバータを作ったことや、ツールでC++ヘッダからバインドコードを自動生成させるといった、定型作業の負荷を減らす工夫が紹介されました。

スクリプトによる制作では、多くのエラーがランタイムエラーとして発生するため、ランタイムエラーを減らすためにネーミングルールを統一したり、例外をキャッチしたときにスタックダンプを出力するコードを入れておく必要があったとのこと。

ほとんどをスクリプトで書いたためメモリ管理をVMにまかせることができ、レアバグが起きにくいというメリットがあったものの、スクリプトを動作させていくと消費メモリが増えていくためメモリの監視は重要だとしています。消費メモリについてはガベージコレクション(GC)によって回復しますが、1フレーム(1/60秒)で処理が終わらない場合はフレーム落ちとなるためGCを動かすタイミングにも注意が必要です。

質疑応答では、「全部Squirrelでやるにあたって、勝算はどれくらいあったか?」との質問に対し、「初期デザイン作業において、プロトタイピングをしてトライしてみないといけなかった。いろいろ要素をつけたり消したりするのはCではやってられなかったと思う」と回答、初期段階から得られる生産性の高さを評価していたのが印象に残るセッションでした。



関連画像
IGDA日本 SIG-GT第13回セミナー2
IGDA日本 SIG-GT第13回セミナー2
IGDA日本 SIG-GT第13回セミナー2
(Article written by 伊藤雅俊)
Reader's Voice(0)
コメントはありません
インサイドIDでログイン
投稿するにはログインする必要があります。
登録されてないかたはこちらから登録できます。
ユーザー名
パスワード

Yahoo JAPAN IDでログイン
YahooIDでログイン

mixi IDでログイン
mixiIDでログイン
小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル
機種 WII
ジャンル RPG
発売元 スクウェア・エニックス
開発元
発売日 2008年03月25日
プレイ人数 プレイ人数未定
ゲーム評価(レビュー)する ゲームコレクションに追加
購入予定(ウィッシュリスト)に追加