アセット作家インタビュー「宴」by マッドネスラボ(前編)

日々公開されているUnity向けアセット。それはどんな人がどんな思いを込めて作られているのでしょうか。
アセットを作り、販売している「人」にフォーカスし、アセット作家様を応援する企画として「インタビュー」シリーズを始めます。
第一弾は、数多くのアセットで利用され、CEDEC Awardsの受賞歴もあるビジュアルノベル開発キット「宴」を開発したマッドネスラボの時村良平さんにお話を伺いました。
細かいところまで行き届いた職人技が光る「宴」ですが、開発に苦労もされているとのことで、インタビューは想定の倍以上のボリュームとなりました。今回は前後編に分けてお届けします。
インタビュー:マッドネスラボ 時村良平 様 @rodostw
聞き手:株式会社ヘッドハイ 一條貴彰
https://www.assetstore.unity3d.com/jp/#!/content/80727
「宴」公式サイト
http://madnesslabo.net/utage/
「宴」これまでの軌跡
――本アセットの概要についてお教えください。
「宴」はビジュアルノベルや、会話シーンを作るためのアセットです。
ビジュアルノベルに必要なコンフィグや、バックログ、回想シーンなど基本的なシステムは全部自動で作られるので、基本的にはプログラムなしでノベルゲームを作ることができます。
幸い各方面から好評いただいて、2015年12月のUnityさんの主催したAsset Storeコンテストでグランプリをいただいたり、CEDEC Awards 2016のプログラミング部門で優秀賞をいただいたりしています。正直、こんなに評価されるとはまったく思っていなかったので本当にありがたいです。
第1回 Unity Asset Contest
https://blogs.unity3d.com/jp/2015/12/24/unityassetcontestjp1st/
――最近の機能追加、改良などについてお教えください。
宴は3年前(2014年)にリリースしたのですが、今年「宴3」というメジャーアップデート版をリリースしました。宴3では演出周りを大幅に強化してあります。
宴3リリースノート
http://madnesslabo.net/utage/?page_id=8546
目パチ、口パクやパラパラアニメーションを正式サポートしたり、画面全体やオブジェクト単位にトランジションをかけたり、セピア調とかのイメージエフェクトをかけることも可能になっています。
リリース後もアップデートを続けて、Unity5.6のVideo Clipも対応しました。これを使うと「動画を背景やキャラクターにして表示」とかも簡単にできるようになると思います。
サウンドミドルウェアのAdx2も対応しましたし、Live2DのCubizm3.0が4月末にリリースされたのですが、これにも早速対応しています。
――内部的に「宴2」があったのですね。
はい。「2」のときはただ単に「宴」をそのままアップデートしたのですが、アセットストアにメジャーアップデートの機能が追加されたことをきっかけに、「3」を別物としました。「宴」を持っている方は、半額で移行することができます。
アセットを更新し続けることの悩みとして、メジャーアップデートをかけるときに昔のデータの互換性を保証できない、ということがあります。実際に「宴」と「宴3」の間にはセーブデータの互換性がありません。
さまざまなタイトルで利用事例が広がる「宴」
――アセットの利用事例がありましたら、お教えください。
報告をいただいたものは、こちらにまとめてあります。ノベルゲームでの利用も多いですが、会話シーンで使う例も多いですね。
http://madnesslabo.net/utage/?page_id=6546
リリース間近なものとしては、こちらの「刀匠天儀(とうしょうてんぎ)」などは宴をかなり使い込んでいる方の作品です。
もともとゲーム開発自体は未経験だったとのことですが、作り込んだ力作ですね。
WebGL版で体験版も公開されています。
http://mk-zk.com/game/tousyoutengi/
実は学校の授業なんかで使われており、「ノベじゃむ」というノベルゲーム専門のゲームジャムでもよく使われています。
ノベじゃむ 公式サイト
https://www.novejam.com/
商業のメジャーなタイトルでも使われていて「あの作品で使っています」 「社内の全チームで使っています!」というお話も個人的な口コミで聞いたりするのですが、大きいタイトルでは事例紹介ができる許可を得るまでのプロセスが多く、その辺がちょっと残念です。公開することでアセット作者と開発者双方でWin-Winになるような良い形があればいいのですが…。
そもそもアセットの作者は基本的には自分のアセットがどこで使われているかわからないので、私が一番知りたいかもしれません。自分のゲームに「宴」を使っている人がいたら、ぜひ知らせてください。
こだわりぬいた開発とその苦労
――本アセットを作るにあたって、苦労した点はどこでしたか。
……えーとたくさんありますね。言い出すとキリがないくらい。
まず、宴を作ったころはUnityの仕組み自体がまだまだ足りなくて、最初はその辺が大変でした。
宴のバージョン1の頃なんて、uGUI(Unity公式のUIの仕組み)がなかったので、ボタンやテキスト表示とかのUIの仕組みすら自分で作っていました。
そのころはAsset BundleもPro限定でないと使用できなかったことや、パフォーマンス的に制約が多かったのでダウンロードの仕組みも自分で作っています。
ノベル特有の事情としては、ファイルサイズとかロード周りとか、セーブ関係とか。この辺、Unityとの設計と相性が悪くて。
というか、ノベルゲームの基本的な仕組み自体がモバイルをはじめとする最近のゲーム事情と相性が悪くて苦労しましたね。詳しくはこちらにまとめました。
https://www.slideshare.net/RyoheiTokimura/3-75936927
あとエディタ拡張の情報がともかく少なくて苦労しましたが、この本が出てからはだいぶ楽になりました。
http://anchan828.github.io/editor-manual/
それでも、Unityのエディタ拡張ってそもそも癖が強いと思っています。なので、ある程度自分用のエディタ拡張ライブラリみたいなのを作りました。
コンポーネントと同じように、publicにした変数を自動表示・自動保存するようなEditor Window拡張クラスを作っています。
でも、「アセットストアのエディタ拡張のデータはどこに保存すべきなのか」とかもまったくわからないから、あれこれ調べたりしてようやく見えてきたりとか。
――リリース後にもアップデートが頻繁に入っていますね。
はい。ただ、いざリリースしてみると……当然アップデートしていくわけですが……互換性をちゃんと保たないといけない。
特に、宴の場合はコンポーネント単体じゃなくて、ひな形から作成したシーンを各ユーザーさんが使っているわけです。
コンポーネントだけならプログラムを書きかえれば大抵は対応できますが、既に作成されているシーンやゲームオブジェクトの構造を変更することは基本的にできない。
その辺を踏まえた上で、どこをいじったら影響がないのか、影響があるなら対処法はどうすればいいのかとかを把握したうえでアップデートをしないといけない。
最初はその辺うまくできなくてバグ報告をたくさん受けました。
たとえば、仕様変更でまったく使わなくなったプログラムのファイルとかは普通削除しちゃうじゃないですか。
でも削除してしまうとアップデートしたユーザーさんからエラー報告をもらってしまいます。削除せずに中身を空にしてファイルだけは残さないといけない。
なぜかというと、アセットストアからのアップデートは基本的に「上書き」なんですね。バージョン管理ツールとは違って、アップデートでは削除したファイルがあっても「削除」をしてくれない仕組みになっています。
なので、古いファイルが消えずに残りっぱなしになってエラーが出るという。
確か以前はファイルの「移動」や「名前変更」もアウトだった記憶があります。
この辺はもうアセットストアの仕組みというかUnityのパッケージの仕組みというか。
こんな感じの落とし穴がちょこちょこありますが、どこにも書いてないので手探りの部分が凄く多かったですね。
たぶんアセット作者はみんな苦労しているのでガイドラインがあればと思っています。
――アセット作者さんの間で、アップデート周りの知見共有ができるといいですね。
アップデートに際しては他にも色々めんどうなことがあります。
問題があった場合は自分のPCじゃなくてユーザーさんの環境で起きるわけですから、その状況を聞き取って原因を特定していくのはやっぱり大変ですね 。
「そんな馬鹿な。ちゃんと動くはずだ」って思うようなことでも、ちゃんと聞いていくと想定外の構造でバグが起きていたり、Unityのバージョンとかの環境依存バグだったりするので、そういったものを一つずつ修正していく感じです。
なんかだんだん安楽椅子探偵みたいな気分になってやっていました(笑)。事件の現場に行かずに聞き取りだけで推理するという…!
元々自分は1つのゲームのプロジェクト内で完結するプログラムだけをやっていたので、こういうことへの対処は不得手でした。
それでもなんとか解決していけたのは、バグ報告をくれてその後のやり取りに付き合ってくれたユーザーさんのおかげですね。
ほかにも・・・えーと、もうキリがないのでもうやめておきます(笑)。
この記事を書いた人
一條貴彰株式会社ヘッドハイ 代表取締役
ゲーム作家・Game DevRel。小規模ゲーム開発者がもっと活躍できる世の中作りを目指して、ゲーム開発ツール・サービス専門のDeveloper Relation事業を行っています。ゲーム作家としての代表作は『Back in 1995』(Steam)。