これは ドリコム Advent Calendar 2019の15日目です。
14日目は mend さんによる、Lily58 Proで自作キーボードデビューした話 です。

はじめに

初めまして。新卒1年目でクライアントエンジニアとして働いています、金井です。
普段はネイティブゲームアプリの運用・開発に携わっています。

私はドリコムに入社するまでゲーム業界のインターンやアルバイトをしたことがなく、ゲーム開発も個人の簡単なものだけしかやってきませんでした。

チーム開発の経験ほぼなし、使用する言語・ゲームエンジンへの知識もほとんどない状態で、入社してからの8ヶ月どのように業務にキャッチアップしていったか振り返ってみました。一例ではございますが気になった方に読んでいただけたら幸いです。

入社してからの流れ

  • 4月中旬頃まで
    • ビジネスマナーや会社理解等
  • 4下旬頃から5月末まで
    • 新卒全員を2つのグループに分けて各グループで1つゲームを作る研修
  • 6月から現在まで
    • プロダクトに入って開発に参加

プロダクトに入るまでの話

こちらについてはすでに記事にしていただいているので割愛します。
↓↓↓
https://tech.drecom.co.jp/new-graduate-interview-2019/
1つだけお話しすると新卒研修ではUnityを使いました。

プロダクトに入った後の話

入って三週間ほどはデバッグ機能の改修や細かな修正(レイアウトなど)をしていました。
その後少しづつ1機能の実装などを任せてもらって今に至ります。
今では1,2週間に1機能作るペースで作業ができるようになりましたが、初めの頃は色々なことで困っていたので当時を振り返ってどのように解決していったか書いていこうと思います。

入ってから困ったこと

「知らないことが多い」
何よりもこれが大きいです。
私は今のプロダクトで使っている言語やゲームエンジン、それに付随する開発環境などをプロダクトに入るまで自分で使ったことがありませんでした。

「チャットなど作業時間以外にも時間が取られる」
各プロダクトの進め方にもよると思うのですがチャットの部屋が多くてチャットの流れを追うだけでも時間がかかる時が多かったです。

「並列に作業することが多い」
これは私の得手不得手の問題もあるのですがやることが並列に進むことが多い印象でした。

「知らないことが多い」

これに関しては配属先の周りの方々に助けられながらですが対処法を考えて実行できました。
多くあった中で、特に知らなくて困ったのが開発環境でした。
新卒研修ではUnityを使用していたのですが、プロダクトではCocos2d-xというゲームエンジンを使用していました。配属されるまで聞いたことのなかったゲームエンジン(Cocos2d-x)と読んだことしかなかった言語(C++)での開発は少し怖かったです。

Q. Cocos2d-xやC++がわからない
6月の時期に各タスクで時間を多めに取ってもらい、実装するだけでなくどうしてこのように動いているか、なんでこう書かれているかなどを読みとっていくようにしていました(ゲームエンジンの動き方や言語仕様の理解のため)。
また少しでも気になったことがあったら調べるか聞くように気をつけ、教えてもらったことや調べたことを付箋に書いて作業環境の周りに貼っていつでも見れるようにしていました。
上記は実際に私が貼っていた付箋の一例です。
エディターを早く使えるようにするために覚えたいショートカットを書いた付箋やPRを作る時に忘れやすいこと・やらなければならないことの付箋などを、いつでも目に付くところということでPCの周りに貼っていました。

この結果どのような流れでこのゲームは動かされているのかや、自分の改修したところの少し上まで見ておくことで自分がなんとなくでも見たことのあるコードの範囲を増やすことができました。
この入り始めの時期に時間を使って色々なところを見たりエディターの使いかたを覚えたりできたことは今の開発に良い影響を与えていると思います。

「チャットなど作業時間以外にも時間が取られる」

joinして入るチャットの部屋が多いために、知りたい情報が流れたり見つけられなかったりすることが多くて配属当初はかなり困っていました。
そこで自分が何に対して困っているのかを考えたところ、自分の見たいチャットが時間を置くと流れてしまうために定期的に部屋を見る必要があるからだとわかりました。
その対応策として「一定時間ごとに特定のキーワードを含んだチャットを自分しかいない部屋に流すbot」を作成しようと決めました。

bot作成に際して出来るだけ早く使い始めたいこともあり、なるべく時間がかからない方法で作ることにしてGoogle Apps Script(以下GAS)を使いました。
GASは書いたことなかったのですが書いてみるとJavaScriptに似ていて書きやすく、トリガー設定などもプルダウンを押していくだけで簡単でした。(1. コードを書く。2. Googleドライブに上げる。3. タイマーなどを設定する。で完了。)
そのため簡単なbotを作ってみたい方にはおすすめします!
作成したbotの概要ですが1時間程度で下の画像のような形で部屋名とチャットの内容、送信者がわかる形で送られてくるようなものを作成できました。
これによって自分に関わるチャットやプロダクトにとって緊急度高めなチャットを頻繁に部屋を見ることなく見つけることができるようになって作業時間をまとまって取れるようになりました。

「並列に作業することが多い」

並列作業は苦手な人も得意な人もいると思うので一概には言えませんが私は苦手な側でした。
何が苦手なのか考えてみたところ各作業で何が残タスクなのかの把握が一番苦手だと思いました。

これを改善するために「朝その日にやることを付箋に書いて手元に置いておく」、「作業が増えたら随時付箋に書いていく」、「毎日帰る前にその日にやった作業をPCにメモする」の3つを行いました。

一例として実際に私が配属当初に書いていたメモ(スティッキーズです)を下に載せてみます。
その日やったことの大雑把なくくりでいくつか並べてそのそれぞれの進捗を記載していきます。
これを行ったことにより頭の中で混ざっていた各作業の進捗度合いなどが可視化されてわかりやすくなりました。その結果やり忘れていた作業が後から発覚することも減って作業の効率が上がったと感じています。

基本的に付箋の方が自由にかけていつでも破棄できるのでメモするには向いていると思っているのですが、その日最後の作業まとめだけはPCに書いた方がいいと思っています。理由としては時間が経った後に「いつ頃は何していたか」や「これを作ったのはいつだったのか」などが知りたくなった時に検索してすぐ見つけられるためです。

まとめ

ほとんど知らない環境を使っている開発に参加することは初めはとても怖かったです。今考えると簡単なことでも、参加したての頃はわからなくて質問することが多く大丈夫かなと心配でした。
けれども、しっかりと自分が困っていることの原因を見つけてそれに対応できそうな策を考えたり、周りの方達に相談したりして1つずつ解消していけばしっかりと成長していけると実感できました。
今後も困ることは起きると思いますがこの8ヶ月試してきた「落ち着いて策を考え実行する」のサイクルを回していくことで解決していきたいです。 明日は irohiroki さんの記事です。
ドリコムでは一緒に働くメンバーを募集しています!募集一覧はコチラを御覧ください!