tokimura

シナリオライター必見!エクセルでできるUnity用ノベルゲーム制作ツール『宴』

  • このエントリーをはてなブックマークに追加

by [2014年11月18日]

時村良平氏。Unity用のADV制作ツール「宴」制作。ゲーム開発者10年生。Unity経験3年。
元チュンソフト在籍、現在は独立個人ゲーム開発者「マッドネスラボ」として活動中。
宴は、Asset Storeで購入できる。価格は$65。

2014年11月11日(火)、ニフティクラウドmobile backendがITエンジニア向け勉強会を開催しました。第5回目にあたるこの勉強会のメインテーマはUnityで、時村良平さんの講演『エクセルで作れちゃうノベルゲーム制作用Asset「宴」』を拝聴してきました。

▼関連記事
端末に触れずに操作できる高機能サイコロアプリ『ダイスふる』

DLC対応、ファイルサイズ制限を気にする必要はない

アドベンチャーゲーム(以下ADV)というのは、基本的にキャラクターとセリフを表示させます。美少女ゲームでよく使われているシステムです。Unityに対応しているものは少ないので作りました。

「宴」の最大の特徴は、エクセルでキャラクター名とセリフ、立ち絵パターンなどを指定するだけでADVが作れるところです。通常タグ言語を使ってスクリプトを書かねばならなかったのですが、作りやすさを追求しました。

実際にノベルゲームを作っていくとシステム的な部分が必要になります。バックログや、セーブロード機能などです。ノベルADVでよく使われるこれらのシステムは用意してあります。シーン回想やCG回想などの、ギャラリーモードもできるようになっています。

またダウンロードコンテンツにも対応しています。アプリにはファイルサイズ制限というものがあって、容量が大きいファイルはWi-Fi環境下でないとDLできないようになっているんです。サイズ制限に引っ掛かってしまう場合は、大きなファイルはサーバーに置いて後から別途DLするという仕組みが必要になります。というのも、そのような措置をとらないと、Wi-Fi環境にいないユーザーが「このゲームはやらなくていいや」と二度と見向きしてくれなくなるからです。開発者側はなんとかしてファイルサイズを抑えるように苦心しているのですが、ADVはどうしてもファイルサイズが大きくなってしまいます。音声ファイルが多いとGB単位の容量が必要になることもあるので、ちゃんとしたADVを作るのならばDLCにも対応しなくてはなりません。Unityの基本システムとしてアセットバンドル(AssetBundles)という仕組みがあるのですがプロユースオンリーです。「宴」はインディーズの方も使いやすいように、無料版のUnityでも動くものを用意しました。pngやwav、mp3などのファイルもDLできるので、データ管理がしやすくファイルサイズも小さく抑えることができます。

もう1つ、ロードの遅延も解決してあります。プレイ中に描画がカクついたり起動が遅かったりするのは、大抵の場合サーバからのDLやキャラクターの読み込みに時間がかかっていることが原因です。「宴」ではそのあたりの問題にも対応しているので、基本的に制作者は何も気にしなくともヌルヌルと良く動くものを作れます。技術的にはこういったところが売りなんですが、ユーザ視点ではストレスが少ないゲームが提供されるというイメージをもっていただければと思います。

マルチプラットフォーム対応

ベースがUnityなのでマルチプラットフォーム対応です。WebプレイヤーとPC、iOS、Andoirdを想定しています。ただしWindows Phoneには現在非対応です。Unity5が来年(2015年)にもリリースされるのではないかと言われていますが、HTML5とWebGLに対応できるようになります。これらに対応するとブラウザ上でアプリを作れるし、遊べるようになるということです。実現すればスマートフォンのブラウザからもプレイできるようになるかもしれません。とはいえ、処理が結構重いので実用に耐えうるかはまだわかりません。「宴」2.0ベータ版で動作実験をしていますが、まだちょっと動かせません。きちんと動くようになれば、アプリをDLしなくとも、製品の宣伝用のちょっとした寸劇などをブラウザに仕込むといったことも可能になるかと思います。

実際に使ってみたところ

