リリース作業は終わりが見えて半分って思ってないと心が折れます【ゲーム開発】
Unityエディタでゲームを作って、テストプレイが終わって「さぁリリースするぞ!」と意気込んだものの、リリースに必要な作業が多くて心が折れそうになる……。そんな経験ありませんか?
私は毎回「こんな作業多かったっけ……?(白目)」と心が折れそうになっています。
ゲームを作っていると、テストプレイが終わってゲームそのものが完成した段階でプロジェクトが終了した気になってしまいますが、リリース作業自体も結構ボリュームがあったりするので最初からそのつもりでいると心穏やかにリリース作業に挑めます。
リリース作業は終わりが見えて半分
例えばスマートフォンアプリを作っている場合、前回リリースしてから時間が経っていることがあります。
そうすると、以前リリースした時からストアの仕様が変わったり、Xcodeの仕様がちょっと変わっていたりと、Unity以外でも日々バージョンアップが発生するので、前と同じように……とはいかなかったりします。
ちょっと前にアプリをリリースしたときにびっくりしたのが、デフォルトのバージョンのUnity Adsを使っていたらiOSのビルドを提出できなかったこと。
「これでビルドをアップロードして審査に出すぞ!」とiOS版のアプリのパッケージをアップロードしてからのんびりとお風呂に入っていたのですが、お風呂から出てもAppStoreConnectにビルドが表示されていませんでした。嫌な予感がしてメールボックスを確認してみれば、「古いAPI使ってるからビルドのアップロードはできないよ」とのメールが。
Apple社では古いUIWebViewのAPIを使ったアプリは受け付けないようになったので、このAPIを使っているバージョンのUnity AdsだとiOSで審査まで進めなかったんです。
解決策は割と単純で、Unity Adsを3.3以上のバージョンにアップデートすること。
問題となっているAPIを使わない仕様になったので、ちゃんとビルドをアップロードすることができました。Unity Adsに関する問題の解決策は以下のページで書いているので良かったらこちらもご覧ください。
手戻りが発生する
一方で、Unity Adsをアップデートしたことでソースコードも変更しないといけなくなったりと、リリース直前でまた新しい作業が発生したりもしました。
コードの修正とテストが発生し、iOSとAndroidの両方でテストする羽目に……。流石にテストなしでリリースするのは無茶にも程がありますから必要な作業だと頭では分かっているしちゃんとやります。でもちょっと凹むんですよね。
私は遭遇したことはありませんが、iOS側に対応してコードを修正したらAndroid版で動かなくなった! なんてことも起こり得るので場合によっては修正の無間地獄が待っていることも(笑) ……いや失礼、笑い事じゃないですね。
「ゲームが完成して準備もできた! あとは提出するだけ!」と思っていたところで作業が発生すると結構心にくるので、順調そうに見えても落とし穴はあるものだと思っておくのが良いと思います。
「百里を行く者は九十を半ばとす」という言葉がありますが、まさにその通りですね。
一度リリースしたことがあっても油断できない
冒頭で紹介した私がちょっと前にリリースしたアプリの事例では、その前のアプリをリリースしたときの作業を元にどれくらい時間がかかるかを見積もっていました。
ただ、前回のリリースから時間が空いたことでプラットフォーム自体がアップデートしていたり、昔の技術がDeprecated(廃止)扱いになっていたりと、技術的な進歩がありました。Unityエディタ自体がアップデートしている場合もありますし、LTS版を使っていて昔の仕様に合わせていたりということもあります。
3ヶ月も空けば取り巻く環境が大きく変わるので、ある程度時間が経ったら前回のリリースの経験がそのまま使えない可能性があることを念頭に置いておくのが良いかもしれません。
私のケースでは「よし、これでOK!」と予定していたリリース作業が完了してから必要な作業が発生したので、体感的にはかなりゴールが遠のいたような感覚でした。
端末自体もどんどんアップデートしますもんね
ストアだけではなく、端末もどんどんアップデートしていきます。iOSはほぼ毎年OSのバージョンが上がっていきますし、Androidも同様にOSのバージョンがアップデートしていきます。
ストアの仕様で新しいバージョンの端末やOSに対応していないとリリースできないということもあるので、ゲームを企画した段階で想定していたOSバージョンと、リリースするタイミングでのストアが要求するOSバージョンが異なるリスクも隠れています。これは開発期間が伸びたときに起こりがちなので注意が必要です。
新しいOSバージョンの機能に合わせてコードを修正することもありますし、その修正によって他に影響が出てないかのテスト(リグレッションテスト)を行う必要もあります。Unityを使っている場合はUnity側でうまく対応してくれていることが多いですが、それでも開発者側でのチェックは欠かせません。
ゲームを作るための知識に加えてリリースの知識も
Unityでゲームを作っているとゲームを作るための知識に注目が集まります。これはもちろん必要なことで、ユーザーが楽しくあなたのゲームを遊んでくれるために必要なことです。
これに加えて、あなたのゲームをユーザーに届けるための知識、つまりリリースに関する知識も併せて習得するのがベストです。
App StoreやGoogle Playなど、プラットフォーム依存となる知識もいくつかありますが、プラットフォームそのものがなくなってしまうことは恐らくないので、事前にある程度ガイドラインや仕様を調査しておくことをオススメします。
ゲームの開発期間中はゲーム作りのことだけに目がいきがちですが、リリースを想定することで実装を変えなければならない部分も出てくるかもしれません。そうした部分を早めに洗い出すためにも、リリースに必要な作業や仕様を調べておきましょう。
まとめ
「リリース作業は終わりが見えて半分」と心構えを用意しておくことで、リリース時に不意に発生する作業に心折れずに済みます。
ある程度慣れてきたら、ストアのガイドライン、プラットフォームの仕様などについて、ゲーム作りと並行して追っていくとリリースがスムーズに進む確率が高くなります。
ゲーム開発の攻略チャートを作りました!
-
前の記事
アウトプットしてフィードバックを得るにはこんな方法がおすすめ【ゲーム開発】 2020.10.12
-
次の記事
コーディングの癖を直すのはやっぱりあのタイミング【ゲーム開発】 2020.10.14
コメントを書く