ゲーム会社がサーバサイド向けインターンを実施する理由
この度、冬季インターンとハッカソンを実施することになりました。
弊社はゲーム会社ですが、今年度からサーバサイド向けのイベントも積極的に実施しており、参加した学生さん達にも好評を頂いております。
実際に稼働しているゲームの環境からイベントで使用する環境を用意するため、非常に有意義な内容であると同時に、実は結構な工数がかかっています。
サーバサイドエンジニアを目指す学生さん達にもぜひ見ていただきたい内容なので、少々長文になってしまいましたが、お付き合いいただけると幸いです。
▼サーバサイド向け冬季インターン/Next Tech Project
『 Next Tech Project』4days RealWork -BACKEND-/エンジニア/冬季開催
『 Next Tech Project』1day Hackathon -BACKEND-/エンジニア/冬季開催
なぜ、サーバサイド向けインターンをするのか?
一言で言えば、優秀な学生さん達にオンラインゲームのサーバサイドプログラムを体験していただき、これからの成長につなげてもらうため。です。
また、ゲーム開発における必要な技術を知ってもらうことができれば嬉しいなという気持ちもあります。
そもそも、ゲーム会社のインターンやハッカソンでは、「ゲーム自体を作ろう!」というものが非常に多く、サーバサイドに着目したものはあまりないというのが現状です。
実際に学生さん達の話を聞くと、以下のような回答が返ってきます。
- ゲーム会社はクライアントサイド(ゲームアプリ側)のイメージしかない
- サーバサイドで高い技術を必要とするとは思っていなかった
- 他の業界(B2BのIT企業やWEBサービスを提供する企業)の方が技術が高そう
実際はそんなことはなく、クライアントサイドに限らず、サーバサイドでも高い技術を求められます。
もっと言うと、サーバサイドにおいて高い技術を持ち合わせていないと、本当にいいサービスは作ることができないというのが現状です。
この誤解を払拭しなければ!ということで、サーバサイドのインターンを実施することにしています。
オンラインゲームのサーバサイドには、どのような技術が必要とされているのか?
一番必要とされるのは負荷対策・高トラフィック対策になります。
普及率の高くなったスマートフォンにおいて、オンライン要素の強いゲームを提供するということは、ユーザー数も非常に多くなり、負荷も必然的に上がります。
ヒットコンテンツとなると、通常のWEBサービスでは考えられないユーザー数となり、そのトラフィックを捌き切るというのがミッションになります。
弊社のヒットコンテンツで言えば、4人同時接続をした上での共闘プレイをすることになり、共闘プレイの間はネットワークは繋がり続けます。
また、年末年始のイベントを行う際には、アプリのアップデートも頻繁に起きるため、更に負荷が上がることになります。
詳細は割愛しますが、スマートフォン向けのオンラインゲームにおいて、ゲーム種類によるトラフィック発生頻度は大きく異なります。
攻撃・回避をするようなアクションゲームや瞬時の判断が必要なスポーツゲームで協力プレイや対戦プレイをすることになると、爆発的な通信が発生するため、その上での通常運用には、非常に高い技術が必要になるわけです。
※補足をすると、クライアント側でも通信における対策はもちろんしています。
サーバを増設すればいいわけではない
上記のような環境下で、ユーザー様の満足度を上げるためにサーバの増設を考えると思いますが、ただ増設すればいいというわけではなことをここに付け加えておきます。
オンラインゲームにおけるサーバ運用は重要な要素のため、お金をかけて解決することも重要になりますが、サーバ増設に伴うiDC関連費用は、利益に直結するという問題もあります。
(要は金がかかるということです)
弊社のIR資料を見ていただくとわかりますが、これだけのトラフィック数を捌き切っている中で、iDC関連費用は全体の中でも数%と非常に低い割合になっています。
仮に月々に大幅な費用削減を実現できたとすると、年間で12倍の「利益」に繋がることになります。
これは、サーバサイドエンジニアやインフラエンジニアの努力の賜物であり、わかりやすい数字でのパフォーマンスかと思います。
これからのサーバサイドエンジニアに求められる資質とは
エンジニアを求める企業が非常に多い中で、これからのサーバサイドエンジニアに求められる資質は何か?を考えた時、これらの能力があるエンジニアは非常に市場価値が高いと考えています。
デザイナーやクライアントサイドエンジニアのような、明らかに目に見えるパフォーマンスが出しにくいサーバサイドエンジニアにとって、自分自身の価値創造の指標として考えるべき項目であり、少なくともその視野は持つべきです。
- 与えられた課題を技術で解決すること(トラフィックを捌く、等)
- その課題解決を技術を用いて適切なコストで実現すること
前職の経験上、サーバサイドエンジニアは、PMを目指すという選択肢から離れられない人も多いのが実際のところです。
しかし、上記のような指標を元に業務に就き、ステップアップすることができれば、それこそ「一人でなんでもできる」「利益を生み出すことに貢献できる」エンジニアになれるのではないでしょうか。
弊社に限らず、ゲーム会社にはこういった意識を持ったエンジニアが非常に多く在籍しています。
ただ技術を使うのではなく、正しい使い方をすることを覚えるためにも、インターン等で学生さん達に新しい発見の提供をしていきたいと考えております。