実際に使ってみたところです。ブラウザでプレイするにはUnityのWebPlayerというプラグインが必要なのですが、それを使っています。キャラクターをどんどん表示させたり、バックログでセリフを見たり、サウンド(ボイス)を再生することも可能です。演出面もカバーしていて、トゥイーンアニメーション(FLASHなどではおなじみの、簡易的なアニメーションをつける方法)も使えます。

Unityを使いこなす必要はありますが、独自に拡張して3Dモデルとも連動できるようになっています。ちなみにこのデモのためにUnityのキャラクターをモデルにしたオリジナルキャラを作ったのですが、作っている最中に、UNITY-CHAN!という物凄く可愛いキャラクターが公式から発表されまして「しまった」と(笑)

またフラグ管理もできるようになっています。フラグを立てパラメータを加えて、ヒロイン毎のエンディングを見られる……という感じです。選択肢によってシナリオを変えることもできますし、特定のキャラクターに話しかけた回数をカウントしておくこともできます。

 

ノベルゲームに特化している「宴」ですが、ADV以外のゲームにも応用できます。3Dゲームの会話シーンなどに組み込むことが可能です。これは迷子の子どもを探そうというゲームなのですが、フラグ管理によって会話やイベントが変わってきます。あらかじめUnityに組み込んでおけばセリフの部分の選択肢にも対応できます。ログも見られるので、ちょっとリッチなゲームを制作するのに使えると思います。最近はシナリオも作りこまれたゲームが流行りつつあるので、そういったゲームにも対応できます。

ヴィジュアルノベルゲームジャム開催!

実際に「宴」を使った導入事例として、10月末にヴィジュアルノベルゲームジャム(以下VNGJ)というものを開催しました。ノベルゲームを2日間で作ろうというイベントでした。ゲームジャムは大抵の場合プログラマ主体での開発なのですが、たまにはグラフィッカーやプランナー、ライターが主体のものもあればいいね、という話を以前からしておりまして、「宴」を制作したのを期に開催してみました。参加チームは全部で9チーム、そのうちの7チームが宴を使って下さいました。初めて「宴」に触れる方も多く中にはプログラマが1人もいないチームもあったのですが、全チーム2日間で無事にノベルゲームを作ることができました。
2日間でシナリオとイラストを用意するのは間に合わないだろうという予想してテンプレートのシナリオなどを用意していたのですが、結局全チームが自力でシナリオ書き上げていました。参加者の方々は「こんなに忙しいゲームジャム」は初めてだとおっしゃっていましたが、プログラムいらずで作りこみに集中できる手ごたえを感じました。

そのVNGJ以外にも、アプリだと、インディーズ(同人)ではリリースされている方もいらっしゃるのですが、僕自身が直接聞いたということはまだありません。ゲーム開発会社が導入し始めているので、フィードバックを受けてブラッシュアップを図っています。製品レベルで使えるようになると思います。

使い方

Unityで「宴」を使おうとするとToolsというものが出てきます。詳しくは公式のDocumentを参照してください。プロジェクト名や解像度を設定して、Createとすると、ひな型が完成します。ここから先は素材をUnity側に読み込ませる必要があります。ボイスはボイスフォルダの下、キャラクターの立ち絵はキャラクターフォルダの下というようにシンプルに入れて設定するとファイル側の準備は終わりです。あとはエクセル側で、このキャラクターはこのパターンを使うというようにイラストを登録します。キャラクター名やセリフを記入して、エクセルをセーブすると、自動的にインポートが走ります。エクセルデータをUnity用のデータに変換しましたという合図です。すべてオートなので簡単です。後は同じ要領でサクサクとシナリオを書いていけばゲームに反映されます。

選択肢の分岐判定(シナリオラベルを作り選択肢を設定→選択肢を選ぶと飛び先にジャンプ→フラグに正解ポイントが1プラス→正解のシナリオにジャンプ→セリフと立ち絵が表示される)も簡単にできます。間違いの選択肢もカウントすることができます。条件分岐を追加して書いていき、バッドエンドを設けることももちろん可能です。プログラムの知識がなくてもシナリオライターやゲームデザイナーが直接組みこむことができるようになります。

これからの「宴」

