見出し画像

ブラウザゲームの運用コストを公開。Vercel構成で財布が爆発する実例も【開発者向け】

どうもこんにちは、たくろーです。江戸オンラインの制作・運営を必死こいて続けています。

6月5日にリリースしてから、累計の登録者数は6000人を突破しました。最近は平均すると毎日800人くらい。ピークタイムは250〜300人くらいの方が同時に接続して遊んでくれています。

さてそんな江戸オンラインですが、インフラをVercel+Supabase+Cloudflareの構成で組んでいます。あとメール配信サービスにはResendを使っています。

ナウい感じで、なんか良さそうじゃないですか。デプロイ環境が整ってるからAI駆動開発との相性もいいし。なんかいいよね。

ただ僕みたいなインフラ素人がVercelを使うと、財布が爆発する可能性があります。一瞬爆発しかけました。

というお話も交えながら、ゲーム運営のコストについてお伝えしていきます。

ブラウザゲームの運用コストとは

ブラウザゲームを運営するには、いろんなコストがかかります。精神面とか時間とかいろんなコストがかかりますが、その中でもわかりやすい「お金」のコストの話をしていきます。

ちなみに江戸オンラインは、現状1日20,000円程度の運営費用がかかっています。サーバーやデータベースなどのインフラで5000円くらい。広告費で10,000〜15,000円くらいです。要するに月々60万円以上は経費としてかかることになります。

冷静に考えると、パンピーのサラリーマンが普通に払える金額ではない気がしますが、皆さんが課金しながら遊んでくれるおかげで、いまのところちゃんと黒字で運営できています。ありがとうございます。これからもよろしくお願いします。対よろです。

なおクレカの利用可能枠のうち、だいたい2ヶ月分の120万円分が常時埋まり続けることになりますので、上限をめいっぱい上げました。ポイント貯まるといいね。

まあもちろん広告費はコントロールできるのですが、サーバー代は別です。雨が降ろうが雪が降ろうが、毎日5000円ほどかかっています。

しかしなぜ、ゲームを運営するのにそんなにお金がかかるのでしょうか。

まず今回江戸オンラインが採用している3つのサービスの役割はこんな感じになっています。

AI先生に雑に投げて作られた図解

Cloudflareが入口。Vercelはゲーム本体。Supabaseは保存する場所。

さてこの中の、いったいどの部分にお金がかかっているのでしょうか。

江戸オンラインの場合、だいたいVercelに7割、Supabaseに2.5割、Cloudflareはほぼ無料、なんかそのほか細々したやつに0.5割、みたいな感じでかかっています。

サービスの性質によっても変わると思いますが、ユーザーが「ポチポチポチポチポチポチ」とタップし続けるブラウザゲームの場合は「通信帯域」「関数の処理」がとにかく膨れ上がりやすくて、コスト爆発の起点になってきます。

ブラウザゲームにVercelを使うとコストが爆発しやすい

さて江戸オンラインが使っているVercelは、いわゆるサーバーレスでいろんなものを動かせるサービスです。ゲームの置き場所ですね。

課金形態は一見安く見えて、Pro Planで毎月25ドル。つまり毎月4000円くらい。

もちろんNetflixとかAbemaよりも高いし、冷静に考えると全然安くはないのですが、ちゃんとゲームを運営しようと考えるとべらぼうに安い料金に見えます。

そう考えて僕も飛びついたのですが、契約書にはきちんと目を通しましょう。Vercelには従量課金があります。

江戸オンラインの場合、この従量課金部分で毎月10万円くらいかかっています。(あの、4000円って聞いてたんですけど……)

ちなみにVercelの従量課金ポイントのうち、とくにコスト爆発の原因になりやすい部分は、この2つです。

  • Edge Requests

  • Fast Data Transfer

Edge Requestsは、簡単にいえば「何回データを処理したか」みたいな話です。

Fast Data Transferは、簡単に言えば「どのくらいの容量を転送したか」みたいな話です。

ぽちぽち系のブラウザゲームはゲームの進行や処理のために、常に大量のデータ更新が走ります。とくにEdge Requestsは膨大な量になりやすい。

そして基本的には遊んでいる人数と比例して、Fast Data Transferもバカみたいに増えていくことになります。

「みんながポチポチして遊ぶ」というものがダイレクトに従量課金にのってくるので、人数がスケールすればするほど純増していくため、常にコスト削減を意識しながら保守・運営する必要があります。

Vercel構成で財布が破裂しかけた実例

というわけで、実際に財布が破裂しかけたケーススタディをお届けしておきます。
この表をご覧ください。

24日と25日に財布が爆発しかけた

これは江戸オンラインの、6月14日から7月13日のVercelの費用です。

かいつまんでいうと、平均して1日20ドル(3000円ちょい)くらいかかっているところ、あわや1日50ドルに届こうかというところまで跳ね上がった日がありました。ひえー。

「サーバー代たっけえなあ」と思いつつ毎日チェックしてたのでなんとか気づけましたが、もし気づかなかったらすごいことになってました。

さてこれは何が起きていたのかというと、Fast Data Transfer、つまり転送量がギュンっと爆上がりしていたという。

一般人が払うサーバー代じゃない

ちょうどこの日程で「長屋」の機能をリリースしていたのですが、ミスで「別に3Dを読み込まないタイミングでも常にデータを配信する」みたいな、お客さんのギガも僕の財布も破裂しかねない実装になっていました。

具体的な話は色々複雑なので割愛しますが、なんやかんや2日くらいでうまいこと修正できたので爆発しかけたのは2日で済みました。

ただ何があるかわからないので、サーバー代は一応毎日確認しておくことをおすすめします。

従量課金部分があるサービスでゲームなどを運営している人は、まじで毎日1回はコストを確認しておいた方がいいですね。アラートとかもおすすめです。

ゲーム運営のインフラコスト削減には、従量課金部分の見積もりと毎日のチェックが大切

運営コストをとにかく安く済ませるなら、たぶんVPSサーバーを借りてDockerでもおいて配信するのが一番だと思います。完全定額ですので。

ただもちろん、セキュリティリスクとかスケーラビリティの問題とかが出てくると思いますので、その辺のリスクとか管理コストとか精神的なコストを考えると……一概にVercelとかFirebaseみたいなサービスがコスト的に不利なわけでもないとは思うんですよね。

どちらにせよ、ブラウザゲーム運営は一定までスケールするとお金がかかりますので、できるだけ定額部分の多い構成でインフラを組んでおくと安心な気がします。

というわけで、これからゲームで1発ブチ上げる予定の方の参考になるといいなと思いつつ書き殴りました。

ここまで読んでくれたゲーム製作者は、ぜひ「ワシの考えた最強のインフラ構成」でもコメントに書いていってください。ゲーム製作者じゃない人は、好きな犬種でも教えてください。悩みどころですが、僕はビション・フリーゼが好きです。

では。

いいなと思ったら応援しよう!