オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
QRコードでLINEの4Gamer
アカウントを友達登録すると
月〜金の週5回,21時に厳選
ニュースをお届けします!
※購読にはLINEアプリが必要です
[Unite 2016]Unityの豊富な情報を活用し,スピード感ある開発を。「『昭和駄菓子屋物語2』開発物語。〜カジュアル放置ゲームでのUnityの使い方〜」聴講レポート
特集記事一覧
注目のレビュー
注目のムービー
印刷2016/04/05 21:10

イベント

[Unite 2016]Unityの豊富な情報を活用し,スピード感ある開発を。「『昭和駄菓子屋物語2』開発物語。〜カジュアル放置ゲームでのUnityの使い方〜」聴講レポート

 2016年4月4日と5日,Unity開発者のためのカンファレンス「Unite 2016 Tokyo」が東京都内にて開催された。その2日目,「『昭和駄菓子屋物語2』開発物語。〜カジュアル放置ゲームでのUnityの使い方〜」と題した講演が行われ,小規模な開発チームにおけるUnityの活用法が語られた。


Unite 2016 Tokyo 公式サイト



Unityを選んだ理由は「豊富な情報量」「圧倒的なユーザー数」「適度なバージョンアップ」


2Dファンタジスタ代表の渡辺雅央氏。同社は,スマートフォン向けのカジュアルゲームを手がける総勢5名の開発会社で,その内訳はゲームデザイナー1名,エンジニアとアーティストが各2名とのこと
 この講演に登壇したのは,スマートフォン向けアプリ「もっと心にしみる育成ゲーム『昭和駄菓子屋物語2』」iOS/Android 以下,昭和駄菓子屋物語2)を開発した2Dファンタジスタの代表 渡辺雅央氏だ。同作におけるUnityの活用について,順を追って解説された。

 昭和駄菓子屋物語2は,駄菓子屋に品物を仕入れ,お店を繁盛させていくという,いわゆる「放置型ゲーム」である。前作はUnity以外のゲームエンジンで開発されていたそうだが,続編の制作にあたってパブリッシャにエンジンの変更を交渉し,これが叶ってUnityでの開発がスタートした。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」
もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

 渡辺氏はUnityを選んだ理由として,「豊富な情報量」「圧倒的なユーザー数」「適度なバージョンアップ」という3点を挙げている。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

●豊富な情報量
 Unityはネット上に多くの情報が溢れているため,何か困ったことがあっても,検索すればすぐにヒントとなる事例を見つけることができる。ほかのエンジンと比較しても情報量の差は大きく,同社のような小規模メーカーだけでなく,インディーズ開発者などにとってもありがたいポイントであろう。

●圧倒的なユーザー数
 開発を続けていると,エンジニアを増員したいタイミングが訪れる。そんなときに,Unityはユーザー数が多いため,エンジニアを見つけやすい。逆に自分達が,別のチームのヘルプに入るといったように助け合うこともできる。

●適度なバージョンアップ
 VRを筆頭に新しい技術やハードが出てくる昨今だが,継続的にバージョンアップが行われているエンジンであれば,こうした新しい流れをいち早く取り入れられる。

 実際に開発を進めていくうえでも,ゼロから制作すると面倒な部分がすでに用意されていることや,ゲームの調整が簡単なところがありがたかったのだという。
 ご存じの人もいるだろうが,UnityではUIやサウンド関連,データのセーブやロードなどの開発が面倒な部分が用意されている。もちろん,最も使い勝手がいいのは自分達のプロジェクトのために制作したオリジナルエンジンなのだが,開発にスピード感が求められる中小メーカーでは現実的ではなく,Unityのような統合型エンジンが理にかなった選択肢になるとのこと。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

 ゲームの調整が簡単であるのも重要なポイントだ。これまでゲーム内のパラメータを調整する場合,ゲームデザイナーがバランスを想像しながら変更データを作り,エンジニアがこれを取り込み,結果を実機で確認するという段階を踏む必要があった。
 しかし,UnityではゲームデザイナーがPC上でゲームを動かしつつ,パラメータを操作できるため,より少ない手間で具体的な調整が可能だ。チェック用の端末を用意しなくてもいいうえ,エンジニアの手を煩わせる必要もない。
 渡辺氏は「ゲームのクオリティは,チェックを何回繰り返したかによって格段に変化する」と語っていたが,Unityであればチェックにかかる時間も手間も少なく済み,クオリティアップにも貢献するというわけだ。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」


