ゲーム開発者としてのサーバーエンジニア

ゲーム開発をしたいエンジニアはクライアント志望がとにかく多い。
新卒入社したエンジニアの95%以上はクライアント志望な感覚がある。

実際、現場におけるサーバーエンジニアは派手さが全く無く、超地味で、エンジニア以外からは何やっている人なの?的な存在になりがち。 (オンラインゲームだとキャラクター座標をサーバーで処理したりする場合もあるが)

キャラクターを動かすような仕事はないし、ゲームUIを実装する仕事もない。
大きなチームにいると、デザイナーさんと会話することすらなかったりする。

だがあえて言いたいのは、サーバーエンジニア面白いよってこと。

サーバーエンジニアのお仕事

ゲーム開発のサーバーエンジニアのお仕事は、WEB開発やアプリ開発のサーバーエンジニアのお仕事とそこまで変わらない。

  • クライアントからリクエストを受け、データベースとやり取りして、データを加工したり、保存したりして、結果をクライアントにレスポンスを返すAPIの開発。
  • AWSGCPなどでサーバー環境を構築したり、ゲームで利用するデータやアセットを配信するサーバーを整備したり。
  • ゲームのお知らせやメンテナンスを操作したり、ユーザーさんのデータを参照したり、お問い合わせの対応のためのブラウザで稼働するツール(WEBサイト)も開発する。

利用する技術もごくごく一般的。 種類は多いかもしれない。

  • インフラ
  • サーバー開発
  • フロントエンド開発
    • JavaScript、TypeScript
    • npmやyarnなどのパッケージ管理ツール
    • React、Vue
  • データベース
    • MySQL、Aurora
    • DynamoDB、Spanner
  • キャッシュ
  • データ分析
    • BigQuery
    • Fluentd
  • その他
    • UnityやUnrealEngineなどのアセット配信の知識
    • 世の中のゲーム仕様

最近の自分の環境をもとに、ぱっと思いついたものだけを挙げた。 他にもサーバー監視だったり、CIだったり、構成管理ツールなんかの知識も必要だ。 もちろん全部の技術に精通するのは難しいし、ぼくも全ての知識はない。

WEB開発やアプリ開発の現場から離れて久しいので最近どうかはわからないが、真面目にやればtoC向けの開発でのサーバーエンジニアとしてかなり鍛えられる環境だと思う。

また、サーバーエンジニアつまらねぇって思ったら、(本末転倒なのだが)クライアントエンジニアに転向することもできる。
実際、ぼくはサーバーエンジニアを経験したあと、(人がいなくて仕方なく)3年間くらいはUnityエンジニアをやっていた。 クライアントエンジニアからサーバーエンジニアに転向することもできるが、あまり聞いたことはない。

で、結局なんでサーバーエンジニア面白いかっていうのが、語彙力なくて上手く表現できないんだけど、ゲームもエンジニアリングも好きなら、サーバーエンジニア面白いよってことは間違いない。  (結局)クライアントも面白いけどね。

初めて所属会社以外でエンジニア業をした話

昨年、転職で有給消化とかで時間に余裕ができたタイミングで、初めて所属している会社以外でエンジニア業をしました。

経緯

妻が仕事を請け負っていた企業でキャンペーンサイトをつくりたいという話があり、 自分でもできそうな感じだったのでお仕事としてもらいました。

作業

企業側との摺り合わせや、仕様作成などは妻が行い、 ぼくは実装周りだけを行いました。

キャンペーンサイト自体は単純な診断もので、 SNSによるアカウント認証、診断ボタン押でランダムな結果表示するみたいなやつです。

技術的な面はぼくの判断でよかったので、 AWSでミニマムな構成で費用を抑えつつ、パパっと開発できる技術を利用しました。

  • Route53
  • ALB
  • PHP7.2:Laravel(EC2)
  • MySQL(RDS)
  • Memcached(ElastiCache)
  • Git(BitBucket)
  • Kibela

