あれやこれややってる間に2014年が死んでしまったので、忘れないためにも自分用メモを残しておく。

頭働かせてないので小並感溢れる文章です。


今年の業務

January -

新規開発案件のリリース後フロントエンド改修を行っていたと思う。某内製ジャッヴァスクリプトキャンバスライブラリで書かれたゲーム部分をごっそり CreateJS に移植していた。理由は(省略されました)

正直言って @leader22 や仕事の細かい Flasher さん2人が頑張ってくれたので、本当にありがたかった。

火事場の鎮火ばかりでゲーム部分のアーキテクチャ何かを久しぶりに1からやらせてもらえたので色々あったものの楽しかった。

April -

ゲーム開発基盤グループというところに招集された。この頃はひたすら雑用をやってたように感じる。

TTFフォントの構造とかにムダに詳しくなったりしたが、あまり学びは無かった。早く帰って本を読んだり Unity ゴニョッたりしてる時間がたくさんあったと思う。

May -

規模の大きそうな案件を任せてもらったが、ちょうど火事場に飛び込む案件が断続的に舞い降りてきててんてこ舞いになってた。

AngularJS にさわり始めたのがこの頃。結局使わなくなったけど、JS と DOM を理解してる人がきちんと使う分には悪くないと思ってる。あ、間違ってもゲームで使うものでは無いと思ってます。念のため。

August -

多分今年最大の案件かつ最大の功労となるであろう FFRK のパフォーマンスチューニングをやった。正直言ってしんどかった。

まぁ詳細は これ

偉い人が儲かるか分かんないゲームでこれやってる暇なさそうとか言い放ってて若干イライラしたりした。ある程度のクオリティがないゲームなんて今の市場で戦えるわけが無いと思っています。

October -

正式に FFRK チームへ。

今は運用開発がメインです。たまに Perl とか書いたり読んだりしてるけど、相変わらず Perl は苦手だなという印象しかない。

December

現在に至る


今年のOSS

gulp-flashcc-createjs-dataurl

grunt-flash4canvas-support-datauri

FlashCC で書きだした CreateJS のファイルにアセットを Base64 で埋め込んであげる or 外部 JSON としてはき出す grunt, gulp タスク

僕としては結構ライフチェンジングだったんだけど、誰にも刺さりませんでした

node-irkit

irkit操作用に書いたんだけど中途半端で終わってる品

今フロント用に書き直してたりする

oppai-motion

JavaScriptでおっぱいを動かすやつ

何気にダブルバッファリング使ったりとかで書き直した

paw.js

マウス, タッチ, ポインターイベントをよしなに扱ってくれる軽量ライブラリ

タッチライブラリの中では佳作だと思ってるんだけど、あんまり誰にも刺さりませんでした

gl-matrix.d.ts

gl-matrix.jsの d.ts

fork元がもうメンテされてなさそうなので、サブモジュール化したり TypeScript 0.9~ 対応をしたりした

あとなんかもろもろあるけど、省略


今年の所感

モバイルゲーム業界に寄った話をすると、ネイティブアプリ開発大合戦(そしてエンジニア採用合戦)の年だった。だがやはり去年初め頃からイチ抜けて採用を始めてた会社のネイティブアプリ開発力は他と違うものがあると感じる。

但し、作れるものの当たるかどうかというのはやはりシビアなところがあるので、エンジニアとしては堅実に作っていくしかないと思っている。前述の通り、企業としてゲームアプリを作るのであれば、品質を担保できるというのはブランディングにおいても大きなメリットになるのは間違いない。(クソゲー量産で瀕死になった経験をバネにした企業は多いと思う)

またウェブからネイティブにシフトした会社は、特にチームやプロジェクトマネジメントに対して大きな課題感を持っているのではないかと思っている。ブラウザは楽だったという訳ではまったくないんだけど、ネイティブアプリを作るというのはまぁなんか要約すると魂が違うっつーかなんつーか。

ウェッブに関しては、まぁ例年通り流行り廃りが速すぎて落ち着けと思いながら眺めてた。自分がやらなくても mizchi くんとかが見てくれるしそれでいっかなみたいな雑魚っぽい思想で最近は生きてる。

ウェブアプリケーションに関して、話題に上がるのはそのアーキテクチャの話が多くいざ実戦的な内容はやっぱりドックフィーディングするか作りながら考えるしかない。人の意見がムダというわけではないが、どのフレームワークを使うにしてもそれが一番手っ取り早いと思う。

また、下地としてのブラウザに対する知識不足や意識のなさがいわゆるクソコードを量産する事案が周囲では目立ってきている。そういう人に限って、そもそも DOM やレンダリングを意識するなんてナンセンス、性能向上につれて気にならなくなるという思想をお持ちだが、そんなことねーから。クソコードはクソコードです。

CSS はもはや人間が制御できるようなものではなくなってきたという思いが強く、HTML + CSS やコンポーネント単位で制作することができるオーサリングツールの登場が待たれていると思っている。Adobe 各位はよろしくお願いいたします。

そういえば jQuery をやめて VirtualDOM にしたいです!みたいなことを言ってる若者にイライラして VirtualDOM 幻想という言葉を作ったんだけど、もしかすると僕ももう老害かもしれません。

Web ブラウザのパフォーマンスに関しては、すごい偉そうなことを言うとそういう考えを持てる人材を育てる必要もあると思っているが、会社的にもインターネット的にもそういった活動とは無縁に過ごしてきた人生だったので、やはり発言力のある人に何とかして欲しいという願いがある。HTML5 Expertsのかたって最近何してるんですか?

完全にブーメランになりそうだけど、プロダクションレベルのウェブアプリケーションを作る中で、ブラウザの知識が無い & コンピュータサイエンスについての知識が無いというのは”作れるかもしれない”がかなりの足かせになる。技術的負債を抱えながら長期運用を行うという地獄絵図を起こさないためにも、ウェブアプリケーションのアーキテクトという人材がもっと重要視されてもいいのかなとは思う。

Web ゲームで考えると、やはり WebGL は魅力的に感じる。が、ゲームアプリの規模のプロダクションレベルで使うというのは現状想像しにくいことと、各 SoC の気ままな OpenGL に踊らされるという苦行が控えていると思うので、 Unity or Unreal Engine という選択肢がまずは現実的だと思っている。

チャレンジできる環境があれば、とは思うがなかなかそうも行かないのである。

逆に Web ゲーム以外であれば、特にリッチ Web 広告(死語)なんかはワンチャンがありそうな気はしている。なので Kayac さんには頑張って欲しい。


来年

多分半年くらいはこのまま忙殺されるんじゃないかなという気がしている。サラリーマン楽しいです。

今のところ楽しそうなウェッブ企業とかもないし、フリーで食ってけるイメージが皆無なので辞めないんじゃないかなと思う。すごい人がいて、すごい人に話を聞けて目標にできるということだけでも価値はあるような気はしていて、後は僕自身の成長の問題かなと。

やりたいこととしては WebGL にガッツリ触りたいという気持ちやレンダリングエンジン書いてみたいという欲求はあるんだけど、お金にならないしなぁという考えがいつも頭をよぎってならない。いつのまにかお金に汚い人間になってしまった。

Unity のゲームはちょいちょい作ってはいるんだけど、3Dモデリングの才能が絶望的にないのでマイペースでやってこうと思う。


今年も生存させていただいて、ありがとうございました。