メインコンテンツへスキップ
見出し画像

会社にマイ寝袋を持ち込んでいた頃のゲーム開発現場の話

    ゲーム開発の現場では、なぜかリリース日が近づくにつれて仕事が忙しくなります。
    まるで夏休みが終わる前の宿題駆け込み期間のように、一気に稼働が跳ね上がります。
    (プロジェクト次第ですが、こればっかりは本当に謎です)

    今回は、コンプライアンスやAIによる最適化が進むこの時代に、ここぞというときの「踏ん張る力」を次世代へどう伝えていくか、昔話を交えながらお話しします。

    永遠の謎。なぜリリース直前は忙しくなるのか

    ゲーム開発は、リリースまでにいくつものマイルストーンがあります。

    オフラインのコンソールゲーム機とオンラインゲームでは若干の違いはありますが、企画が通ってからいくつものマイルストーンを経て、マスターアップ(リリース)となります。
    細かい話は巻末に書きました。

    さて、このマスターアップ・リリース日。
    この日を迎えるためにスケジュールを組み、日々作業をしているわけですが、なかなかどうしてか近づくにつれて仕事が忙しくなります。
    ホント何でなのでしょうか。

    そうなった時、
    我々シニアエンジニアは、なんとかやり切ろうと感覚で知っています。
    あまり良くないですが、残業や徹夜、泊まり込み的な状況もありえるということも。

    これを今のこの時代、これからの人たちに、このなんとかするしかないというのをどうやって伝えて行くか、これは課題だと思います。

    技術が進化しても変わらない「そうだ、やらなきゃ」

    ここからは主にオンラインゲームの開発現場に寄せて話しますが。

    昔とは時代も変わって、プログラム自体の精度や、AIによって作業効率もレビュー速度と品質、デバッグも最適化されてきているので
    こういったこと自体が起きなくなるという世界線かもしれません。

    オンプレも減り、最近はクラウドが多いと思います。
    オンプレとはゲームで使用するサーバー機器をデータセンターに置いて運用するもので、物理的な故障対応や台数追加はなかなか大変だったのです。

    ただ、
    クラウドで障害、しかも深夜、いつ復旧か目処が立っていない、復旧したらすぐサービス再開、だけどその前にデータの整合性確認、補填とか。

    寝ているところに、サーバー落ちたよ電話かかってきたら会社まで深夜早朝だとしても行って状況見ないととか。
    今だとリモートで対応しないととか。

    当然土日祝でも、といういろいろなことが待っているわけです。

    これを、そうだやらなきゃと、思えるかどうか。
    今でも対応してますが、定年はやってきますからねぇ(遠い目)
    これを伝えて行くのも大事な仕事ですね。

    オンラインゲームの開発会社のスタッフはみんなわかってるところではありますが、そうでもない人もいるわけで。

    「やりがい搾取」と言われた時代の熱狂

    余談ですが、
    若い時は会社に住んでいたとは言わないまでも、
    泊まり込みはよくあった気がします。

    手当は出ていたと記憶してますが、仕事して晩御飯食べて、銭湯行って、夜は他社タイトル研究と称してみんなでゲームやったりして寝る。

    なぜかみんな寝袋を持っていて、
    漫画雑誌を何冊か積んで枕にしてすやすや。
    (私もマイ寝袋持ってました)

    そこで先輩にいろいろ教えてもらったり、議論したり、大きく成長できたと思ってます。
    これがいわゆる、やりがい搾取とか言われるやつかもしれませんね。
    ただ、今では経験できない貴重な時間だったと思います。
    何より楽しかった。(これがやりがい搾取ですね)

    「踏ん張る力」の源泉

    もともとゲーム好きというのはありますが、何と言っても自分達が作ったものが世に出るという何とも言えない感覚。
    親も喜んでくれたし、ゲームショップに並んでいるのを見たりしてそれでうれしくなったりとか。
    そういったことが自分の原動力になって、やってこれたのかなと振り返って思いました。

    次世代に本当に伝えるべきなのは、徹夜の耐性でも精神論でもなく、
    この「自分達の作ったゲームでユーザーが喜ぶ」という圧倒的な楽しさなのかもしれません。

    【最後まで読んでいただきありがとうございます!】
    面白かったと感じた方は、ぜひ「スキ」と「フォロー」をお願いします!

    付録

    画像
    カタカタとキーボードたたいてます

    企画からリリースまでのおおまかな流れ

    コンソールゲーム機用だったら
    ・企画が通る
    ・プロト開発(ざっくりイメージがわかるもの)
    ・アルファ版開発(ゲームサイクルが入っているもの)
    ・ベータ版開発(ほぼほぼ製品に近いもの)
    この辺りはデキによってプロト2、アルファ2や、ベータ2など次のフェーズに行く前に手直しなどがあります。
    名称や呼称は会社によって異なっていたりしますが、企画が通ってからいくつかの段階を経て正式に発売・リリースできる製品を作るという流れです。

    余談ですが、昔はゲームショウや各種イベント用のバージョンを作ることもありました。
    ギリギリまで作業してディスクに焼いてバイク便で会場まで送るとか、ハンドキャリーですね。(大変でした)

    完成したものをマスターといい、ディスクに焼いたり、所定のところにアップロードして納品し所定の手続きなどした後、マスターアップ、いわゆる完了となります。

    その後、プラットフォーマー側の審査や諸々あって店頭やオンラインショップ、ダウンロード版ならサイトから入手という感じでユーザーに届きます。
    スマホアプリも似たような感じですね。

    オンラインゲームでも似たような工程を経て開発を進めて、リリースするために必要なものを実装したらゲームを公開してリリースとなります。
    クライアントは、プラットフォーマーのストアからダウンロードするものが多いのではないでしょうか。

    オンラインゲームの場合は、リリース前にテストということで一般のユーザーに公開して、動作確認や負荷の様子を見たりログ取ったりレビューをもらって改良したりします。
    ユーザーを限定したテストはクローズドベータテスト(CBT)、誰でもテストに参加できるものはオープンベータテスト(OBT)と言ったりします。
    全ユーザーによるデバッグ(いわゆる全国デバッグ)は大事ですね。


     
     
    泥臭い現場のリアルを語る現役エンジニア ゲーム開発歴30年。会社員・フリーランスの両方で修羅場をくぐり抜けてきた50代現役サーバプログラマです

    あなたへのおすすめ