実はAWSでイチから構築するのが初めてだったので、サーバーの設定周りは本を参考にしつつやりました。

短期間のキャンペーンサイトだったので、監視や、ログ設計はそこまでやっておらず、 24時間の運用監視もしなくて良いという前提の依頼だったので、ゆるふわでした。

キャンペーンサイトの基本のプログラムは2日くらいで完了して、 デザインの調整や、仕様の調整、AWSのサーバー構築に大半の時間を使いました。

結果

AWSでいろいろ試行錯誤できて、 お金もらえるのはありがたいなと心底思いました。

キューティー・ブロンドを鑑賞してきた

シアタークリエ ミュージカル『キューティー・ブロンド』 日比谷のシアタークリエで公演している『キューティー・ブロンド』を鑑賞してきた。 ミュージカル好きというわけではなく、キューティー・ブロンドという作品を知っていたわけでもないが、楽しめた。 舞台に立って、演技したり、歌ったりする人はすごいなと思う。 神田沙也加さんといえば「ever since」の印象が未だに強い(古い)


神田沙也加 ever since 2010


『キューティ・ブロンド』2019PV

ダンまち-オリオンの矢-を鑑賞してきた


「劇場版 ダンジョンに出会いを求めるのは間違っているだろうか ― オリオンの矢 ―」本予告

ダンジョンに出会いを求めるのは間違っているだろうか - オリオンの矢 -

普段ライトノベルは読まないし、「ダンジョンに出会いを求めるのは間違っているだろうか」ってなんやねんくらいに思っていた。

スマホ向けゲームダンジョンに出会いを求めるのは間違っているだろうか〜メモリア・フレーゼ〜からダンまちを知ったのだが、ふざけた表題を裏切る大真面目なファンタジーで、今ではとても面白いなと思っている。

転職しました

            <h1>転職しました</h1>

[peg-image src="https://lh3.googleusercontent.com/-Cg5XLrg1Dzw/Wzs5rogfxgI/AAAAAAAAZPs/rk1Q_hy2lnkSWt8tjps3tt3rIlUnlw_6QCHMYBhgL/s144-o/next.jpg" href="https://picasaweb.google.com/101465714064559237741/6192330545121051169#6573911502848247298" caption="" type="image" alt="next.jpg" image_size="640x427" ]

2012年11月から勤務してきた大手ゲーム会社を、8月末で退職しました。 約6年間の在籍でした。

9月から新しい会社で働いています。

前職

前職は、モン○ター○ンター、バイ○ハザ○ドなどのゲームで知られるゲーム会社です。 CS(コンシューマ)向けのゲーム会社ですが、その中でガラケースマホ向けのソーシャルゲーム開発に携わってきました。

リリースできたもの、リリースできなかったもの、含めて6タイトルくらい担当してきました。 PHPPythonなどでRestAPIを書いたり、C#でgRPCを書いたり、Node.jsでSocket.ioを書いたり、スマホゲームのサーバーバックエンド開発を中心に技術を積みました。

サーバーだけでなく、Unityでクライアント側をやったり、プログラミング以外では、リーダーとしてエンジニアメンバーのマネジメント、採用関連、開発関係会社のエンジニア窓口など、守備範囲はまぁまぁ広い感じでやってきました。

制限もある会社でしたが、できる範囲ではわりと自由にやってこれました。 また、どちらかというと年功序列な組織にもかかわらず、20代というぺーぺーでもリーダーをさせてもらえたり、知見を広げる機会に恵まれました。

新しい会社

引き続き、スマホ向けのゲーム開発に携わっていきます。 AWSとかGCPとかパブリッククラウド使って、大規模タイトルの開発や運用ができたら嬉しいなと思ってます。

あと、社内政治とかに左右されずに開発に集中していきたいです。

http://amzn.asia/hwnwUtr