1年限定運営アプリゲーム「SEVEN's CODE」の開発思想について

#はじめに

はじめまして、初投稿になります、ナカムロ.と申します。
[SEVEN's CODE](https://www.sevenscode.jp/)というアプリゲームで開発＆運営ディレクターを担当しました。
プログラマーとしてゲームプログラムの実装とデータ配信などの運営担当も兼務する形でしたので、今回参加させていただきました。

「[Applibot Advent Calendar 2020](https://qiita.com/advent-calendar/2020/applibot)」 17日目の記事になります。
前日は @naotoritty さんの
[Schemalexを使用したマイグレーションファイル自動生成](https://qiita.com/naotoritty/items/2fce97d9c71fb5b36c90) という記事でした！

本稿では、1年限定運営アプリ「[SEVEN's CODE](https://www.sevenscode.jp/)」の開発思想について、なぜ運営期間を限定するに至ったかをエンジニアリングと開発思想の両面から見て述べていきます。

![sc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/920780/a346a900-a584-82b5-73a3-34b8d14222df.png)


#アプリゲームの運営をするために

アプリ開発において、運営を考慮したシステム設計する際には、運営が長期化したときにも問題なく続けられることが重要です。例えば、リズムアクションゲームを例にとって考えてみると、

 - 楽曲の数はどれくらいになるか
 - 譜面の数はどれくらいになるか
 - キャラ数はどれくらいになるか

など、運営を続けていくに従って増えていくリソースがそれぞれどれくらいになるか想定しなければなりません。

ただし多くの場合、売上に応じて投入リソース数が変動するなどその時々の状況次第で決まることが多く、見積もることが難しいケースが多いです。そうすると、どんなにリソース数が増えても問題ないように設計することになりますが、日々増加していくマスタデータやユーザデータを扱うDB設計をどうするべきか、総アセットサイズの問題など考慮しなければならない項目が増えていき、いつも開発者を悩ませてくれます。

昨今のアプリゲーム事情としては、何でもどんなに増えても大丈夫！な堅牢なシステムを構築できたとしても、様々な事情によりすぐにサービス終了を迎えてしまうケースも残念ながら少なくないです。

そこで唐突ではありますが、運営期間を「1年間」に限定してみるとどうなるでしょうか。

#運営期間が決められていると…？

運営期間が予め決まっている前提となると計算することは容易になります。例えば、毎週2曲程度追加、月あたり8〜10曲追加することを1年間続けると、最大でも120曲追加となります。初期楽曲が50曲搭載されているとしても全部で170曲となります。この最終的に全部で何曲になるのか、というのが開発者としては一番欲しい情報となります。これが予め決まっていると当然ながら様々なメリットがあります。

- 1曲あたりにかかるアセットサイズが分かる
- 1曲あたりにかかるリザルトデータのサイズが分かる
- 総アセットサイズの最大サイズが想定できる

これらが<b>確定</b>するだけでも開発者としてはとても安心できると思います。
受けられるメリットとしては、

- 各種総サイズが決まるので、サーバー負荷テストの試算がしやすい
- 上限が決まっているとUIの仕様が立てやすくなる（リスト、無限スクロールなど）
- 1人あたりの最終的にダウンロードするファイルサイズが想定できる

また、開発とは少し離れますが、

- 譜面作成などトータルの制作コストが確定する
- 運営＆開発に掛かる人件費に関しても同様に事前に試算ができる
- 期間を決めておくことで突然のサービス終了を無くす

など、メリットは計り知れません。とはいえ、当然課題もあります。

- 更新頻度が高くなると運営期間中は常に更新し続けているような状態になること
- 定期更新が終了したあとどうするのか
- 遊び続けられる状態を維持できるのか

なども課題になります。


#余談：なぜ期間限定運営を採用したか
期間限定運営について、メリット・デメリットについて半ば自明とも言える項目を挙げてきました。ではSEVEN's CODEではなぜ期間限定運用を採用したか、ここからは「余談」として記述していきます。
~~（ほぼポエムで、技術的な話はありません）~~ 

###なぜゲームをやめるのか
開発初期よりメンバーとずっと議論していた話題があります。

_あなたは、あるゲームをプレイしたとき、どのタイミングで「やめる」でしょうか。_

いわゆるエンディングがあるようなゲームでは終わりを迎えたときにやめる、途中でクリアできなくなったのでやめる、途中で飽きたのでやめるなど様々な理由がプレイヤーの数だけあると思います。

ただ、一度やめたゲームでもふと思い出してプレイしたくなることがあると思います。そのときには再び起動して最初からプレイしたり、クリア後の世界をさらに旅したり、以前はできなかったステージが自身の成長とともにクリアできるようになっていたりこちらも理由は様々あると思います。

また、終わりの無いゲームをやめる動機として恐らく最初に来るのは「飽き」です。アプリゲームで今プレイしていないものを思い浮かべてみると、以前はよくプレイしていたけど、プレイしなくなった理由を考えてみると「飽き」に繋がることが多くはないでしょうか。

そして、アプリゲームやアーケードゲームなど「運営」を伴うゲームに付き物の現象があります。いわゆる「サービス終了」です。ゲームが遊べなくなってしまうことは、プレイヤーの皆様にとっても、開発者にとっても、残酷であり無慈悲です。私自身も長くプレイしていたタイトル、開発していたタイトルなども含めて何度も経験しておりますし、過去には最期を見届けられずに悔しい思いをしたタイトルもあります。

では、アプリゲームで「満足してやめる」にはどうしたら良いのか、考えて議論を重ねて辿り着いた一つの案として、エンディングを迎える期間限定運営という形式でした。

###SEVEN's CODEで1年間限定運営にチャレンジ

SEVEN's CODEでは1年間限定と運営期間を区切り、1年間毎月更新されるストーリーモードにエンディングを用意するというスキームでの制作にチャレンジしました。特別な1年間をプレイヤーの皆様と一緒に過ごしつつ、ともにエンディングを迎えることで記憶に残るコンテンツになるのでは、という思想のもと生まれたタイトルとなります。

やや別の視点になりますが、運営が長期化しているタイトルでは、開発者も長く同じタイトルに関わるケースも少なくありません。自ら期間を区切ることで、新しい遊びを提供し続けていけるのではないか、という思いもありました。私はコンシューマゲーム至上主義などでは決してありませんが、開発・運営にも期間的な制限をつけるのも、新たな遊びを作り続ける上では必要だと思っております。

実際に、SEVEN's CODEの運営は少人数で行っていたこともあり、正直個々に掛かる負荷は高いものでした。しかし、開発者としても「1年間だけ」という制限から乗り切れたことも事実です。プレイして頂いた皆様におかれましても、様々な意見があることも重々理解しておりますが、この挑戦に対して少しでもお楽しみ頂けたのであれば幸いでございます。

定期更新は終了しておりますが、SEVEN's CODEはまだまだ遊べますので、少しでも興味を持って頂けたようであればぜひ今からでも遅くありませんので、お時間許す際によろしくお願いいたします。
![SCQR.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/920780/d88492fc-ee02-4c70-9c0a-7941a3c3fbfc.png)
↑↑↑↑↑↑↑
スマートフォンでQRを読み込むとアプリストアに飛びます！

#おわりに
本稿では1年限定運営アプリ「SEVEN's CODE」の開発思想について述べました。技術記事とはややかけ離れた内容にはなってしまいましたが、期間限定運営という開発思想に賛同頂ける開発者がおられましたら、ぜひ一種の運用スキームとして参考にして頂ければ幸いです。最後に、SEVEN's CODEを遊んで頂いたプレイヤーの皆様におかれましては、改めまして心より感謝申し上げます。

「[Applibot Advent Calendar 2020](https://qiita.com/advent-calendar/2020/applibot)」 17日目の記事でした！
明日は @kozu_pid さんです！