Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

Akatsuki Hackers Labは株式会社アカツキが運営しています。

内定者インターン(クライアント)に参加しました!

はじめに

10/11~10/31まで15日間、株式会社アカツキゲームスにてフルリモートの就業型インターンに参加してきました。
本記事ではこのインターンでしたことや、学んだことなどについて書きます。

自己紹介

自己紹介を忘れていました。
私は某大学に通う生物系の大学院生(M2)です。生物系の理論の研究室に属しており、生物の形態や運動の理論研究を行なっています。

インターン参加の背景

私は23年にアカツキゲームスに入社することが決まっており、 このインターンは、”就業までに会社の雰囲気や業務内容を知る”という目的で参加させていただきました。
インターンの参加にあたって事前面談を行いました。その内容はざっくりと要約すると「Unityと関連するゲームを触っておいてね!」という話だったので、

などを研究の隙間で取り組みました。

普段pythonやDCCツール内の特殊なプログラミング言語しか触っていない、配属されるプロジェクトの具体的な業務内容がわからいなど、自分に業務がこなせるのかどうか少し不安でした。

インターン中

それではようやくインターンの内容についてお話しします。
このインターンでは用意してくれた大きなことをドカンとするのではなく、 実際の開発現場で出てきた小さな問題点の改善などを複数行いました。
ここからは時系列に沿ってお話しします。

第一週: 最初の山

オリエンテーションや開発環境を1.5日程度で終わらせ、早速実務が始まりました。
第一週のタスクはこれです。

  1. ゲームオブジェクトの差し替え

  2. 消費系アイテムの(ちょっとした)機能修正

このタスクを提案された際、心の中で「え?こんな単純なことでいいの??」と思いました。 しかし私のその考えは完全に浅はかでした。 なぜなら、私は大規模開発の基本的なことが何一つわかっていなかったからです。 主に以下の二点でつまづきました。

  • Gitの使い方が全然わからない!

  • ソースコードが膨大すぎて、修正する箇所がわからない!

Git の使い方に関しては超基本的な使い方は把握していたものの、大規模開発ならではのプルリクの作業やコンフリクト解消の仕方などが分からずかなり苦戦しました。
Git の使い方がよくわからない→ 作業が遅い → 作業中のファイルに誰かが変更を加える→コンフリクトが起こる→作業遅れる
の負のスパイラルに陥り、ずっと抜け出せないのではないかと疑うほどでした。 この問題はインターネットで調べたり、それでもわからないことをメンターさんにお聞きしたりして解決しました。

ソースコードが膨大すぎる件に関しては、タスクは簡単なのに書き換えるべき場所が複数箇所にあったため、その構造を把握するのにかなり苦労しました。
今後もソースコードの理解に苦しめられることが予測されたため、Mac純正のメモアプリに自分なりのドキュメントを作成するなどの対策を行いました。

最初のプルリクがマージされるまで2日ほどかかりましたが、最初のプルリクが通ったときは感慨深かったです。。。

第二週: 作業効率の改善

二週間目には以下を行いました。

  1. 消費系アイテムの機能追加

  2. デバックコマンドの機能追加 X 3

デバックコマンドとはゲーム実行時にその動作を変更・確認するコマンドで、ゲーム開発を効率的に行うためのものです。

二週目になるとGitの使い方の理解やコードの把握などができ、ようやく楽しみながら作業をできる様になりました。
この頃には第一週に自分でまとめていたドキュメントがかなり役にたち、作業効率を少し上げてコーディングできた様に思います。

デバックコマンドの機能についてはゲーム開発を効率よく進める上で非常に重要なので、プランナーさんに仕様の確認をしながらやりがいを持って取り組めました。

第三週: 第二の山

第三週のタスクはこれです。

  1. 入力システムの移植

私が参加したゲームのプロジェクトでは、ゲームの要素ごとにいくつかのパートに分かれて作業を分担しているのですが、最後のタスクでは別パートの入力システムを私が参加しているパートの入力システムに移植するというものでした。最初は簡単にできると思っていたのですが、かなりの時間がかかってしまいました。
理由としては、別パートと私が参加しているパートの入力システムの仕組みがかなり異なっていたからです。特に別パートの担当パートのスクリプトの対応関係の把握にかなり苦戦しました。また入力システム周辺にはUniRxやUniTaskといった、私がよく知らない処理が多く使われていたことも時間がかかる要因となりました。

焦って表面的のことばかり調べるのではなく、全体を理解するように努めることで解決できました。 結局、慎重に全てを理解しようとする姿勢がもっとも効率的だということを改めて実感しました。

また第三週には通常の業務とは別に、テクニカルアーティストやRandDの方ともお話しする場を設定していただき、発表を兼ねて出社もしました。
リモートでは聞けなかったことも色々話せて充実した一日を過ごせました。

会社の雰囲気

会社の雰囲気についてはまだ述べていないのでそちらも述べます。
まず、プロジェクトに関わる人の多さと開発のスピード感は圧倒的でした。
また多くの方がリモートで独立に作業されるので、自分から質問や提案することが求められていることも強く感じました。 自分から発信しないと何も起こらないですが、困っていることなどを発信するとすぐに的確なレスポンスが帰ってくるような”助け合い”の精神がよくわかりました。

これは現地に行かないと分からないことですが、オフィスが色々すごいのでぜひ自分の目で確かめてください。

感想

このインターンでは実際の開発現場をそのまま体感することができる貴重なインターンでした。 私は某化学メーカーや某電気メーカーの短期インターンなどに参加したことはありますが、ここまで現場を体験できる刺激的なインターンは初めてでした。
最後にこのインターンで私に関わってくれた全ての皆様、特に毎日相談に乗ってくれたメンターさんに感謝申し上げます。 三週間本当にありがとうございました!4月からもまたよろしくお願いします!