はじめまして、イチノセです。
この度、株式会社アカツキにて「八月のシンデレラナイン」の部署にて3週間就業型インターンをさせていただきました。ここで何を学び、何を見たのか語っていきます。
経緯
2018年12月、私はインターンを探していました。将来の就職のために行くに越したことはないと思いネットで探していました。探している中、普段からお世話になっている教員の方から「アカツキで新しいイベントをやるから行ってみては?」と勧められ、そちらの会社ではお世話になった先輩が就職した会社であるということもあり、アカツキのイベントに参加することにしました。
「Akatsuki Geek Live」と呼ばれるそのイベントは、LT(Lightning Talks)と呼ばれるプレゼンテーションを企業と学生から数名ずつ募り登壇するイベント(以下LT会)でした。第1回目は2月にあり私は聴衆側でしたが、エンジニアの集う会ということもあり、面白い話を多く聞きました。何度かLT会にお邪魔させていただいてると夏に3週間就業型インターンシップがあると聞きました。
こちらでは参加期日が3種あり、7〜9月の頭の平日からそれぞれ3週間ありました。3週間という長いインターンであり、参加したら他の会社のインターンを受けることができないと思った私は学校と話をつけて7月の頭から3週間インターンに参加することにしました。
目標
こちらのインターンでは何をテーマにするかを初めに自分で決めるところからスタートします。テーマを決めたらメンターの方と話し合ってテーマに対する目標、そのための道筋を一緒に考えました。
選べる道が多い中で「データ管理、効率化をより深掘りしていく」ことを目標にしました。私はワークフローエンジニア(データの管理、効率化を図るエンジニア。エディタやパラメータ管理、処理軽減など)を目指しており今までの制作の中ではそちらの処理に関わる機会が多くありました。今回のインターンではそちらの実力を伸ばそうと考えたのです。
インターン課題1
目標を決めた後はタスク管理ツールを閲覧して、どのタスクが目標に沿っているか確認して課題を決めていきました。候補はいくつか挙げられた中で、デザイナーからのタスクに「デバッグ機能としてキャラクタのシーン画像を追加した際の表示範囲、座標をどのスマートフォン検証端末からでも確認できるようにしてほしい」とありました。データの管理に沿うということで今回はこちらの作業を行うことにしました。
初めはすぐに作業を開始するのではなく会社のコードを読むところから始まりました。会社の方で参考になる処理があれば使用できるからです。コードを読んで3日ほどで作業に取り掛かり始めました。コードを読んだりメンターの方と話して知ったのですが、IOSに合わせて画像サイズを合わせた後、画像の表示可能範囲、必須表示範囲からIOSに合わせた表示範囲を計算して描画してくれるオブジェクトがすでにあるそうなのでそちらを利用しながら作業しました。
そちらを加えた後は画像の情報を取得する手段について考えました。画像の表示位置を変更したい、表示範囲を変更したい、画像自身を移動させたいなど後々で変更もできるようにしようと思い、画像の表示範囲、座標をUIで表示し変更ができるようにしてデザイナー側からも楽に変更ができるようにしました。さらに画像自身をスライドして表示中心座標を感覚で変更できるようにしました。
こちらのゲームではキャラクタの画像を閲覧する方法として、パラメータ確認の時にも閲覧できるようになっています。そちらの挙動も確認できるようにしたほうがいいということを話し合って挙動を追加しました。そしてこれらUIの表示を消すフルスクリーン機能、読み込みの処理の多重化など測りました。
今回の制作では、使いやすくわかりやすい機能を目指して開発できたのでいい経験になりました。
インターン課題2
次の課題は「対戦時のキャラクタ表示を上記で使用したオブジェクトを使用して表示する」ことすることでした。表示方法が「背景、半透明の黒、キャラクタ」の順で後ろから表示します。こちらではSSR未満の場合には背景はデフォルトの背景画像、SSR以上ならばキャラクタの背景画像を表示させていました。しかし、私がオブジェクトを追加してこの処理を真似て表示させようとすると背景と画像で表示範囲が合いませんでした。そちらの原因を調べていると背景とキャラクタの継承先が違く描画手段が違っていました。ならばと、背景抜きをするシェーダーを背景を薄暗くするシェーダーに書き換えて完成させようとしたのですがその途中で作業は中断してしまいました。なぜならば、今回のインターンの期日が来てしまったからです。
今回のインターンで一番悔やむことと言えば最後まで作業をやり抜けなかったことです。余裕を持って全ての作業を完成できなかったことが大変残念です。
総評
上記で書かなかったこと以外では、「Git」「アセットバンドル」について関われたこと、チーム制作を学校で行っていた身として会社の制作は経験として得られたこともデータ管理関係として深く理解が得られたと思います。課題2は完成までには至りませんでしたが、現場の作業を1つでも多く行い、最高でした!上記にある課題1を完成に至るまでの過程でのデータの取得、配置、効率化を考察してきたことと、課題2での失敗からのコード読解で処理の理解を深めることができたからです。
過程を理解して簡略化することにより、全ての作業効率をあげることができるのをここまでのインターン活動で深く知ることができました。今回の活動と今後行うインターン活動、普段の作業から成長した自分を9月にあるゲームジャムで証明していきたいと思います。
成果報告資料(slideshareには代理で登録しています)