【CEDEC 2009】『ファイナルファンタジー・クリスタルクロニクル』における、Squirrelを使ったゲーム開発 | GameBusiness.jp

【CEDEC 2009】『ファイナルファンタジー・クリスタルクロニクル』における、Squirrelを使ったゲーム開発

注目のスクリプト言語「Squirrel」。株式会社スクウェア・エニックスの北出 智氏と神尾 隆司氏は、Wiiウェア『光と闇の姫君と世界征服の塔 ファイナルファンタジー・クリスタルクロニクル』(以下、『光と闇の姫君』)の開発における実例を解説します。

その他 その他
注目のスクリプト言語「Squirrel」。株式会社スクウェア・エニックスの北出 智氏と神尾 隆司氏は、Wiiウェア『光と闇の姫君と世界征服の塔 ファイナルファンタジー・クリスタルクロニクル』(以下、『光と闇の姫君』)の開発における実例を解説します。
  • 注目のスクリプト言語「Squirrel」。株式会社スクウェア・エニックスの北出 智氏と神尾 隆司氏は、Wiiウェア『光と闇の姫君と世界征服の塔 ファイナルファンタジー・クリスタルクロニクル』(以下、『光と闇の姫君』)の開発における実例を解説します。
  • 注目のスクリプト言語「Squirrel」。株式会社スクウェア・エニックスの北出 智氏と神尾 隆司氏は、Wiiウェア『光と闇の姫君と世界征服の塔 ファイナルファンタジー・クリスタルクロニクル』(以下、『光と闇の姫君』)の開発における実例を解説します。
  • 注目のスクリプト言語「Squirrel」。株式会社スクウェア・エニックスの北出 智氏と神尾 隆司氏は、Wiiウェア『光と闇の姫君と世界征服の塔 ファイナルファンタジー・クリスタルクロニクル』(以下、『光と闇の姫君』)の開発における実例を解説します。
  • 注目のスクリプト言語「Squirrel」。株式会社スクウェア・エニックスの北出 智氏と神尾 隆司氏は、Wiiウェア『光と闇の姫君と世界征服の塔 ファイナルファンタジー・クリスタルクロニクル』(以下、『光と闇の姫君』)の開発における実例を解説します。
注目のスクリプト言語「Squirrel」。株式会社スクウェア・エニックスの北出 智氏と神尾 隆司氏は、Wiiウェア『光と闇の姫君と世界征服の塔 ファイナルファンタジー・クリスタルクロニクル』(以下、『光と闇の姫君』)の開発における実例を解説します。

『光と闇の姫君』は、『小さな王様と約束の国 ファイナルファンタジー・クリスタルクロニクル』(以下『小さな王様』)に続く作品。アクティブタイムバトルシステム(ATB)風の戦闘が加わるなど、内容は大きく変化しています。開発は引き続きゲーム部分をSquirrel、システム部分にC++を使用する形式。特にC++の部分はかなりの部分が流用されているといいます。

Squirrelはゲーム開発を想定して作られたスクリプト言語。『小さな王様』『光と闇の姫君』『X-Blades』など様々なゲームで使用されており、Luaよりも使い勝手が良いとのこと。

『光と闇の姫君』では、プログラマーは『小さな王様』から3名減少して2名となり、しかも1名はSquirrel初心者という状況。「Squirrelをゲーム実装にフル活用」し、「見通しの良い設計で問題を未然に防ぐ」ことが実装方針となりました。

今回はゲームを起動したままでデータやコードをリロードし、修正・調整の結果を即座に反映できるようになりました。ゲームを起動したまま「修正前」「修正後」の二つのデータやコードを比較可能になったというわけです。ゲームを実行中にデバッグメニューに新たな機能を追加することも可能とされており、修正結果をゲーム上で即座に確認できるという「少し新しい感覚」(北出氏)はスクリプト言語のメリットであったといいます。そのためには「適切なクラス分けとしっかりした管理が必要」(北出氏)であり、これは「見通しの良い設計で問題を未然に防ぐ」前述の実装方針とも繋がっていくことになります。

神尾氏によれば、開発においてSquirrelのスタックダンプが役立ったそうです。ソースのどこで止まったかが簡単に分かり、原因の特定が非常に容易である、と評価します。それでも変数やメンバがない、型が違う、ソースの打ち間違いで起こるランタイムエラーは「一番重要な問題」であり、ネーミングのルールを統一、タイプしにくい名前は避けるなどベーシックな工夫が必要であるとのこと。

Squirrelは、前作のシステムを使いながらも「全く違った」ゲームが作成でき、特にゲームを起動しながら試行錯誤できることが大きかったと評価されました。もしもC++のみで開発した場合は、「現在の1.5倍の手間がかかったのではないか」というほどの有用性が確認され、『小さな王様』作成時の課題だったランタイムエラーやメモリリークといった問題を解決できたそうです。但し、Squirrelの使用時にはメモリーマップの把握が困難であったり、デバッグのコストが増えるといった問題があり、特にエラーに関しては「対処していないとランタイムエラーの嵐」になるとのこと。

両氏は今後もSquirrelを使いたい、と結論。新作の立ち上げ時には特に有効であるとの見解を明らかにしました。

Wiiウェアなどダウンロードゲームの小規模開発が脚光を浴びる昨今ですが、それだけに実例を挙げての講義は貴重な内容。『光と闇の姫君』では『小さな王様』よりもプログラマーの人数が減っていたことを踏まえると、小規模開発のノウハウは今後重要なものとなっていくことが予想されるのではないでしょうか。
《水口真》

この記事の感想は?

  • いいね
  • 大好き
  • 驚いた
  • つまらない
  • かなしい
【注目の記事】[PR]

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら