人生にゲームをプラスするメディア

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

ゲームビジネス その他

スクリプト言語をメインに開発された『小さな王様と約束の国』舞台裏〜 IGDA日本SIG-GTレポート
  • スクリプト言語をメインに開発された『小さな王様と約束の国』舞台裏〜 IGDA日本SIG-GTレポート
  • スクリプト言語をメインに開発された『小さな王様と約束の国』舞台裏〜 IGDA日本SIG-GTレポート
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ではやってられなかったと思う」と回答、初期段階から得られる生産性の高さを評価していたのが印象に残るセッションでした。


《伊藤雅俊》

編集部おすすめの記事

ゲームビジネス アクセスランキング

  1. ブロックチェーン技術を活用した『My Crypto Heroes』が開発中-獲得したアセットはユーザー自身が所有権を持つ

    ブロックチェーン技術を活用した『My Crypto Heroes』が開発中-獲得したアセットはユーザー自身が所有権を持つ

  2. ゲームボーイ版『マインクラフト』はこんな感じ?―レトロ愛が伝わるファンメイド映像が公開

    ゲームボーイ版『マインクラフト』はこんな感じ?―レトロ愛が伝わるファンメイド映像が公開

  3. 今週発売の新作ゲーム『マリオテニス エース』『New ガンダムブレイカー』『The Lost Child』『Minecraft』『Musynx』他

    今週発売の新作ゲーム『マリオテニス エース』『New ガンダムブレイカー』『The Lost Child』『Minecraft』『Musynx』他

  4. VRは次のステップへ。さらなる進化を。SIEWWS吉田プレジデントインタビュー【E3 2018】

  5. 【UNREAL FEST EAST 2017】堀井氏がSwitch版『DQXI』の最新情報をポロリ!? ここだけのエピソードが満載だった『DQXI』基調講演

  6. 【CEDEC 2017】ゲームの特許は難しくない!だれでもわかる効果的なゲーム特許の取得方法

  7. 【特集】『東方Project』商業・海外展開の裏側、その背景には時代の変化が

  8. 【インタビュー】「ゲーマーの社会的価値を上げたい」OPENREC.tvに込められた想いとはーーCyberZ取締役に訊く

  9. VRゲームで初の死亡事故か―ロシアの通信社が男性の事故死を報道

  10. 閉店になった洋ゲー専門店「ゲームハリウッド」、海外ゲームソフトは「未来百貨」で販売継続

アクセスランキングをもっと見る