ピクシブ春インターンに参加してきました。

PIXIV SPRING BOOT CAMP 2019に「VRoidコースで」参加してきました。
全体を通して楽しくやれて、また、色々と至らない部分も自覚できて、非常に良い機会でした。今後応募してみようという方の参考になれば幸いです。
f:id:wraikny:20190319180409p:plain
recruit.pixiv.net



参加まで

モチベーション

VRChatにてアバターとしてずっとVRoid Studioで作成した子を使っていました。ちょうど春休みで何かコミットできる機会がないかと調べたところ、春インターンとVRoidコースがあ見つかり、興味を持ったので応募させていただきました。

スキルセット等

  • 学部2年、プログラミング歴1年半
  • .NETのライブラリを使用した非Unityでの2Dゲーム開発。(C#:~6ヶ月、F#: 1年)
  • Rustで小規模なものをつくる。(数ヶ月おきで1年弱)
  • VRChat向けのアバター編集などUnityの超基本的な操作。
  • Unityを中心にシェーダプログラミング。(5ヶ月)
  • (VRChatを1000時間。)

上記のURLからVRoidコースの欄をみてみると

使える技術
Unity, C#, XAML, WebGL, React/Redux, Ruby on Rails

とありますが、自分のスキルセットとはあまりマッチしていなかったので、ダメ元で応募してみたら通ってしまったという感じです。

流れ

  1. GitHub選考で応募(2コースまで選べたがVRoidコースのみの応募)
  2. メールで連絡が来る。
  3. 面接を受ける(遠い場合はリモートでも良いらしい)
  4. メールで連絡が来る。

面接では、1時間ほどVR関連について楽しくお話しさせていただいて、最後に形式的な非常に簡単なコードテストを受けました。GitHub選考でしたが、それ以外の事についても見て頂いていた(自分のホームページ経由?)様でした。

選考についての感想

触っている技術が少し離れている自覚があったので、正直なところ選考に通るとは思っていませんでした。インターン初日に倍率が30倍程度(参加者5人に対して150人以上の応募)だったことを伝えられ、ますます選考を通ったのが意外でした。他の参加者はM1・B4の方も多くて、とてもビビってました。
ポジティブなことも書いておくと、アウトプットが多くてポートフォリオとしてまとめていたのは良かったとは伝えられました。また、面接ではシェーダやVR関連、特にVRChatのことや、VRoid Studioに対する質問などもして終始楽しくお話させて頂いて、その辺は好印象だったのかなと思います。特に学年などは見ていないが、インターンに応募する学生の比率的に就職が視野に入る人が多くなる;とは聞きました。


作業に関して

概要

VRoid HubのSDKが、一部開発者向けに公開されています。これを利用して、具体的にアバターを読み込んで簡単なゲームを作る、といった内容を提案されました。
アバターが大きく映って、短期間のインターンでも作れるボードゲームのようなものが良いとのことで、ロジック部分は以前実装したオセロのコードを移植しました。
アバターの読み込み部分はVRoid SDKのサンプルをそのままで十分だったので、その後のIKをつかったアバター操作が主でした。

作業環境

PC

レンタルのゲーミングノートPCをお借りしました。
core i7 8700K
GTX 1080
メモリ 16GB
でサクサクでした。このスペックは多分、Unityを使うVRoidコースだけだったと思います。
また、私用のキーボードとマウスを持ちんで使うこともできて、快適でした。
普段は24インチのディスプレイを3枚つかっているので、そこだけは不便でした。

椅子

バロンの15万円くらいする椅子。座り心地最高。欲しい。

ソフトウェア

基本的に好きにインストールして、必要な場面では管理者権限での許可もしていただきました。
ただ、ライセンスの都合上Visual Studioを使用できなかったため、Unity + C#なのにVisual Studio Codeを使用していました。正直これはかなり辛いポイントだったので、次回以降は改善されると良いんじゃないかなと思います。

個人的に辛かったポイント

  • Unityで開発を行なったことがなかったので、調べる部分がかなり多かったです。またサンプルとしての性質上、アセットを使うこともできず、FinalIKの情報ばかり出てくる中で、少ないUnityの標準IKの情報を拾ったりする必要があって面倒でした。
  • 普段から関数型やそれに近い言語のF#やRustを使用したプログラミングを好んでいるので、オブジェクト指向メインで古い言語のC#を使った開発はなかなか慣れず、苦闘していました。
  • 今まで食わず嫌いしてたasync/awaitによる非同期処理を試してみて、シンプルで使いやすくて良かった。

最終発表

数十人の方の前で発表するのは緊張しました。自分のタスクが簡単だったのと、分野としてpixivはweb系がメインなので、マサカリは飛んできませんでした。自分以外の方が結構詳しく資料を作っていてちょっと焦りました。

作業についての感想

メンターはのりおさんについていただきました。
最初に方向性を決めた後は、たまに少し質問したりする以外は、基本的に一人でもくもくと作業できてよかったです。
タスク自体は難しくなかったのですが、自分の能力不足な点が多くて、あまり見た目にこだわれなかったりといった部分は残念でした。
ちょうどVRMを触りたいとは思っていたので、その点では短期間で集中して取り組む機会を設けていただけたのはとても良かったです。


それ以外のこと

ホテル

ピクシブさんに新宿御苑駅近くのアパホテルを取っていただきました。
去年までは別のホテルだったようですごく改善されていると、去年のインターン参加者で現在アルバイト中の方から聞きました。
f:id:wraikny:20190319182034p:plain
ちなみに交通費も申請して後日支払われるようです。

日程

全部で8日間(土日を含めると10日間の滞在)でした。
初日は説明や環境構築に費やされて、ほとんど作業はできませんでした。
また、最終日も発表資料のさくせいがあったので、実作業時間は6日間ほどでした。自分は19時ですぐ帰っていましたが、その後も残って作業していたインターン生もいたようです。
ただ、今回は例年より3日間長かったようで、その点は幸運だったと思います。

オフィス

お水やお茶が入った冷蔵庫があり、自由にとって飲んでいいシステムでした。よかったです。壁がなくて開放的な空間で、ひと繋がりになった木の机がすごくオシャレでした。

ご飯など

初日の夜に歓迎パーティ?で、社内のスペースにてメンターの方たちと一緒に、出前のお寿司やピザやパスタをご馳走していただきました。

また、水曜日は全社会議の後に社員全員が一緒にお弁当を食べる習慣があるようで、一緒に色々お話ししながらお昼をとりました。初日と6日目の二回です。
f:id:wraikny:20190319182426p:plain

また、お昼はチームの方々と一緒に、近くのお店に連れて行ってもらうことが多かったです。
f:id:wraikny:20190319192518p:plain

最終日も打ち上げがあったようですが、バーチャルマーケット2個人的な用事があったため、残念ながらそのまま帰宅しました。

pixiv TECH SALON

ピクシブ主催の完全招待制のイベントなのですが、幸運なことにインターン生も参加することができました。面白いLTと、興味深いセッションを聴くことができました。
最後はFMS_CatさんによるGLSLによるVJと、あとはご飯が出て、お話しつつ食べたりしてました。
また、Twitterで交流があったり一方的に知っていたりといった方々にご挨拶させていただいたりもしました。楽しかったです。
f:id:wraikny:20190319184458p:plain
inside.pixiv.blog



蛇足

PIXIV TECH SALON司会だったイトッポイドちゃんがあまりにも可愛くてファンになったので、後日VRChatのバーチャルマーケット2会場にてツーショットを撮らせていただきました。かわいい!!!!
f:id:wraikny:20190319183907p:plain