目次
はじめに
22卒エンジニアとして入社した「いっちゃん」と申します。入社した年の4月末に、「&JO1」というゲームを開発するプロジェクトにサーバーサイドエンジニアとして配属されました。このゲームは、「JO1」というアーティストを起用したスマホゲームで、ジャンルは「JO1と365日つながるシミュレーションゲーム」です。配属先ではOJT研修として主にサーバーサイドのソフトウェア開発に携わっています。
本記事では、配属後7月までに行った業務や学んだことを示した上で、私から見た10ANTZがどのような会社であるかを述べます。
どのような業務に取り組んだか
配属された後は主に以下の業務を行いました。
- 4月末
- ローカル開発環境構築
- 5月
- 管理画面の既存機能の修正
- 研修課題「テトリス」
- マスターデータのチェックツールの修正
- 6月
- 公式サイトの開発
- リリース前デバッグの手伝い
- 7月
- イベントのストーリー閲覧機能の追加
- 問い合わせ対応のためのログ調査
- 管理画面のイベント機能の修正
以下にこれらの業務内容を説明します。
4月末
ローカル開発環境構築
4月末の&JO1のプロジェクトに配属されて最初にローカル開発環境の構築を行いました。支給されたパソコンにおいて、動作確認を行いましたが、これは一筋縄ではいきませんでした。
支給されたパソコンは私の世代から新たに導入された機種だったため、そのための対応が新たに必要であることが分かりました。そこで、必要な対応について調査し、マニュアルを修正しました。
5月
管理画面の既存機能の修正
環境構築が済んだ後、管理画面の既存機能の修正を行いました。ここで、管理画面とは、デバッグや調査のためにプレイヤーのデータを操作したり、表示したりすることのできるWebサイトです。
この実装では、命名や動作を手がかりに修正箇所を探し、既存のコードを参考に管理画面とAPIサーバーに必要な修正を加え、動作確認をしてプルリクエストを送りました。この修正により、デバッグや動作確認が行いやすくなります。これがこのプロジェクトに対する私の初めてのコントリビューションとなりました。
研修課題「テトリス」
研修課題としてブラウザで動作するテトリスを実装しました。
マスターデータのチェックツールの修正
マスターデータをチェックするツールの修正を行いました。ここで、マスターデータとはゲーム内で使用される定数を複数の表にまとめたものです。
この修正では、マスターデータ内のある文字列データのフォーマットが仕様通りかどうかをチェックする機能を追加しました。これにより、マスターデータのフォーマットの誤りをより早く検出できるようになります。この実装を通して、マスターデータの仕様とそのコード内での扱い方を把握しました。また、このプロジェクトのサーバーサイドで主に使用されるプログラミング言語の一つであるPHPの基本文法も一通り把握しました。
6月
公式サイトの開発
6月に入ってからは、&JO1の公式サイトの開発という大きなタスクを任されました。開発した公式サイトは、6月29日に公開されました。
最初に、公式サイトの開発に必要となる動画再生、モーダル表示、スワイプの実装方法について調査しました。また、CSSに自信がなかったため、CSSによる画像配置・アニメーション等の実装方法について学んでおきました。その後、デザイナーさんからデザインと素材をいただてからは、プランナーさんから挙動やテキストに関する指示をいただきながら、サイトに反映させていきました。
この開発では、開発環境の構築から使用ライブラリの選択やサイトの実装に至るまで、私に大きな裁量を与えられました。また、成果物も分かりやすく、とてもやりがいがありました。さらに、CSSについて体系的に学ぶ機会となり、デザイナーさんやプランナーさんとコミュニケーションをとる経験もでき、得難い体験となりました。
リリース前デバッグの手伝い
6月の後半には品質管理チームの手伝いとして、他の22卒メンバーと一緒に&JO1のリリース前デバッグを行いました。デバッグでは、用意されたチェック項目について、アプリの表示や挙動が正しいかどうかを実際にプレイしながら一つ一つ確認していきます。
このデバッグを通して、ゲームの遊び方を把握することができました。さらに、&JO1で起用しているアーティスト「JO1」のメンバーの顔、名前、個性、そして魅力を把握することができました。公式サイトの開発も含め、新規ゲームのリリースに立ち会わせていただけたことは貴重な経験であり、非常に嬉しく思っています。
7月
イベントのストーリー閲覧機能の追加
公式サイトを公開した後は、サーバーサイドの機能の実装として初回イベントのストーリー閲覧機能の追加を任されました。このイベントでは、プレイヤーは「クエスト」と「スターライブ」を行なってイベントポイントを獲得し、イベントポイントに応じて付与されるストーリーチケットを使って、イベントストーリーを解放して読み進めることができます。
以下は私が実装した内容です。
- ストーリーチケットの付与・消費機能
- ストーリー解放・閲覧機能
- 各機能を実行するためのAPI
- 各機能のログ出力機能
これらは、このプロジェクトに対する私のコントリビューションの中で、実際にプレイヤーのデータを取り扱うコードとして初めてのものとなりました。
この実装を通して、以下の経験をすることができました。
- 既存の類似機能のコードを参考にして、新たなコードをどこに追加すればよいか、新たなロジックをどのように実装すればよいかを計画する経験
- APIが呼び出されてからデータベースを更新し、ログを出力し、レスポンスを返すまでの一通りのコードを書く経験
イベント開催時にアプリから私の書いたロジックを実行した時は、とても大きな達成感がありました。
問い合わせ対応のためのログ調査
配属先のプロジェクトで開発されたゲーム「&JO1」は7月19日の午後3時4分にリリースされました。リリース後は、プレイヤーからのさまざまな問い合わせが問い合わせ対応チームに届きます。その中で、対応にログやデータベースの確認を必要とするものについては、エンジニアに調査が依頼されます。私にも調査の依頼が日常的に割り当てられるようになりました。
調査では、ログ、仕様書、マスターデータなどを確認して、データ上の不具合が発生していないかを総合的に判断して報告しています。
この調査を通して、ゲームの機能、API、仕様、マスターデータなどを網羅的に把握していくことができました。また、調査のためにどのようなデータをログに出力しておくべきかということも学びました。
管理画面のイベント機能の修正
イベントのデバッグをするための機能として、以下の機能を管理画面に追加しました。
- イベント用のストーリーチケットをプレゼントする機能
- ランキングの動作確認をするための機能
私から見た10ANTZがどのような会社であるか
10ANTZに入社した私は、&JO1というゲームのプロジェクトに配属されてから7月までに、上で述べた業務に取り組んできました。これらの経験を通して、10ANTZが以下のような会社であると感じています。
- 魅力的なコンテンツを創造している
- コンテンツの発信がエンジニアリングによって支えられている
魅力的なコンテンツを創造している
魅力的なコンテンツを創造していると感じたのは、&JO1をプレイした時に以下のことを思ったからです。
- 個性、格好良さ、可愛さを含むJO1のメンバーの魅力が伝わってくる。
- ストーリーが、楽しく読みごたえがある。
- スターライブにおける「ちびキャラ」のアニメーションが、細かい部分まで作り込まれている。
JO1のことを知ったのは、10ANTZに入社してからですが、今ではとても好きになりました。推しは木全翔也さんです。「#andJO1_見つけて11STARS」という宣伝企画の時には全員分の広告動画を見るために都内の駅を巡り、社内で「すごいですね!!!だれよりもJAM…!!」とのコメントをいただきました。
8月上旬に開催されたイベントでは、序盤に油断したせいでイベントストーリーの最終話を読むことができずに悔しい思いをしたため、次回以降のイベントでは全話読めるように頑張ろうと思います。
コンテンツの発信がエンジニアリングによって支えられている
コンテンツの発信がエンジニアリングによって支えられていると感じたのは、仕様書に不完全な部分があったり、リリースまでの期間が短かったりすることがあったとしても、先輩エンジニアたちがプランナーさんの要求に応えており、リリース後に致命的な不具合もほとんど無いからです。これは、単に先輩エンジニアのプログラミングスキルが高いだけでなく、プロジェクトに対して当事者として向き合っている結果だと思います。
また、ソースコードとデータベースを主な手がかりとしてプログラムを理解することや公式サイトを0から開発することは、配属されたばかりの新卒エンジニアに対しては少しハードルが高い気もしました。しかし、管理画面の修正、デバッグ、イベント機能の追加、ログ調査などにOJTの業務として取り組むことで、着実にプロジェクトに慣れていくことができていると思います。これは、プロジェクトに早く慣れることができるような業務を割り当ててもらっているということでもあり、先輩エンジニア達の面倒見の良さも感じています。
今後は私も、プロジェクトに対して当事者として向き合い、コンテンツを支えていくことのできるエンジニアリング能力を身につけて、貢献していきたいと思います!