現在「宴」のVer.2.0を作っています。これまではUIの差し替えが非常に面倒でした。そもそもUnityに良いUIシステムがなかったからです。UIを新しく作るためには外部のプラグインを別途購入しなくてはならなかったり、使い方を覚えるという手間が必要だったのですが、Unity4.6という次のバージョンからはUIシステムが搭載されることになりました。「宴」2.0はUnity4.6 に完全対応するように作っています。

テキストサイズの大きさなども変えられるようになりました。全てuGUIで作ってあります。uGUIの基本はキャンバスというものです。ヘルプを押せばUnityの公式マニュアルに飛ぶようになっています。UIを変えるためのノウハウはUnityのマニュアル通りに作れば問題ありません。uGUIはかなり便利で、リストビューなども作れます。まだ機能がそんなに揃っていないのですが必要になりそうなものは僕の方で全て拡張して作りましたので、だいたい使えるようになっているかと思います。またこれまでは16:9(iPhone5)に合わせるには設定をして、UIを配置し直すといった作業が必要だったのですが、uGUIはその点非常に優秀で、解像度にあわせてUIの配置を変えたり大きさを変えたりといった機能がついています。uGUIでUIを全て作れるのでたぶんとても便利になると思います。

現在「宴」2.0のベータ版を公開しています。公式サイトのblogに公開しましたというエントリがあります。実験段階ですし、これからどんどん構造を変えていくので、製品版とは互換性がとれないと思うのですが、試してみたい方はどうぞ自由にお使いください。バグ報告やご要望がありましたらどんどんお願いいたします。

リリース時期は、Unity4.6が年内ではないかと言われているので、その頃に合わせる予定です。審査に通す必要があるので年明けになってしまうかもしれません。UGIのマニュアルは英語なので、そのあたりもフォローしていく予定です。

2.0よりさらに先のお話ですが、まだまだ使いづらいという意見も多いので、どんどん拡張していこうと考えています。今後は演出の強化やUnity内外の他の機能との連携を重視していこうと思います。例えば、Live2D(2Dキャラクターをシームレスに、立体的に動かすシステム)を「宴」に対応してほしいという要望が多いのでやってみたいです。現在実験中です。あと、いつになるかわかりませんが、エクセルで条件分岐を作るのが面倒だという方が多いので、フローチャートエディタのようなものが作れたらいいな……と思っています。これはできたらいいなあという程度なので、後回しにはなってしまいますが実現できたらいいですね。

最後にAssetStoreのアセットには便利なものがたくさんあるのですが、基本的にすべて英語なので、使い方を理解するのが大変だという問題があります。その点「宴」は日本人である僕が作っているので、当然日本語対応です。むしろ、たまに英語での問い合わせがあるのですが、苦手なのでできれば日本語でお願いします(笑)公式ページに「連絡」というところがあるので、そこにコメントをいただければ僕がお答えいたします。1人で運営しているので特に間に誰かをはさむということはありません。以上ですがご質問があればどうぞ。

──uGUIについてなのですが、現状で大きい問題はありますか?
現在、Unity用のUI作成アセットとして一番よく使われているものがNGUIだと思うのですが、比較すると、唯一トゥイーン機能が使えません。ボタンを押したときのちょっとした動きをつける機能です。将来的にはサポートする予定と聞いていますが、現在は対応していないので、メカニウムというアニメーションをくっつけることで対応しています。トゥイーン的な動きはできなくはないけどちょっと面倒かなという感じです。その部分はNGUIの方がやりやすいと思います。ただ、uGUIは2Dや3Dのタッチ判定にも対応してますので、判定用アセットを取得して実装する必要はありません。UnityのuGUIがあれば3Dをタッチしたときにイベントも起きますし、ボタンをタッチしたら突き抜けて3Dに当たるというようなこともありません。基本的にはuGUIを使うことをお勧めします。

──「宴」2.0のファイルフォーマットは、エクセルのフォーマットから変わらないんですか?
そこは変わりません。既に「宴」で作ったシーンは動きますが、uGUI用のUIに自動変換されないので、その部分だけ作りなおしていただく形になるかと思います。それがちょっとネックです。

▼関連リンク
「宴」Unity用ADVツール
マッドネスラボ
PlayArt ビジュアルノベルゲームジャム
UNITY-CHAN!
Live2D
ニフティクラウドmobile backend

コメントは受け付けていません。

PageTopへ