Unityの機能を駆使して起動時間を短縮


 開発を進めていると,困ったこともあったという。渡辺氏が最初に挙げたのが,実機環境における起動の遅さ。昭和駄菓子屋物語2の開発中は,アプリが起動するまでに1分近くかかっていたという。
 よくよく調べてみると,起動に際して大量のスプライトにアクセスしていることが原因で,スプライトパッカーでスプライトを1枚のテクスチャにまとめたところ,格段に起動時間が短くなったそうだ。この方法だと,エンジニア側に手間が掛からないこともメリットとなる。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

 サウンドの重要度に合わせて,読み込みのタイミングを変更することも行ったという。重要なサウンドはアプリの起動時に読み込み,そうでないサウンドは初めて鳴らすときに読み込むようにしたところ,古い機種ほど起動時間が短縮されたとのこと。また,起動直後に読み込むシーンは最小構成とし,バックグラウンドでメインのシーンを読み込むのも効果的だったそうだ。
 ただ,「こうしたテクニックは自分たちが発明したわけではない」と渡辺氏は強調する。トラブルが起きても,Unityならではの豊富な情報量が解決への糸口を示してくれたということである。

どうしてもプラグインを作らなければならないこともあったそうだが,SNSへの投稿やローカル通知は求める仕様に合致するものがなかったために自作したとのこと
もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

こちらはヒューマンエラーの類だが,「シーンファイルの競合」にも困ったという。複数のスタッフが並行して同じシーンファイルを修正してしまい,片方の作業がすべてパーになるという開発者としてはお馴染みの事態だ。理論上,「同時に編集しない」といったルールを作れば対応できるが,人間は何をするか分からない。Unity5.3から実装されたマルチシーンを活用し,さらにシーンを分割するなどすれば,こうした事故は避けられるのではないかと,渡辺氏は語る
もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」
もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」


自作スクリプトでより高品質なUI配置を


 開発の過程ではスクリプトを自作することもあり,高い効果を上げたという。その一つが「UI座標設定スクリプト」で,これは「エンジニアに手間を掛けずに,アーティストがUIの位置を調整できる」というものだ。
 このスクリプトを開発するまで,UIオブジェクトの位置設定はアーティストではなくエンジニア頼みだったという。そのため,エンジニアのセンスによって出来に大きな差が生まれるうえ,微調整するたびにエンジニアを頼るしかなかった。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

 そこで開発されたのが,UI座標設定スクリプトだ。これにより,アーティストがPhotoshopでUIオブジェクトを配置すると,Photoshop側のスクリプトがその座標をテキストファイルとして出力する。エンジニアがUnity側のスクリプトでこれを読み込めば,アーティストの指定したとおりの座標にUIオブジェクトが配置されるという仕組みだ。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」
もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

 渡辺氏によると,Unityの強みは「Prefab(プレハブ)」だという。fps表示メーターやゲーム中の時間管理など,ゲームをまたいで使えそうなものはどんどんPrefab化していく(渡辺氏いわく「Prefabドリブンな開発」)ことで,モックアップ作りが早くなり,クオリティアップに多くの時間を掛けられるという効果があったそうだ。聴講者に対しても「ぜひPrefabを有効活用してほしい」と勧めていた。

もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

 Unityは入門者から中級者向けの情報が非常に多いことで知られているが,近年増加中の小規模開発チームにおいても,こうした集合知がいかに役立つものであるかが理解できる講演だった。

Unite 2016 Tokyo 公式サイト

  • 関連タイトル:

    もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

  • 関連タイトル:

    もっと心にしみる育成ゲーム「昭和駄菓子屋物語2」

  • 関連タイトル:

    Unity

  • この記事のURL:
line
4Gamer.net最新情報
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:07月28日〜07月29日
タイトル評価ランキング
91
82
ARMS (Nintendo Switch)
82
NieR:Automata (PS4)
74
鉄拳7 (PS4)
69
2017年01月〜2017年07月