文系ですが、株式会社バンダイナムコスタジオさんのサーバーサイドエンジニアワークショップ「Go言語でゲームサーバーを作ろう! ゲームサーバーAPIプログラミング ワークショップ」に参戦してきました。
応募しても大丈夫なんかなと迷った部分があったので、後に続く(?)文系の方へ向けてどんな感じだったかお伝えできればと思います。本記事が応募するかどうか判断する上での一助となれば幸いです。
結論
・時間はかかってもちゃんとついていける!
・ゲームサーバーについて学ぶことができ、参加してよかった!
・ミッチーの「ヨイショ!」が良き!
参加の動機
職種への理解を深めたい
サーバーサイドエンジニアの業務内容について理解を深めたかったというのが参加の動機です。
私が見てきた他の企業さんでは、エンジニアの分け方として「APエンジニア・インフラエンジニア・セキュリティエンジニア」という分け方が多かったので、サーバーエンジニアという職種を見てなかなかイメージがつきませんでした。
そこで、実際に手を動かす・お話を聞くことで、業務内容への理解を深めようと参加しました。
ゲームサーバーならではの特徴を知りたい
もうひとつ、ゲームサーバーならではの特徴や、セキュリティ面での工夫点を知りたかったというも参加の動機です。
ミリシタの向こう側にはどんな工夫がされているんだろうなぁというのは、ミリPとして興味がありました。
![](https://www.palsha.jp/wp-content/uploads/2023/12/c880ae8b6814400d5e281bf270eb5763f306c0f636df904d085e3f88d6b2e074-1024x679.jpg)
ミリシタとは左のポスターで紹介されているゲーム『アイドルマスター ミリオンライブ! シアターデイズ』のことです。
リズムゲームとしてプレイしやすい難易度ですし、動きとかもしっかり作られていて見てて楽しいので、未プレイの方はぜひ!
ちなみに先月まで、湯~ねるにアニメの宣伝ポスターと並べて掲載してあったのですが…
右のアニメを見てからもう一回ミリシタのポスターを見ると、見え方が変わって「あぁ…!」ってなるので、セットでどうぞ。
アマプラで見れます👍
![](https://www.palsha.jp/wp-content/uploads/2023/02/78db209179f8ccab78abbd49a88ace458d253d705e4c0be2511dc44fad415640.jpg)
いちぽむはいいぞ。
前提条件
まず、前提条件となる参加条件と、私の理解度について紹介します。
参加条件
【必須】
・Go 言語の使用経験
└A Tour of Go (https://go-tour-jp.appspot.com/list) の Basics 及び Methods and interfaces の内容を習得していること (所要時間: 約 150 分)
└他言語 (Java / PHP / Python / Ruby など) の開発経験が十分あれば Go 初心者でも歓迎
・Git / GitHub の使用経験
└commit や push が行えること
・インターネットや HTTP に関する基礎的な理解
・JSON に関する基礎的な理解
・RDB (リレーショナルデータベース) に関する基礎的な理解
【歓迎】・ SQL 使用経験
・Visual Studio Code による開発経験
・コンテナに関する基礎的な理解
・Web フロントエンド (HTML, JavaScript) 開発経験
バンダイナムコスタジオ(2023)『サーバーエンジニア編 「Go 言語でゲームサーバーを作ろう!ゲームサーバー API プログラミング ワークショップ」』,https://bandainamcostudios.snar.jp/jobboard/detail.aspx?id=g0O7WysvHtPzWvOhWbAuGQ
より引用
私の理解度
・インフラ/セキュリティ大好き人間なので、SQLやHTTPに関する理解はOK。
・一方で普段あまりプログラミングはしない。Go言語はほぼほぼ初見だが、Pythonを使った開発経験がある。
・フロントエンドやJSONへの理解はわりかしある(1からWebページを作れる)。
条件と照らし合わせると、余裕で満たしているという感じではないですが、どれもバランスよく抑えてあるぐらいのレベル感だと思います。
演習内容
演習内容は、APIサーバーを開発し、既に動く状態にある『ミスタードリラー for バンダイナムコスタジオ ワークショップ』に機能を追加していくというものです。各ユーザーのハイスコアを記録しておく機能や、ランキング機能を実装しました。
![](https://www.palsha.jp/wp-content/uploads/2023/12/bc41eb0750cfbc95308ca87217b239f8d2617bb5ab5ed7cc61cbe860800d2dc7-1024x576.png)
![](https://www.palsha.jp/wp-content/uploads/2023/12/bc41eb0750cfbc95308ca87217b239f8d2617bb5ab5ed7cc61cbe860800d2dc7-1024x576.png)
![](https://www.palsha.jp/wp-content/uploads/2023/12/81968bda62fa24ab6a35ee6808da977975ffbbc68685c89f89c07bcb96aec8ba-1024x576.png)
![](https://www.palsha.jp/wp-content/uploads/2023/12/81968bda62fa24ab6a35ee6808da977975ffbbc68685c89f89c07bcb96aec8ba-1024x576.png)
具体的には、実装する機能の未実装部分のコードを書いていきます。
イメージとしては、抜けている1ブロック分のコードを書いていく感じ。
その機能のコードを1から全部書く…!というわけではないですが、穴埋め問題というわけでもないので、しっかり歯ごたえがあります。
Goの使用経験がほぼない私は、以下のような流れで進めていました。
① ここでどんな処理を実装しなければいけないか、仕様書を見て考える(クライアントからJSONでもらってきたデータを処理してDBにクエリを飛ばす…とか)
② 他の機能のコードを参考にしながら、実装していく
他の機能のコードを参考にしながら、なんとか実装していったという感じです。
文系でもちゃんとついていけたか?
文系でも必須条件を満たしていれば、時間はかかるがちゃんとついていけるという印象でした!
前述した通り、Go初心者でも他の機能のコードを参考にすれば書けますし、わからなければ先輩エンジニアの方に質問をさせて頂くことができるので、必須条件を満たしていれば特に問題ないかと思います。
先輩エンジニアの皆様は、初歩的な質問でもとても丁寧に解説してくださったので、非常にありがたかったです…
一方で、参加条件には書いていないが「システムのアーキテクチャを想像できる最低限のインフラ知識」も必要だと感じました。サーバーをまたいだ処理について想像できず、コードを書き始められなさそうだからです。
私はインフラ屋なので問題ありませんでしたが、仕様書にどういう処理が必要か?という情報は逐一書いていないため、APIサーバー内で完結しない処理については「ハイスコアを記録するためには、DBサーバーに情報を保存しないといけないんだろうなぁ」というように想像する必要があります。そのためには、最低限インフラの知識が必要になると思います。
文系の学部だとプログラミングやフロントエンドの講義はあっても、インフラについて学ぶことはあまりないと思うので、「講義でプログラミングやって興味あるから参加するぜ!」という方は、システムの中でどういうサーバーが動いているのか、簡単に学んでおくことをおすすめいたします!
参加して良かったこと
どこまで書いていいかわからないので、さらっと触れます!
詳しくは、ぜひ参加して聞いてみて下さい👍
サーバーエンジニアについて理解が深まった
仕事内容への理解が深まりました。サーバーサイドのことなら、プログラミングもサーバー構築もセキュリティ対策もなんでもやる…というのは驚きでしたが、エンジニアとして非常にスキルがつきそうだと感じました。
ゲームサーバーについて理解が深まった
ゲームサーバーへの理解が深まりました。特徴として、例えばデータの書き込みが多く、DBへの負荷が大きくならないように設計しなければいけないそうです。
普段自分が触っているWebサーバーなんかと比較しながらお話を聞いていて、面白いポイントがたくさんありました。
なるほど…ミリシタにもそんな工夫が…
ミッチーの「ヨイショ!!」が聞けて良かった
このワークショップの題材となっている『ミスタードリラー for バンダイナムコスタジオ ワークショップ』はCVを堀江美都子さんが担当されているのですが、久々にミッチーの声が聞けて嬉しかったです(一時期、愛少女ポリアンナ物語にドはまりしていました)。
最後に
文系でも、必須条件を満たしていればちゃんとついていけます!
(個人的には、インフラの知識もあればなおヨシ!)
ぜひ応募してみてください♪
![](https://www.palsha.jp/wp-content/uploads/2023/02/78db209179f8ccab78abbd49a88ace458d253d705e4c0be2511dc44fad415640.jpg)
![](https://www.palsha.jp/wp-content/uploads/2023/02/78db209179f8ccab78abbd49a88ace458d253d705e4c0be2511dc44fad415640.jpg)
![](https://www.palsha.jp/wp-content/uploads/2023/02/78db209179f8ccab78abbd49a88ace458d253d705e4c0be2511dc44fad415640.jpg)
あと、ミリアニ見てミリシタ…やろう!
いちぽむはいいぞ。
コメント