1
/
5

とある遅咲きエンジニアの歩み 〜その5〜

Yahoo!モバゲーにリリースする第二弾のゲームとして自分が開発したのは、映画化もされた大ヒット漫画「テルマエ・ロマエ」を題材にしたいわゆる「箱庭ゲーム」です。

ユーザは1日3回、無料でガチャガチャを回すことができ、そこで獲得したバスボールをお風呂に入れると一定確率でルシウスというキャラクターが登場し、そのルシウスに文明アイテムを渡すことによってポイントが貰えるという、こうやって改めて文章にするとなかなか難解ではありますが、実際にプレイしてみるとポップな見た目も相まって独特な世界観が面白く、多くのユーザにプレイしてもらうことができました。

プロジェクトとしては多くのユーザにプレイしてもらえるというのは嬉しいことなのですが、サーバサイドエンジニアとしては喜んでばかりもいられません。

今まで何度も書いてきたように、サーバ負荷との戦いが始まるのです。

それは、とある夏の金曜日でした。

ゲーム内で大掛かりなイベントを開始したのですが、アクセス数が想定を大幅に上回り、ゲームのプレイどころかログインすらまともにできない状況になってしまいました。

期間限定イベントでユーザランキングなどもあるため、「一旦イベントは中止」などということはできず、とにかく早急に動くようにする必要があります。

  • リアルタイムで表示させていたランキングの順位を一時的にキャッシュさせる
  • 取得する他のユーザの情報を制限する

などして、どうにかデータベースの負荷を下げようとしますが、思うようには改善しません。

「一生懸命頑張りました。でも無理でした」で済む話ではないので、とにかくプログラムを見直し、少しでも処理を軽くできるところはないか調べ、細かな修正を繰り返していきます。

「まだなんとなく動作が遅いけど、プレイできないことはない」というところまで改善できたので、その日は帰路につくことにしました。

その連絡は、自宅の最寄り駅まであと数分といったところの、電車の中で受けました。

「無料のガチャガチャを3回やってその後画面をリロードすると、もう一度無料のガチャガチャが3回できるようになってしまっている」

1日に無料で回せるガチャガチャは3回までで、それ以上やりたい場合は課金するというのがゲームの仕様です。

にもかかわらず画面をリロードするだけでまた3回ガチャガチャを回せるようになってしまうというのは、ゲームがプレイできない以上の大障害です。

ゲームは即座にメンテナンスモードにして全ユーザがプレイできない状態にし、翌日の土曜日にチーム全員が朝から出社し対応を協議することになりました。

自分のミスのせいで、多くのユーザに迷惑をかけてしまった。
自分のミスのせいで、会社に損害を与えてしまった。
自分のミスのせいで、チームメンバーが土曜日の朝から出勤することになってしまった。

頭の中はどう謝ればいいのか、どうすれば許してもらえるかを考えることでいっぱいでした。

「今、隕石が落ちてきて地球が滅びれば、俺のミスなんてなかったことになるのにな・・・」なんてバカなことを考えたりもしました。

そして翌日、ほぼ一睡もできなかったこともあり集合時間よりかなり早く行って、どれくらい不具合で無料のガチャガチャを多く回せてしまったのかをログなどを追って調査していると、チームのディレクターが出社してきました。

土下座するくらいの気持ちで謝りに行き経緯を説明すると、そのディレクターは一切自分を責めることはせず、
「よし、分かった。じゃあ、このピンチをどうしたらチャンスに変えられるか、みんなで考えよう」
と言ってくれました。

自分としては怒られるつもりでいましたし、何を言われても受け入れて少しでも早くメンテナンスを空けられるように頑張ろうと思っていたのですが、そのように言われてしまうと余計に「俺が頑張らねば!」という気持ちになります。

落ち込んでいる暇はないのです。

ゲームを再開させるには、データベースやログを確認し、不具合によって回せてしまったガチャガチャから獲得したアイテムを獲得できなかったことにする必要があります。

それだけならそこまで難しくはないのですが、そのアイテムを使って獲得した別のアイテムも修正する必要があります。

また、対象となるのは不具合で余計に回せてしまったガチャガチャから出てきたアイテムだけなので、もともと無料で回せるガチャガチャから取得したアイテム、課金アイテムを使って追加で回したガチャガチャから取得したアイテムは対象外とする必要があります。

とても手作業でできる量ではないので、ログを解析しデータベースを更新するプログラムを早急に作る必要がありますが、ここでまた不具合が出てしまうと壊滅的な状況になるので、急ぎながらも慎重に進めていきます。

ディレクターやプランナーの方はテストを手伝って頂く一方、ユーザに

  • 長期メンテナンスに入っている理由
  • 現在、どのような対応をしているのか
  • ゲームが再開できるのは何時くらいになりそうなのか

などの情報を積極的に発信していきます。

そうすると、ゲームの掲示板などで書かれている「運営なにやってるんだ! しっかりしろ!!」などというようなお叱りのメッセージが徐々に減っていき、代わりに「運営さん頑張ってください」というような応援メッセージが増えていきます。

こうなるとますます、「頑張らないと!!」という気持ちが強くなります。

そして、緊急メンテナンスに入ってから約20時間後に、ゲームを再開することができました。

多くのユーザ、会社、メンバーに多大なる迷惑をかけてしまったことは事実ですので、「良い経験ができました」とは口が避けても言えないのですが、とても多くのことを学ぶことができたのは間違いない事実です。

  • 急いでいる時こそ慎重に、確認しながらプログラムを書かなければいけない
  • 落ち込んでいる暇があるなら、少しでも早く状況を改善するための努力をする
  • 誠意を持って対応すれば、多くの人は分かってくれる

ある程度ゲーム開発もできるようになり、「そろそろ一人前のエンジニアと思っていいかなー」なんて思っていた自分の鼻を見事にへし折りつつ、今の自分をも支えている多くの学びを与えてくれた大障害は、このような形で終了しました。

そして、Yahoo!モバゲーでリリースするゲーム第三弾「ゲゲゲの鬼太郎 妖怪横丁」の開発に話は進んでいくわけですが、それはまた別のお話。

株式会社フジゲームス's job postings

Weekly ranking

Show other rankings
Like Tadasuke Kato's Story
Let Tadasuke Kato's company know you're interested in their content