ゲーム業界職種辞典 ― サーバーエンジニア

【ゲーム業界職種辞典】サーバーエンジニア

開発環境の構築、円滑な通信環境の実現といった、ゲームを目に見えない部分から 支えているネットワーク関連の技術職(プログラマー)のひとつが「サーバーエンジニア」です。

ゲーム業界職種辞典 ― サーバーエンジニア

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

サーバーエンジニアとは、今やゲーム開発において欠かせない、サーバーをゼロから構築&設計をして、立ち上げ後は監視や保守を行う職種です。 クライアントエンジニア(ゲームプログラマー) とは違い、ユーザーから見えない部分を担うことになりますが、ゲームは開発時もプレイ時も快適なネットワーク環境が大切であり、 その基幹部分となるサーバーを整える、サーバーエンジニアの重要性は高まっています。

ゲームの仕様がおおよそ固まると、開発に必要な(サーバーの)スペックが見えてきます。 サーバーエンジニアとして最初の仕事は、求められる能力を発揮するサーバーを設計し、 必要な機器をリストアップすることです。
その後、CPUやメモリ、記憶装置といった機器を発注し、 届いた物をキッティング(設定)していきます。キッティングが済んでいる製品の場合は、 電源やLANケーブルなどの接続を行うラッキングを行い、サーバーのハードウェア環境を整えます。 さらに、ラッキングが済んだサーバーにはOSをインストールし、ネットワークやファイアーウォール、 ウェブサーバーやミドルウェアなどの設定を行います。

なお、サーバーへの投資は、開発会社にとって決して小さいものではありませんので、 事前に本番環境を模したモックアップ(モックサーバー)を作ることもあります。 この場合、モックアップで行ったテストの結果を見て、実際に構築するサーバー(の能力)を定めます。

開発環境(サーバー)が整ったら、ゲームをプレイする上で必要なクライアントとサーバー間での データのやりとりを行うデータベースを作ることも、サーバーエンジニアの仕事です。
例えば、オンラインRPGの場合、ユーザーが作成したキャラクターのデータがサーバー側と画面上で一致していなければなりません。 また、見た目や装備を変更されたときは画面上に反映し、AというエリアからBというエリアへの移動が行われた場合は、 遅滞なく実施される必要があります。

スマホのアプリであっても、カジュアルなものより重厚長大で奥行きのあるゲームが増えている今、 サーバーとやりとりされるデータ量も、増加の一途をたどっています。
一方、ユーザーが求めているのは昔から変わらない「短いロード時間」「快適なプレイ環境」です。 いかにサーバーとクライアントの通信量を減らし、快適にプレイしてもらえるかは、 サーバーエンジニアの技量にかかっている部分が大きいといえるでしょう。

サーバーエンジニアに求められる能力や経験

サーバーやデータベースの構築でよく使われているのは、「LAMP環境(Linux、Apache HTTP Server、MySQL、PHPの総称)」です。 これらに精通し、長い実務経験がある方は、現場で重宝されるでしょう。 また、「JAVA」か「Perl」、もしくは「JavaScript」(「Ajax」「jQuery」を含む)のうち、最低でも1種類は使えることも大切です。 さらに、多くの開発会社が採用するようになった「AWS」の知識や実務経験があれば、相当のアドバンテージとなります。

開発現場では、サーバーやデータベースに付随して、さまざまなツールの制作を行うことも多く、 内容もゲーム(アプリ)によって大きく異なるため、1つのプログラミング言語に特化するのではなく、 複数の言語に対応できたほうがいいでしょう。また、プランナーやクライアントエンジニアが求めている機能を正しく理解できる能力も必要です。
そのため、「C++」や「C#」などでアプリ開発をした経験があると、とても高く評価されます。 同時に、画像や映像、音声のデータ量を効率良く、小さく圧縮することも求められるので、これらの素材に対する知識も求められます。

サーバーエンジニアはゲーム業界以外にも存在し、使われているOSやプログラミング言語は共通のものが多いことも特徴です。 「ウェブサーバー」「ファイルサーバー」「メールサーバー」のエンジニアからの転職も容易で、 開発現場の第一線で働いている方の中にも、他業界からの転職組が多いようです。

また、サーバーエンジニアは、ゲームのリリース後はサーバーの監視や保守作業も担当します。 ネットワークセキュリティ、バックアップ、バージョンアップに伴う仕様や設定の変更、 アクセス集中による負荷の軽減など、いわゆる保守管理業務の経験も役立つでしょう。

未経験からサーバーエンジニアを目指す方法

サーバーエンジニアは専門職ですから、プログラミング未経験の方がいきなり担当することはほぼ不可能です。 まずは、サーバーに携わる職種の入門的な位置付けである、「運用」「保守管理」といった職種に就いて知識を蓄えていきましょう。 キッティングやラッキングが一通りできるようになったら、構築や設計に関する業務にもふれることでスキルを高め、同時並行的にLAMP環境を学ぶことです。

これらの経験は、ゲーム業界以外でも積むことが可能です。例えば、高いトラフィックを誇るウェブサイトの運用では、 「高負荷やアクセス急増時のトラブル解消」を、実務を通して覚えることができます。ほかにも、IT系や金融系をはじめ、あらゆる業界でサーバーを使用しています。 未経験者や腕に覚えがない場合は、いきなり第一志望のゲーム会社を目指すのではなく、一見遠回りに見えても実務経験を優先する方法もありです。

また、サーバーエンジニアの重要な仕事であるデータベースの構築では、システム開発の要件定義や設計の経験も役立ちます。 IT系のシステムエンジニアは比較的門戸が広く開放されているので、運用や保守管理とは異なる道筋として、一考の余地はあるでしょう。

サーバーエンジニアのキャリアパス

追加コンテンツのダウンロードやアップデートを含めると、ほぼすべてのゲームがネットワークを利用していますし、 オンライン専用のタイトルも数多く運営されている現在、サーバーエンジニアの需要は非常に高まっています。
ゲームクリエイターの中では表に出にくい職種ですが、リードエンジニアや開発マネージャーなど、 現場を引っ張る人材ともなれば、年収1,000万円以上を狙えます。ゲームの規模が大きくなればなるほど、 ネットワークやサーバーに携わるエンジニアの負担も大きくなり、リリース後の運営も含め、 優秀なサーバーエンジニアはどこも欲しがっている状況だからです。

また、クライアントエンジニアと同様、日本のゲーム会社であっても国際化が進んでいる部門ですから、 より上を目指すのであればビジネスレベルの英語は使いこなせたほうがいいでしょう。 結果、欧米の有名企業や中国系の企業など、より大きな規模でのゲーム開発に携わるチャンスが広がります。
もちろん、ハードウェアもOSもプログラミング言語も、すべて日進月歩の世界ですから、 最新の情報をキャッチアップし、実際に試しながら学ぶ姿勢も忘れてはいけません。

お問い合わせ

お気軽にお問い合わせ・ご相談ください!

メールフォームでのお問い合わせ

お問い合わせフォーム

お友達紹介キャンペーン!Amazonギフト券など 選べるe-GIFTがもらえる!