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

スクリプト言語をメインに開発された『小さな王様と約束の国』舞台裏〜 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. 「日本と海外におけるゲーマーにとってのリージョン制限」・・・イバイ・アメストイ「ゲームウォーズ 海外VS日本」第22回

    「日本と海外におけるゲーマーにとってのリージョン制限」・・・イバイ・アメストイ「ゲームウォーズ 海外VS日本」第22回

  2. 【インタビュー】TGS2017では異色の出展社?!ゲームユーザーのためのPayPalの「覚悟」とは

    【インタビュー】TGS2017では異色の出展社?!ゲームユーザーのためのPayPalの「覚悟」とは

  3. 【CEDEC 2010】コーエーが明かすネオロマンスシリーズのキャラクター作り

    【CEDEC 2010】コーエーが明かすネオロマンスシリーズのキャラクター作り

  4. 建築ビジュアライゼーションにも活用される『Enlighten』-ゲーム開発技術との関連性は?ヒストリア代表に訊く

  5. 【TGS2017】『ソードアート・オンライン レプリケーション』発表、VR × 5Gでアインクラッドを再現

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

  7. セガが中国テンセントと協業しPC向けプラットフォーム「WeGame」へ進出―第1弾は『戦場のヴァルキュリア』

  8. 2017年10月発売の新作ゲームは何を買う?―注目タイトルまとめ!

  9. 【CEDEC 2017】基調講演『ソードアート・オンライン』が見せる未来、小説とテクノロジーについて語る

  10. コンソール業界出身エンジニアが語るハイブリッドアプリ開発の舞台裏!DeNAのゲームエンジン開発

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