スキップしてメイン コンテンツに移動

六本木戦記

私がGREEことグリー株式会社を退職したのは2017年5月末日だった。ここに最後に投稿したのは入社の直前で、2017年末の今日から7年前のことになる。今回書くのは、私についての以下の事項だ。
  1. 直近10年の仕事
  2. 直近半年の仕事
  3. 仕事を通じてわかったこと

ここで語られること、または語られないこと

グリー株式会社には2010年末にエンジニアとして入社し、6年半の最初から最後まで、多様なプロジェクトにわたって楽しい局面から苦しい局面まで、現代のゲームアプリ開発の表から裏まですべてを経験でき、関係各位に感謝している。

借りていたサーバー上にインストールしたWordpressに、前回のblog投稿をアップロードしたのは、2010年11月。2年少々勤めたLunascape株式会社を退職した直後だった。その後ここBloggerへ記事を移して以降、放置状態で何も投稿してこなかった。

その間、グリー株式会社の技術blogへは寄稿していて、そちらはいずれ自分が会社を去る日が来たときに在籍していた記録にでもなるかと思いながら書いていた。「グリー株式会社」が私のいた会社の正式名称で、在籍中に外部に出す文章にGREEと書いたら修正されたこともある。そうした表層的な決まりごととは別に、私の中ではGREEはGREEでしかない。SNSのGREEと会社自体とを区別しにくいとか、4文字大文字は海外ではおかしな名前扱いなので勝手に"Gree"になることが多いとか、そんなことはおかまいなしに本文中ではグリー株式会社のことをGREEと表記する。

4月下旬の最終出社の日にCTOの藤本真樹氏に挨拶に行くと次は何するんだと言われ「エモい退職エントリーでも書きますよ」と返事した手前何か書かねーとなとは感じながらもそれどころではなく、夏は過ぎて秋が訪れ、冬になった。その間、これまで考えてきたことを整理してアウトプットしたいとの思いは絶えず頭の片隅にあった。

そんな時に退職者その2 Advent Calendar 2017を見つけ、年末に向けて書いてみるかと思い立った(結局予定の日に間に合わず落としてしまったが細かいことは気にしない)。Amazonウィッシュリストも用意したので、餞別なりクリスマスプレゼントなりお年玉なりを恵んでくださる皆様、またこの文章を最後まで読み趣旨ご理解頂けた皆様は、ギフトメッセージにお名前を頂戴の上ポチって頂けると幸いである。

GREE最終出社の日に、六本木ヒルズ森タワー12Fにて
2015年に上梓した自著『ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで』以来、私はまとまった文章を何も書いていない。また、上記書籍のような専門書を書く行為とは別に、もう少し読みやすいものを書く題材がないか以前から考えていた。

そこで、2017年も終わりゆく今、長居した会社を辞めて環境を変え、時間を置いて自分の体験を客観視できるようになってきたこの機に、蔵出し的に書いてみるのはどうか。FacebookTwitterはよく更新しているが、ある程度長い文章を構想し組み立てる営為にはソーシャルメディアへの衝動的投稿とは異なる類の楽しみがある。

いわゆる退職エントリーの形式については、「どこの誰とも知れない者の自分語りは個人の自己満足に過ぎず読む価値はないので無駄なものは書かず沈黙すべし」との意見もありうるだろうし、その反応は正しい。だって自己満足なのだから。当然だ。そして、確かに、節目のイベント報告に終始するとすれば、友人知人以外の一般読者に告知する社会的意義はない。

であれば、私自身の退職イベント自体は単なるきっかけ、材料に留め、会社に入る前から出た後までの実体験や得られた知見の総括とそれに基づき考えさせられたこと中心に据えてこの文章を構成してみるのはどうか。

実体験といっても、退職エントリーで仕事を募集する人がよくやるように経てきた業務の目録を展開するだけでなく、もう少し心象に寄せていく。後から見返した評価とは別に、私がリアルタイムで感じた気分を当時の文脈上で再現して伝えられるスナップショット的エピソードを拾っていくつもりだ。つまり、文字通りエモい内容となる。

最近は怒濤のような情報のインプットを毎日吸い上げている状況で、私はちょっと昔のことは忘れる質なので、印象が鮮烈でまだ失われていないうちに資料的価値の有りそうな昔話を回顧し、さらにそれぞれのつながりを整理しておきたい。添えられた写真とともに、Facebookのウォールに散らばった絵日記の数々を思い出しながら。

記録の行為は、自然の流れである忘却に抵抗しつつも和解することにほかならない。歳を取るにつれ脳細胞は次々と落葉し復帰しない。自身が何かを常に忘却していっていることすら次の瞬間のリアルタイムな私は自覚できていない。

学者だった父は小学生の私に日記を書くよう強要しそれがとても嫌だったのに、自分の人生が折り返しを過ぎてみると記録の意義を感じ取れるようになる。外部記憶にデータをダンプしたら、安心してまた新しいものを吸収する意欲が湧いてくるはずだ。

そのようにして記録しながら、自分自身エンターテインメントに関わる仕事をしばらくやってきたわけではあるので、客観的に役に立ったり面白みがあったりする何かをそこに閉じ込めたい。脚色無しのノンフィクションだが、回顧展のキュレーターとして恣意的な演出は施すというわけだ。当時の体験そのものとはいかないまでも、文を追うことでヴァーチャル・リアリティよろしくそこそこ似たものを追体験できればこの文章の第1の目的は達成されている。

自身の境遇をもう少しつまびらかにすると、私は40歳のときにGREEを退職したので、「プログラマー35歳定年説」と称される俗説の枠外でしばらくプログラマーをやっていたことになる。ソフトウェアエンジニアとして働く30代以上の人々とは日頃の問題意識が重なりやすいはずだ。

日本のIT/ゲーム業界で1サラリーマンとして労働する日々を過ごすと、業界のシステムが持つ構造に悩まされ考えさせられる修行の日々が続く。私と一緒にこの10年の業界を近くで乗り切った人々には同時代の時事ネタ的に懐かしく、または現在進行形でなぞることのできる部分があるかもしれない。

また、私は自分の年齢をあまり意識しないまま20代の若者と仕事する機会も多かったとはいえ、現実的には全く意識しなかったと書くと嘘になる。この文章を通じ、IT/ゲーム業界の中心層を構成する若者が想像し難い点もあるだろう10年後の身の処し方に幾何かの示唆を与えられるかもしれない。プログラミングを学びITやゲームの仕事への就職を希望する10代の若者もひょっとしたら読むかもしれない。

凡庸かつ広範に過ぎる表現を敢えて用いるなら「ITエンジニアの生存戦略」とか「ここ10年の日本IT/ゲーム業界界隈」とか、読者の皆様それぞれの異なる興味関心に応じて抽出できる文脈が存在しているとよい。さらには、ソフトウェアエンジニアとかIT業界とかに縁のない人が読んでも暇つぶしになる内容であればなおよい。そのあたりがこの文章の第2の目的となりそうだ。

そのためには、自分個人の話やIT/ゲーム開発の技術的な話といった特定分野の四方山話に留まらず、より一般的な人間社会の現実を支配する構造と、その構造を駆動している力をも探究せざるをえない。

私が書いた本である『ゲームアプリの数学』の主題は抽象的な数学だ。しかし、その本の文中に既にところどころ顔を出すように、成果物としてのソフトウェアはそれなりに抽象的で美しい存在であるとしても、その開発プロジェクトは、現場に参加する人々それぞれの人生を燃料の如く消費しつつ時には犠牲や搾取など穏やかではない表現も該当する態様において成立する側面もある。理想的な結果ばかりを強調して、このことを捨象し触れずにおくことは、この業界を志す若者にその道を勧める上で不誠実とすら言えるかもしれない。

20年近く前に『闘うプログラマー』の古い版を神保町の三省堂で見つけて職業としてのプログラマーのイメージを初めて抱いたので、ようやく自分自身も人的側面を語れるだけの材料を経験的に得たと自覚できることは感慨深い。ソフトウェアの世界が論理だけで閉じているというのは綺麗事で、血と汗と涙の部品がそこには組み込まれている。

この文章で『ゲームアプリの数学』に欠けている部分をわずかながらでも補完し、人の組織のリアリティを描き出すことができるなら、私としても、「上り終えた梯子は捨て去られねばならない」とばかりに、これまでのことはデブリーフィングをやってさっぱり供養した上で、過去に囚われずこれからやるべきことへ専念できる。

とはいえ、この文章は最初から最後まで1個人の視点からの体験や考察を語っているにすぎず、主語の大きな文章にはなりえない。また、歴史修正主義的な改変はないにせよ、私の体験とその記憶が出典になっているところさらにその中で何を書くべきかあるいは書かないべきかについて私の恣意的な編集が加えられていることは意識すべきだ。ここで取り上げられる企業や人々や事象を、ここでの描写のみをもって定義づけるべきではないことは強調しておく。あくまで、こういう見方をする人間もいたというだけの話だ。

お約束の免責文言を書くならば、私のここでの発言は現在ないし過去の雇用主を代表するものではなく、私自身の本音の意見を述べたものである。本音というところが重要だと思ってほしい。私が本音を書くと気持ち穏やかでなくなる人もいるかもしれないが、私は嘘をつくのが苦手である。

そういうわけで個人blog7年分の空白をこの文章で一気に埋めることになり、相当に長くなる。小説1本分くらいの分量はあるので、Amazon Kindleダイレクト・パブリッシングにでも出したほうがよいのかもしれない。大体において一杯引っ掛けながら書いているので、あまり文章構成がまとまらず散漫ではあるが、私の経験や感想のストーリーに興味がなく去就だけ知りたい方は、TL;DR的に中間を飛ばして先を見ていただくとよいだろう。

GREE以前

話を戻そう。前回のblog記事を書いたのは、2010年の秋だ。その記事の抽象的内容とは裏腹に、次の就職先のあてもなくLunascapeを辞めて完全な無職で、先行きは杳として知れず、ハローワークに行き失業保険手続きをし再就職手当に思いを馳せるような日々だった。

次の仕事を全く探さず勤め先を辞めたところで、掴みどころのない未来のイメージを少しでも見出そうと、誰も読まない匿名のblogにとりとめのない文章を綴った。その時点での興味関心の言語化を試みるも、ぼんやりとしてうまく結像しないもどかしさだけがあった。

当時、Twitterは登録だけしており、自分では全く投稿していなかった。Twitterが本格的に流行り始め、それまでblogに活発に書いていた人たちの投稿が目に見えて減ってきたのもその頃だった。Facebookに至っては他人の動向に興味がなかったので登録してすらいなかった。

破れかぶれではあったが、スタートアップ企業での丁稚奉公を経て重要なミッションを任されるくらいにはなっていたので仕事はそこそこできる自信はあった。とはいえ転職なんてしたこともなく、久々の無職状態で右も左も分からない。

頭のなかで大きなことを考えているはずが、現実の矮小な自分はこんなところで何をやっているのだろう? このまま虚無の淵に佇んで、底知れないその日暮らしに没していくほかないのだろうか。誰のためでもない自分のために妄想を書き記すことすら上手くできやしないというのに。

2017年に株式会社メディアドゥに買収されたLunascape株式会社は、他社のレイアウトエンジンを流用したカスタムWebブラウザーを開発しており、私が入社した2008年頃は社員10数人のスタートアップだった。私は怠惰な、働くのが心の底から嫌いな人間であるにもかかわらず、家族が病気になったために長きに及んだニート生活を断念せざるを得なくなり、趣味で独学したプログラミングをネタに就職しようと企んだ。

当時、私の手持ちの弾は、スレッドプールとイベントI/Oを使ってC10K問題に挑むIRCサーバーをC++でWindows向けに書いて触れたMicrosoft Windowsプログラミングや、Netscape以来ずっとユーザーとして使い続けBugzillaの権限を持っていたMozilla Firefoxコードベースについての、当時としてもかなりニッチな知識くらいしかなかった。その分野に多少は合致しそうな東京の会社で受託案件だけではなく自社製品開発がメインのところを探したら、Lunascapeただ1社だけだった。

働き先を選べる余裕など全くないにもかかわらず、やったこともない受託開発を避けたのは、私がプログラミングを本格的に学んだのが純粋に知的好奇心からだったので、プログラミングを生活の糧を得るための道具として割り切ることに強い抵抗感があったからだ。自分はコードとネットの世界が好きで、これからも好きなことをやっていく、という幻想に浸っていたかった。

私は就業経験のないただのニートで、興味のないことには徹底して興味がない、他者が生きようが死のうが自分には全く関係がないと言い切れる、傲慢で狭量な人間だった。好きなこと以外やりたくないなんて子供じみていると非難されそうだが、好きでもないことをやるくらいなら貧乏でよいというのが私の考えで、当時はコンピューターとネットが有りさえすれば他のものは何も要らなかった。

コードに最初に触れたのは大学の教養の情報科目で課題として出たC言語と、SunOS/X Windows環境カスタマイズのためのシェルスクリプトと、EmacsカスタマイズのためのEmacs Lispと、掲示板CGIのためのPerlだ。Emacs設定は、サーバー上で他の学生のパーミッション755のディレクトリを辿って見様見真似で手本をカット&ペーストする程度で、何も分かってはいなかった。ディレクトリを掘っていると、大学院生が大学のサーバー上にゲイの人向けのチャットを開設していたりして、東京は何でもありの凄いところだなと18歳の若者なりに衝撃を受けることもあった。FVWMやらEnlightenやらのrcファイルを弄るのも楽しかった。Windows 95が出たばかりだったが、Mathematicaを触らせられた授業の先生はX Windows環境の方が圧倒的に進んでいると言っていた。

大学生協の書店に行くと東大の学生も著者として名を連ねている『新Perlの国へようこそ』があったのでプログラミングの本を初めて買って読もうとしたところ、中身が絶望的なほど頭に入ってこずにちんぷんかんぷんなのだった。言語仕様書さえあれば初見のプログラミング言語でもすぐに書いていける今からすると考えられないことだ。それまで触れたことのない類の文化を全く消化できず、気分が悪くなるほどだった。だから、私は一度プログラミングの独学に失敗している。

だがネットは3度の飯より好きだった。高校生の時にWired日本版を読んでインターネットというものの存在だけは知っていて、大学に入りT1回線が無料で使い放題でMosaicはインライン画像表示ができなかったのでXVで画像が出たりなんかした時の衝撃は私の人生を永久に変えた。Usenetのニュースグループでuuencodeのエロ画像を集めてチェックサムレベルで検証したり、Telnetでチャットサーバーに繋いで世界の反対側とリアルタイムに会話できたりする、それも全て無料で。

ああこれで将来は飛行機で海外に行くなどといった無駄なことをしなくても済むようになるのだなあと感慨深かった。私は幼少期の1980年代初頭に2年間中国に住んでいて、海外の文物に興味はあっても海外生活に対する憧れは無く、マンガ/アニメや食べ物など日本固有の文物に容易にアクセスできることが他に代えがたいメリットだと思っていた。インターネットの到来により、日本に居ながらにして、水晶玉のように世界を見渡す眼が手に入ったというわけだ。

ターミナル上でエスケープシーケンスをタイプしてログインするIRC以前のチャット内で異国人にお前は何をやっているんだと聞かれ法律を学ぶ学生だよと書いたら"Law Is An Anagram of Wealth"と返事があり、大学に入ったばかりなのに何か自分がひどくつまらないことをやっている人間のように感じたこともあった。

小学生の頃から読んでいた『ドラゴンランス戦記』の新シリーズが訳出されていなかったので、AltaVistaで検索し、創立間もないAmazon.comにネットで注文を出すと、ペーパーバックがアメリカから届き、ページの間に、当時の旧Amazon.comロゴが入った極彩色に渦巻きの栞が挟まっていた。

私は、生まれたときからPCやスマホに容易にアクセスできるデジタルネイティブではなく、情報に対する渇望感を持ち得た世代で、本屋が大好きだった。だから、書店の進化系としての、ネットという媒体そのものに対して愛着すなわちフェティシズムがある。

そんな状態だったのが、大学4年になると、高校生の頃からはまっていた哲学や現代思想や政治思想に幻滅し、自分はこれまで一体何のために時間を費やして本を読んできたのかと真剣に反省して転向を模索する機会があった。

何か他に拠って立つに値する思想はないかと探して、大学に入って以来熱中していたインターネットの基礎にあるコンピューターサイエンスに行き着き、これしかないと思った。曖昧で不確かなポジショントークや隠れたアジェンダに満ちた人文/社会科学に嫌悪感すら覚えるようになっていた私にとって、法律の文言にしばしば見られる玉虫色の解釈の余地を残さない、計算機の明晰な論理は福音だった。

手始めに、生協の書店で平積みしてあった『プログラミング言語C++ 第3版』を買ってきて体系的にプログラミング言語を学ぶことにした。案の定、最初は全く頭に入ってこなかったので、頭を苛めるようにして分厚い本を何度も何度も最初から最後まで長い時間をかけて読み込んでいった。

そのうちなんとなく理屈がわかりはじめたところで関連する情報をフォローするようになると、オブジェクト指向とかデザインパターンとか案外人文的というか認知科学的な、人間寄りの要素もあるんだなと意外な発見があり、しっくり来て面白くなっていった。刀が人を魅了するように、人の使う道具には人の美的感覚に訴えかける力がある。

法律は、現実の事象にARのようにして注釈をオーバーレイし、単純で整合性のある理想的な抽象構造がそこにあるかのようにみなし、その抽象構造により適合するよう現実側を強制力によって変更することを裁判所が当事者に命じるときの命令を記述するための言語だ。その抽象構造には歴史的事情から綻びがある。

法律を暗誦する法曹人は、さしづめ、Google Maps上へのマーカー設置作業の如く、現実に法を解釈適用してゆく機械に限りなく近づくことを目指す人間といったところだろうか。独学でプログラミングや周辺思想を学べば学ぶほど、法曹人は、いずれ真に公明正大で正確無比で思考過程を完全に説明可能である本物の機械に代替され駆逐されていくことが自明となってゆく。コンピューターの発展を前提としたそんな風な予想に思考を支配されるようになると、法学部の学生として法律を学んだり、代表制で選出される政治家の儀礼的な茶番を介した政治を学んだりすることの意義をますます見い出せなくなっていった。

その後は造りたいものに応じて必要なプログラミングの知識を学んでいったので、単純にプログラミングをサービスとして提供するのみで要件や仕様の定義に受動的にしか関与しないことに拒否感を持つようになったのだと思う。また、無料で何でもできるインターネットに感銘を受けた原体験のせいで、フリーソフトウェア運動やフリーカルチャー運動にも関心があり、ネット上でアプリを無料で配布するフリーミアムモデルの哲学にこだわりがあった。そして、Lunascapeブラウザーは、無料で配布されつつ収益を上げるビジネスモデルを成功させた数少ないソフトウェアの1つなのだった。

そこで、大学を出て数年してから東京を離れ、金沢の実家に長らく引きこもっていたところから久々に上京し、麻布十番駅近くのLunascape社に訪ねていった。当時、東麻布の麻布永坂町という番地がない静かな場所にオフィスがあり、同じフロアに芸能事務所が入っているような環境だった。大学の後半と卒業後は本郷-神保町-秋葉原の無限ループで他の区域には行かなかったので、その時以前には私は港区のそのあたりに足を踏み入れたことがない。

そして、採用された。創業社長の近藤秀和氏はアメリカのサンノゼにある拠点に行っていたので最終面接はSkypeだった。コードを書けるのが社長と社長の後輩のCTOしかおらず社長は社長業をやっていた(私が入った直後はあと1人プログラマーがいたが仕事中に独り言を言うような人ですぐに別の不祥事でクビになった)ので、30歳過ぎの変人でもなんでも安く使えるなら良しとしてリスクを顧みず採用してもらえたのだろう。実にありがたい話である。

コード書けるなら他のことは不問、過去の経歴ではなく今何ができるかできないかだけが問題で、腕一本で参加できるのがIT系ベンチャー企業のよいところだと思っている。それ以外は、期待しないほうがよい。また、それ以外のことを殊更に要求されたら、警戒したほうがよい。ピカピカで前途有望で意識高い若者たちがスタートアップに行きたいなんて話をしていると、私は半笑いを禁じ得ないし、ああ自分とは違う世界の人たちだね、と思う。

1995年に大学で無料インターネットに出会って以来、若い頃は世間のリアルなものに何の興味もない社会性ゼロのネット廃人をやっていて、Google AdSenseが流行りだすまではコピーレフト的な反商業主義的アナーキズムに染まっていたので、大学は留年せず卒業できたものの新卒で就職するなどという殊勝なことはできず旧司法試験浪人イコール無職の身分に逃避し、無職の状態で職質されたりすると精神的にこたえたりしたとはいえ、いずれなんとかなるとの全く無根拠な自信と楽天性だけを手がかりに、将来のことなどなにも考えないむこうみずな人間としてそれまでIRCやFreeBSDのデスクトップにあった/.ことSlashdotや2ch掲示板でひたすら時間を浪費したり海外のPCゲームをひたすらプレイしたりといった隠者暮らしをしてきており(だからこのblogの古い記事の話題は、自分で作っていたIRC/HTTPサーバーDICEの記事と、遊んできたPC洋ゲーのことくらいしかない)、海外のネット上のヴァーチャルな空間にはやたら詳しいが日本ローカルのリアルなITコミュニティについてろくに知らず、自分がどれだけ他者と比べてコードを書けるかの比較対象もなく、右も左もわからないながらとりあえず丁稚奉公してみるかという調子で、当時はgithubなんて設立間もない頃で誰も知らず、そもそもオープンソース運動に貢献するほどの意欲も私にはなかった。

私はそういう適当で無駄なことをするのが好きな人間なので手抜きせず生真面目に働く若者たちを見るととても眩しくて目を細めるのが常であり、だからちょっとくらい不真面目な若者がいても全く腹が立つことはない。むしろ意識高い人生にこだわる若者には『たけしの挑戦状』よろしく「こんな け゛ーむに まし゛に なっちゃって と゛うするの」というシニカルな反応しかない。

今では当たり前になったタブ表示機能がLunascapeの代表的な売りの1つだったところ、私がLunascapeに入社した直後の2008年9月に、タブをマルチプロセスで実装する革新をやってのけたGoogle Chromeが黒船的にリリースされた。Lunascapeのビジネスモデル自体がGoogleに依存していたので、事情を知る人が客観的に見れば終わった感すらあったのではないかと今にして思う。世間に疎く、それまでの自堕落な生活を捨てて会社員生活に慣れるので精一杯だった私は、幸いにしてその辺の事情をよくわかっていなかった。

30代ルーキーの最初の仕事として、Lunascapeに組み込まれたレンダリングエンジンコンポーネントの1つであるMozilla Firefox絡みのコードの担当を私がやることになり、そこに適当に手を加えたら運良くJavaScript実行速度ベンチマークテストのスコアが当時のChromeより高くなって世界最速との名目で会社がプレスリリースを打てたりしたので、なんだかよくわからん世界だなーと思いつつ仕事を覚えていった。

Lunascapeでの生活は、最初の頃こそ会社員の身分で働く新鮮さもあったが、プロダクトのリリース日が近づくと1か月間休日全出勤で毎日終電帰りなんてこともザラのそれなりにハードな日々で、だんだんとストレスが鬱積するようになっていった。

私はずっとFirefoxをマルチウィンドウで使うユーザーで、Lunascapeブラウザーには多重プロセス起動できない既知の問題がありマルチウィンドウで使えなかったので調べ物などは専らFirefoxでやっていたが、社長はdogfoodingを重んじており開発者自身が自社製品であるLunascapeブラウザーを使い込まないのはとんでもないという考えで、私はといえば、仕事上の効率や、良いものを良いと認めてそこに学ぶことが大切だという考えでFirefoxを使うことにこだわったので、そんな所で対立することもあった。

年がら年中Lunascapeブラウザーの開発に専念して、FirefoxやWebKitのコード解析ばかりやっていたり、ソースコードがないActiveXプラグインのデバッグをしたりと、コードの制御をずっと追いかける毎日が続いていく間、既に若くなかった私の体調も、緩やかに悪化の一途を辿っていた。

どこか外に出向く機会があったとしても山の中のNTTドコモの研究所とかだったりで、いわば秘密のベールに包まれた謎のベンチャー企業としてのLunascapeの内側に引きこもって仕事をしていたのと、MicrosoftエコシステムやWebブラウザーの専門知識の世界にどっぷり浸かっていたので、私は、日本のWebベンチャー界隈の事情には疎い情報弱者のままだった。

当時のワークフローは、Microsoft Visioで設計し、一人で何台ものWindowsワークステーションとその上のVMware ESX仮想マシンに加えローカルPCをリモートデスクトップとヴァーチャルデスクトップで使い分けながらVisual C++で開発し、ソースコードはTeam Foundation Serverで管理しつつ、IncrediBuildで分散ビルドするというもの。WebKitのビルドはリンクが非常に重くそこは分散ビルドではどうにもならなかった。サーバーサイドのシステムはIIS/ASPとAWS。ローカルPCはiMacだったがBoot CampでWindowsを入れて使っていた。

Web上のコンテンツを取得するツールであるWebブラウザーの開発に携わっていたり、趣味でWebサーバーそのものを書いたりしていても、Webサーバー上で動くコードは業務では全然書いたことはなく、従って私はいわゆるWebエンジニアではなく、Webの周縁で飯を食っている身だった。

ただ、入って1年もすれば大体の仕事は覚えてしまうものだ。ニッチ戦略を採り大した成長性があるとはいえない企業に在籍していても自分の身分はにっちもさっちも行かないことも明らかになってくる。自分は表の世界で仕事を始めるのが人よりだいぶ遅かったから、ただでさえ世間的にはハンデを抱えた状況なのだ。

3年は1つの場所に留まって仕事しろなどと私に忠告する人もいたが、それは無理な話だとも思うようになっていた。このままで終わるわけにはいかない。焦りが日ごとに大きくなっていく。自分は、変わらねばならない。ただ、残念ながら業界の事情に疎く、脱出の糸口が全く掴めない。

その頃の私は非常に内向的で、CTOと付き合いのあった現メルカリの山田進太郎氏らのグループがやっていた定期的なボードゲームの集まりに誘われたりしても全部断っていた。せいぜい、HTML5がその頃流行り始めていて、専門に近いから少し勉強してみようかと思う程度だった。勉強会の類に顔を出すようになったのはLunascapeを辞める直前で、Mozilla Japan主催のイベントに何度か行った。同好の士とリアルで相対し語る楽しみをそれまで知らなかった。

2010年に入り、Lunascapeオフィスはまだ真新しい秋葉原駅前ダイビルに移転していて、違う階に東大大学院やデジタルハリウッドが入っていた。大規模再開発を経た秋葉原は、私が青春を過ごした時期とは全く様相を異にする街に生まれ変わっていたのだった。

1995年夏の日曜日の秋葉原歩行者天国に初めて輸入PCゲームを探しに訪れて以来、アンダーグラウンドなPCパーツ屋や裏道の違法コピーソフトウェア露店や薄い本屋や肉のハナマサ目当てに通っていた秋葉原から、10年後バスケットボールコートが無くなってそのあたりに大きくぴかぴかのビルが建ちその上で自分が仕事をする日が来るとは不思議な巡り合わせだと思ったものだ。そんな個人的感慨とは裏腹に、会社の事業は大した進展を見せず、社内の雰囲気は淀んで閉塞感を増しつつあった。

昼飯を食いに外に出たらチェーン飲食店やメイドカフェに侵食され観光地化して久しい秋葉原電気街中央通りに平日に遊びに来て大通りを笑顔で往来する雑踏の若い男女を目にしては虚ろな気分になる。Lunascapeに入って2年近く経った頃だ。SlackwareのCDやらSolarisのサーバーやらが転がっていた秋葉原は跡形もない。

自分にとって、最早会社に出勤すること自体が苦痛となっていた。当時は、学生時代以来馴染みのある本郷に再び住んでいて、日曜日の真夜中直前に自転車で坂を下って秋葉原の裏通りまで閉店間際のじゃんがらラーメンを食いに行くくらいしか楽しみがなく、10年前は週2で通うほど惚れ込んでいた秋葉原がさほど好きではなくなりつつある自分がいた。

スタートアップ企業VS大企業のような規模での比較は意味が無い(業種を考慮せずに十把一からげにまとめることほど愚かしいことはない)のにどちらが良い/悪いなどと若者を煽ってスタートアップに流し込むのが目的の記事で、スタートアップでは裁量が大きいから良いとするものがある。そこには落とし穴があり、実際に仕事をしてみると、創業者/経営者と従業員との距離が近すぎる場合は問題となる。

上司が経営者でもあると、意見が対立した場合に従業員は無限に折れ続けることになり、他に取れる選択肢は辞職しかない。創業者/経営者と従業員との間には絶対的な断絶がある。私がGREEに行こうとしていた時は、より大きな会社に行けば経営者の影響が希薄化し、隅で好き勝手なことをやっていてもばれないんじゃなかろうかとの期待があった。

スタートアップは全員が一蓮托生との幻想で洗脳しようとするのは、それによって利益を得る者だけだ。人材紹介や広告で収入を得ているネット上の提灯持ちメディアがどちらの味方をするかは言うまでもないだろう。

人の編集が入ったメディアとは結局のところ支配の構造であって、発信側が受け手側を洗脳するための活動でしかない。会社を辞めるなと会社の利害関係人が言うことは他者の人生に影響を行使しようとする純然たるコントロールであり、労働者は抵抗するべきだ。奇妙な倫理を介在させる連中の言葉を信用してはならない。日本のスタートアップにおいてはしばしば、人を雇う側と雇われる側との論理が一緒くたにされている。また、経営者という連中は、悪意だろうが善意だろうが人を会社に定着させ搾取するためにあの手この手の手段を使ってくる。そういう商売なのだから仕方ないのだ。

その傾向に抗うために、幸福を追求する一個人としての従業員は自分の置かれた立場を冷静に把握し、自分が欲しいものが何であるかを明確にしなければならない。株を持っていない、あるいは上場や買収の可能性がない小規模スタートアップに長々と居続ける理由はないのである。

夢のような仲良しクラブのスタートアップなど一握りで、大多数は、各構成員が各々の夢と弱みとを抱えて集まった殺伐とした場だと考えて間違いない。鈍感さなしでは生きていけない環境なのだ。

しかし、採用側では、履歴書の転職回数が多いとそれだけで難色を示す人間もいて、それ自体は馬鹿げたことだと思っているが、世の中には保守的な人間もいるので、そのようなリスクには備えておくべきだ。半年で転職が2回続くといった、異常検知システムに引っかかりそうなパターンはよろしくないだろう。1年半くらい働いたところで転職を考えはじめるくらいがちょうどよいバランスかもしれない。私の考えでは、社員が出ていって困るような会社はとどのつまり余裕がない会社なのであり、行く価値のない場所なのである。

中で働いている時は比較対象がなかったので意識しなかったが、Lunascapeは良くも悪くも規格外な会社で、日本のあの時期のITスタートアップ企業としては異色の部類だったらしい。社内のシステムをほとんどMicrosoftのもので作っていたりしていたせいかサイズに見合わない大企業然としたベンチャーらしくなさもあり風変わりな場所だったと思う。そこに居たときはただがむしゃらに働いていて自覚はなかったにもかかわらず、業界の人にとって知る人ぞ知る的な会社だったので、辞めた後になってからそういう存在だったんだなとあらためて認識させられることも多かった。ここで書けないようなことも多々ある、スタートアップの光と影を存分に経験できた時期だった。

スタートアップの血脈は資本であり、それを通じて外部の力が作用し、資本の走狗のようにしてスタートアップ間を還流する人材のプールもまた存在する。SIerに代表される巨大でモノリシックな構造と、分散したスタートアップ業界とは、一見異なるように見えるが、実際には支配の構造は後者では細密に分割されているだけで、ベンチャーキャピタルであったり、受託開発案件であったり、人材派遣会社であったりを介在して階級・階層が厳然と存在している。ただし、私のような怪しい人間が潜り込む隙がスタートアップ業界には多少あるくらいのものだ。

交換性・流通性を暗示する単語である「人材」に対しては生理的嫌悪感を覚えつつ、システムの部品としてしか人は生きられないのもまた現代社会の現実である。一人の人間として、資本主義のエコシステムとどう付き合うかは永遠の課題だろう。抗いがたい風車としての資本に立ち向かうドン・キホーテでありつづけるか、資本の飼い犬として生きるか、上手く波をサーフするか、様々な人を見てきた。

2010年の半ば頃、Lunascapeにいた私に、遂に好機が訪れた。EU(ヨーロッパ連合)が競争法違反のかどでMicrosoftを叩いていた一環としてWindowsへのInternet Explorerの抱き合わせを責め、その結果、EU版のWindowsにWebブラウザー選択画面が搭載されることになり、そこにLunascapeをねじ込むことに成功したというのだ。

EU版Windowsからオプションとしてインストールされるのに備え、LunascapeをEUの多言語に合わせて徹底的にローカライズした新バージョンをリリースするプロジェクトを主導するミッションが私に課せられることになった。ヨーロッパの言語は、言語によりサイズがかなり異なるのでUIの調整が欠かせず、またシステム面でも改修が必要だった。

チーム全員の協力を仰ぎつつEU版Windows向けプロジェクトが無事済んだので、私としてはレジュメ上の実績ができ、徒手空拳で会社から逃走するのではなく、辞めて勝負に出る大義名分がやっとできたことになる。

Lunascapeで最後に手掛けたのは、Google ChromeをLunascape内で動かすことをゴールとするプロジェクトだった。Lunascapeは世界初のトリプルエンジンWebブラウザーとの名目で、Internet ExplorerのTrident、Mozilla FirefoxのGecko、それからSafariのWebKitの3つのレンダリングエンジンを切り替えて使えるのが主要機能として宣伝されていたが、それまでLunascapeがWebKitレンダリングエンジンとして使っていたのはWebKit本流由来のコードベースで、Google Chromeそのものではなかった。そこで、より先進的な機能を備えたGoogle ChromeをLunascape内にホストし取り込むのが狙いとなる。

辞める前の2週間を使い、1人でGoogle Chrome組み込みの実証コードを組んだ。C++のXPCOMコンポーネントをJavaScript+XULでバインドしてアプリケーションを組み立てるMozilla Firefoxのパフォーマンス上での反省を活かし、Firefox開発者のBen Goodgerらが異なるアーキテクチャーを採用して開発したのがGoogle Chromeだ。タイトでモダンなC++コードで構成されたGoogle Chromeのソースコードはコメントも多く入っており、大量のコードを読み込みながら自分のペースで進める束の間のR&Dは楽しかった。

Google ChromeをInternet Explorer内にホストするGoogle Chrome Frameプロジェクトが当時Google Chromeのコードベース内にあり、LunascapeにはActiveXホスト機能があったので、当初はそこのブリッジを作ろうとしたがChrome FrameのCOM部分が複雑過ぎたため、それは断念して、代わりにChrome Frameのレポジトリー内で未発表の作りかけになっていたC言語インターフェイスのNPAPIを補完した上でCOMインターフェイス化し、LunascapeのActiveXホストに繋いだ。さらに、Google ChromeにはAutomationProxyというテスト自動化のためのAPIがあり、それを介して1画面戻る等のWebブラウザーの基本動作を制御できるようになっていたので、Chrome FrameのNPAPIとLunascapeのActiveXホストAPIとを介し、Lunascapeのレンダリングエンジンコンポーネントの1つとして扱えるようにした。

Lunascapeのタブの中でマルチプロセスのGoogle Chromeを動かせた時には技術的達成に興奮した。他の場所では役に立たない技術かも知れないが、ともあれ自分はこんなことができるまでに自分の技を磨き、成長してきた。会社を辞め自由になれるのが目前の刹那的な気分の昂揚も混ざっていたかもしれない。ただChromeのコードベースも激しく変動していたのでそれをそのまま製品内で使い続けられるほど安定していなかった。風の噂で聞くところでは、私が去った後、結局Chrome組み込みは数年実用化できなかったという。

そうしてLunascapeを脱出したのはよかったが、別に行くあてがあるわけではなかったので、いったい世間で何が流行っているか、辞めてから調べ始めた。私には誇るような経歴があるわけでもなかったので転職エージェントは敷居が高いと感じたのと、仲介業者に対する猜疑心しか当時はなかったため、全く登録はしていなかった。

そうして20社ほど勢いがありそうな会社をピックアップしてみたものの、自分がWebブラウザーのことをよく知っているからといって、それが直接活かせそうな会社は今度は1つも見つからなかった。

私はLunascapeに入る前も、Lunascapeを辞めた時も、就職候補の企業のWebサイトをWebブラウザーのブックマーク内の2つのフォルダーに入れてそれぞれ管理していた。今もそれが残っているので見てみたところ、なぜピックアップしたか全く分からない会社もいくつかあったが、2008年にLunascapeに入る前に検討した企業群のフォルダーにもGREEが入っていた。だから第1候補のLunascapeに入社できていなかったら、GREEの採用に応募していたかもしれない。

その時にGREEを候補に入れていたのは、社長の田中良和氏が自分でプログラムを書いてSNSであるGREEを創造した話をどこかで見て、私も同様にコミュニティを造るためのツールであるIRCサーバーを書いていたので親近感を覚えたからだった。田中さんは起業し、ちゃんと世間の需要に応えて造ったものを商業化し軌道に乗せ成功させているので、私などとはえらい違いではあるが。だから私個人の、当時は招待制だったSNSとしてのGREEのID番号は、わりと古い。

勤める会社を選ぶ上で、社長が自分の手を動かしてプログラミングを行い何かを作った経験がある、または作る能力のある人間であることは、私にとって極めて重要で外せない要件である。

ただ結果として、2008年の時点では私にとってはLunascapeのほうが技術的親和性があったのと、Lunascapeの背伸びした、実態のよくわからない孤高のブランディングとはまた違った方向で、当時はまだ中小スタートアップ企業だったGREEの採用サイトに載っている方々はやたらに意識高い人々のように見えたので、どうせ落とされるに違いないと敬遠したのを覚えている。後年その方々と机を並べて一緒に仕事をすることになるとは夢にも思っていなかった。

2度目に、Lunascapeを辞めた後に就職を検討した企業のフォルダーにGREEを入れた理由ははっきりしていて、第1に、当時エンジニアが転職エージェントを介さず直接応募して入社すると200万円のサインインボーナスを一括でもらえる特典が当時あったからだ。物質面においてそれだけのことをやる力がある景気の良い会社なのだと認識するための狼煙としては十分だった。

米国ではその程度は全く珍しくはないにせよ、残念ながら日本ではそのくらいの支出を行う話すら以来聞かない。当時はGREEが200万円出してエンジニアを集めていることは業界の人なら誰でも知っているニュースになっていて、Lunascapeを辞めてGREEを既に受けていたときに、私に冗談として「GREEでも受けてみたらどう?」と言う人もいたほどで、その時は苦笑せざるを得なかった。

第2に、株式会社はてなCTOとして知られたnaoyaこと伊藤直也氏がはてなを辞めて2010年9月1日にGREEに入社した報があり、これも時代の変遷を象徴しているようで、Lunascapeに入る前はてなに載っている有象無象のblog記事をたくさん読んでいた自分にとっては、マインドシェア面で大きかった。

第3に、PHPカンファレンスに初めて行ってみたところ、軽いノリを新鮮に思うと共に、多数の若い技術者が参加するシーンの存在と人気とムーブメントを実感し、PHP言語や、PHPを使って実装されている実際のサービスについては何も知らないのに、その中心に君臨していた会社GREEに関心が湧いた。自分のあずかり知らないところでこんなにも世界が広がっていたのかとショックを受けると、新たな空間認識を得てパースペクティブが変容してくる。

貯金を取り崩すだけの無為の日々を過ごすうちに、GREEのWebアプリケーションエンジニア職に応募書類を送ったときにはもう初冬に差し掛かっていた。他の会社はその時点では考えず、まずはGREEを受けた。

書類にはLunascapeでの仕事のほか、志望動機として、プラットフォームを持っている会社でWebブラウザーや当時あったGoogleデスクトップのようなクライアントサイドの分散システムを作りたい的な妄想を書いた。

書類が通り、日が沈んだ時間帯に日比谷線の六本木駅で初めて降りて六本木ヒルズ森タワーへ面接を受けに行くときはものすごく緊張していたが、どうせ記念受験でもう二度と来ないだろうからと、LL階総合受付で訪問票をもらいセキュリティゲートを抜け、エレベーターに乗ったところから12階にあるGREEの特徴的な白一色のエントランスへ到達するまでデジタルカメラでHD動画を撮っていた。当時はスマートフォンさえ持っていなかった。

六本木ヒルズ自体は麻布永坂町に通っていた頃にランチに連れてきてもらったことがあり、また社長が会員になっていたのでLunascape開発で休日出勤になった時に森タワー49階のアカデミーヒルズの奥の図書館で作業させてもらい、その時は金を持ってそうなさりげない抜け感のある人々がいる空間に気後れを覚えたものだが、森タワーのオフィスフロアへ入るのはGREEの面接の時が初めてだった。

白一色の、広い空間に誰もおらずがらんとして威圧感のあるGREEのエントランスでは巨大なモニターが明滅し、遅い時間で窓の外側は暗く寒々としていた。その一角の、Redwood Cityという名の、カリフォルニアの都市名を使う軽薄さの来客用会議室に案内され、1次面接が始まった。

どういうわけか1次面接を通過し、2次面接は現LITALICO CTOの岸田崇志氏、3次面接は現株式会社エブリー代表取締役の吉田大成氏、4次面接は現株式会社スタメンCTOの小林一樹氏、とプロセスが進んでいった。

エンジニアリングの話のほかは、大規模プラットフォームGREEを構成している中身のコードを知りたいとか、ファーストパーティとしてのGREE内製スタジオが作るゲームはゲームの概念を発展させるようなものであってほしいとか、無我夢中でそんなような話をしていった。

面接用に用意した巧言でも何でもなく、同じ2004年に創業したGREEとLunascapeで何故こんなに差がついたのか、中を覗いて原因を究明したい。私を衝き動かしていたのはそんな社会科学的欲求で、それ自体はまぎれもない本音だった。

最終面接はGREE CTOの藤本さんで、好きな本を聞かれ、プログラミング関連の本ではなく素で好きな本として、中2の時に読んだウィリアム・ギブスンのSF作品『ニューロマンサー』を挙げた。大学受験で学部を選んだ動機も半分は訳者の黒丸尚氏がそこを卒業したからだった。

GREE入社

私がGREEに入社したのは2010年12月のことだ。初日に、毎週月曜朝に開かれている朝会がちょうどあり、まだ当時は六本木ヒルズ森タワーの1フロアしか占めていなかったが、300人の全社員が1つの部屋に集まっていた。

小さな文字でぎっしりと全プロダクトのKPIやグラフやイベント計画や人事やその他の事項が記された20ページくらいはある紙の事業資料が入口で全員に手渡されていく。そして、各プロダクトの責任者が代わる代わる演壇でマイクの前に立ち売上などの数値報告をすごい勢いでまくし立てるのだ。

後年、社員数が1000人を優に超えた時点と比べると小規模だったはずだが、それでも飛ぶ鳥を落とす勢いのビジネスをやっている企業の集会に出たことのなかった自分にとって最初の洗礼とも言うべき体験に圧倒された。

発表が進み、終わり近くに4人の新入社員の自己紹介セクションがあり、資料のその箇所を見ると、細かい字の中に私の名前があり、所属が『釣りスタ』となっていた。その時点まで、私はGREEの中で自分がどんな仕事をするのか全く知らなかった。

朝会が終わり、自席に行ってPCのセットアップをやっていると伊藤直也氏が私の机のところにやってきて、朝会すごかったでしょうと言った。私が1次面接で相対したのは彼で、当時はSNS機能など非ゲームのスマートフォン向けGREEアプリ開発部門の部長だった。彼自身もGREEへ来て日が浅く会社のカルチャーに少々気圧されていたようで、面接で私に、ここはデータを徹底的に論理的に施策につなげて結果を出すことを求められる場所だから心してください、と語っていた。朝会はまさにその象徴として、答え合わせにうってつけのイベントなのだった。

ただ、面接の時の黒い長髪とは打って変わって私の髪の色が白に近くなるまで脱色した金髪に変わっていたので、伊藤さんに津田大介っぽくなったとかなんとか言われ、私はチームの同僚たちと一緒に笑った。私が最初に所属したのは、GREE初の内製ゲームで今日まで10年以上続く看板タイトルで、ソーシャルゲームの代名詞的タイトルでもある『釣りスタ』のチームだった。

チームには、私含めて5人のエンジニアと2人のプロジェクトマネージャー(PM)がいた。入社して知ったのは、2次面接以降の相手は内製ゲーム部門の人々だったので、私がゲーム側へ行くのは既定路線で知らなかったのは私だけなのだった。

自分がゲームと名の付くものを作る側に立つことは、全くの想定外だった。私はゲーム開発未経験の素人だったし、仮にGREEに入社できたとしてもSNSやGREEプラットフォームの仕事をやるのだろうと思い込んでいたので、完全に寝耳に水の展開だ。

世界を制し覇権を唱えた日本発祥のソフトウェアやコンピューティングプラットフォームは、任天堂やSONYのゲームコンソールしか存在しないことから、私は日本のゲーム産業には多大なるリスペクトを抱いていた。自分にとって、ゲームが生まれる場所というものは長らく神聖な、あくまで遠いものだった。そんな畏れ多い感覚を持ちながらも、日本のゲーム業界の労働環境が必ずしもよくないこともゲーム業界からLunascapeに転職してきた人々から伝え聞いていたので、ゲーム開発は自分には縁のない、遠い世界のことだと思っていた。

ソーシャルゲームとは、SNSのソーシャルグラフを活用し、会員同士で遊べるようにしたマルチプレイヤーオンラインゲームだ。ソーシャルゲームを「ソシャゲ」と略することがあるが、その略語は社内では1度も聞いたことがない。当時のGREEのソーシャルゲームは、フィーチャーフォン(ガラパゴス携帯/ガラケー)向けのWebゲームで、GREEプラットフォーム上でGREEのSNSソーシャルグラフにアクセスしユーザー同士を交流させる機能を有していた。GREEプラットフォームが抱える多数のユーザーを『釣りスタ』『探検ドリランド』などのファーストパーティ内製ゲーム群や、サードパーティ他社の提供するゲーム群に流すことで、当時GREEは大きな利益を上げていた。

現在のスマートフォンのWebブラウザーはWeb標準の機能で多彩な描画が可能だが、当時のフィーチャーフォンのWebブラウザーは標準機能だけではゲーム的アニメーション表現が実現できなかった。そこで、アニメーションによる演出が必要なところでは、フィーチャーフォンで動作するFlashのサブセット版であるFlash Liteを用い、演出の開始時にFlash Liteのswfファイルのバイナリを書き換えることで初期化パラメーターを渡していた。

当時のソーシャルゲームはマルチプレイヤーといっても同期的なところはほとんどなく、非同期でゆるやかにつながるようなものだった。私はといえば、GREEにやってくるまで携帯電話でゲームをやったことが1度もなかったし、「ガチャ」という単語の意味も何回目かのランチで同僚に聞いて初めて知ったくらいだ。

ガチャとは、ゲーム内アイテムが当たる抽選を引く権利をユーザーが課金して買う仕組みを指す。ガチャでしか入手できないアイテムがあるので、熱心なユーザーは入手できるまでガチャを回し続けることになる。私がGREEに入った頃はGREEプラットフォーム上ではガチャを使ったコナミの『ドラゴンコレクション』に勢いがあり、GREE内製ゲームはそこそこの状態で追いかけながら試行錯誤を行っていた。ハードコアPCゲーマーの私からすると、なぜ貧弱なWebサイトもどき+Flash Liteミニゲームでしかないソーシャルゲームが何十万何百万もの老若男女を熱狂させるのか、理解の範疇を完全に超えていた。

Lunascapeにいた時も多数の人々が世界中で利用する無料アプリケーションの開発に携わっていて、Lunascapeも実際にはサーバーがあるネット上でのプラットフォームが実体ではあったが、ソーシャルゲームほどアップデートが頻繁ではなかった。GREEのSNS基盤と密結合した大規模Webアプリケーションが毎分毎秒吐き出すログは今で言うビッグデータで、それをエンジニアは全員、毎日どころか毎分毎秒手に取るように閲覧できるという、ソーシャルプラットフォーム内での神の目を得たにも等しい環境がそこにはあった。

『釣りスタ』を遊んでいる層は非常に広く、女性や中高年もびっくりするほど多かった。皆、ネット上のコミュニティでは年齢も性別も超えたネット上だけの人格をまとい、思い思いのスタイルでプレイを楽しんでいた。

同僚のエンジニアは当然のように皆MacBookを使っていた。私は前職でWindowsばかり使っていたせいでWindowsを選び、Sambaを動かしてLinuxの開発サーバーとファイル共有することにした。ショックを受けたのは、開発環境が非常に貧弱だったことだ。サーバーでviしか入っていないものがあるとかでviの操作を覚えなければならなかったし、MySQLは素人だったのでマスター/スレーブの扱いやGREEのPHPライブラリーを介してアクセスする作法も知っていなければならない。PHPのデバッガーもほとんど使われていなかったので、Visual Studioで開発していた身からすると信じられない状態ではあった。

開発環境は仕方ないとしても、もう1つ私が我慢ならないと思ったのは、エンジニアがCHTMLを手で編集してUIを作らなければならなかったことだ。チーム内にデザイナーはいなかった。更に言えばQAもいなかった。4次面接の時に質問で「QAはどのような体制でやっているんですか」と聞いたらQAはいなくてエンジニアがやっている旨の回答は得ていたが、実際に現場で体験すると衝撃ではあった。Lunascapeにいたときは私もアプリのUIを作っていたが、ゲームはヴィジュアルが大事なのだと思っていたので、当時はUIデザイン自体がエンジニア任せになっていたのにも驚いた。

当時はエンジニアが何でもやっていた。エンジニアのうち1人はプロデューサーとして事業責任を負うことになっていたが、エンジニア全員が、どのようにマネタイズ設計を行うかなどのビジネス面も担っていた。PMはゲームクリエイターというより進捗管理をしたり画像などのアセットのディレクションと調達のために外部会社との折衝を行ったりする役目だった。エンジニアがやるのはそれ以外の全ての作業だ。

「アセット」という言葉は、資産と訳されることもあるが、ゲーム開発の文脈では、ゲーム内で使う画像や音楽や文章などの素材データ一般を指し、稀に開発用ハードウェア/ソフトウェアまでをも指すこともある。加えて、ゲーム開発プロジェクトの大局においては、人間もアセットである。海外サスペンス映画好きの人ならば、アセットと言ったら、諜報機関のメンバーとしてのスパイだろう。スパイは、使命を果たせなかったら、機関に文字通り処分される運命に有る。アセットの生殺与奪は、機関の一存に委ねられている。

Free-to-play(F2P)モデルと今日では呼ばれる基本無料ゲームのモデルは、弁当箱のようなもので、ゲームタイトルの枠の中にイベントと呼ばれるゲーム内ミニゲームが複数種類存在する。典型的には、複数のイベントを定期的に少しずつ中身を変えながら定期開催することによって、ゲーム全体としての鮮度を保ち続け、ユーザーを定着させ消費のピークを演出する。

エンジニアはイベントの企画を立案し、システムと負荷対策を設計し、サーバーサイドのコードやデータベーススキーマとUIを考えて実装してからテストし、サーバー上にデータベーステーブルを作成してコードとアセットを配置し、ステージングサーバーでテストしてからリリースし、リリース後は昼も夜も監視し、障害が起こったらカスタマーサポートに謝りつつ報告書を書いて補填対応を行い、イベントが終わったらログデータをデータソースから収集しExcelでピボットテーブルやらグラフやらを作って分析レポートを書き、レビュー会議で報告して部長の講評を受け、改善点が見いだせればそれを次回イベント施策に反映し、そもそも見込みのないイベントであればお蔵入りにして新しいイベントを考案する。つまりは、いわゆるPDCAサイクルを全力で高速に回す。全てが、GREEで内製ゲームを作るアプリケーションエンジニアの仕事だった。

それだけの仕事を1人でやらねばならないとなれば、すべての工程がエンジニア1人の頭のなかで完結する効率性はあるにせよ、当然のように過負荷ではある。しかし休んでいる余裕などない。GREEのゲームは24時間365日無停止で休みなくメインテナンス期間もなしに動き続けるのだから。そのサービスポリシーが当時の社内の鉄則だった。

そもそも、相当に大規模なオンラインゲームであるのに、チームの人数が少ない。Lunascapeよりはずっと大きな10倍の規模の会社だから、GREEへ行けば少しは仕事が楽になるのかなあなどと入る前には漠然と予想していたが、真逆で、完全に誤りだった。毎日が終電か、あるいはほぼ徹夜してから朝に帰って少し寝てまたとんぼ返りなんて日もある有様だったので、それまでは電車通勤だったのが、数か月経ったところでたまらず会社の近くに引っ越して自転車通勤するようになった。

このままの日々がずっと続くなら、blogを書いている暇なんてあるわけがなく、いつか辞める日までお預けだなと思った。新しい会社に職を得てしばらくは恐ろしく忙しくて、文章を綴る気力は1日の最後には残らなかった。私はテクニカルドキュメント以外の文章の書き方を忘れ、自分のために文章やコードを書くのが好きだったことすらも忘れ、日々の断片をソーシャルネットワーク上に散逸させていくのみだった。

それでも不思議と楽しかった。自分で企画して新しい仕様を作れる、一分一秒刻一刻と積まれる売上の数値で自分の打った施策が正しかったのか直ちに検証できる、間違っていたなら変えることだってできる。そんなに素晴らしい、わくわくするようなことはそれ以前に経験したことがなかった。事業全体が右肩上がりの稀有なトレンドに乗っていたことを差し引いたとしても、GREEに来ないとそれらのビジネス上の活動は体験できなかったことだ。今日ではグロースハッカーとかグロースエンジニアとか呼ばれる職種にあたる経験も積めた。この時期が、自分のGREEでの原体験になっている。

当時のGREEの採用キャッチフレーズで「つくる人、世界を変える」なるものがあり、本当にそうかもしれない、ここはそういうことが起こせる場だ、と信じる気持ちになっていた。気心の知れたアプリケーションエンジニアの仲間たちと、頼りになるインフラエンジニアたち。ランナーズハイな状態で夜中の六本木の街に繰り出す。

そのようにしてGREEでのエンジニアとしての仕事の醍醐味を知ったのは入社してから1月2月も経ったところだ。入社直後は、これから何が起こるのか何も分かってはいなかった。

12月下旬に会社に入りしばらく経った24日のクリスマスイブになって、ああやっぱりこんな日でも皆仕事なんだなあと諦め、PHPコードをリファクタリングするために読み込む作業に向かっていたら、社員はエントランスに集まれという。

定時なんてとっくに過ぎた時間に、行ってみたら、マネージャーを後ろに従えて当時GREEのCMをやっていたベッキーが現れ、そのあとは15分くらい抽選ミニゲーム大会で、終わったらそそくさと帰っていった。粋なことするもんだと思いながら、私はカップルが溢れかえる六本木ヒルズけやき坂を1人で下って麻布十番駅に向かい家路についた。

もっと忘れられないのは、その数日後の、ゲーム開発エンジニアの部署の年末パーティでのことだ。六本木ヒルズ森タワー51階にある六本木ヒルズクラブの1店を貸し切って行われた会に男たちが集まり、夜景を望みながら酒坏をあおりつつ談笑する。ここはドレスコードがあるからと通達されていたので、自分含め皆慣れないスーツを着て出社し、下の階から昇ってきていた。

少人数の男だけのくだけた会で皆飲み始めてしばらく経った頃に、社長の田中さんがやってきて座に加わった。田中さんは、近年は比較的きちんとした身なりをしているが、その時は、黒Tシャツにジーンズを履いたいつもの格好でドレスコードを完全に外れていたので、我々は騙されたことを悟った。

部屋に集まった小学校の1クラスにも全く満たない数の男たち。自分より若い20代30代の者がほとんどでインターンの学生もいる、この連中がそれぞれ1人頭につき月に*億円の利益を叩き出しているのだ、とほろ酔いで思い巡らす。この戦列に、自分が加わることになるのか。一体これから何が起こるんだろう? 何も知らないなりに、興奮と戦慄とが同時にあった。

白金髪にちぐはぐなスーツを着た変な格好で今月入社したばかりと自己紹介した私に、田中さんは機嫌よくこう言った。

「お金をもらいながら面白いものを見物できるんだから、こんな楽しいことはないよね」

その時は、彼が何を言っているのかよくわからなかった。しかし、この言葉は記憶に刻んでおこうと強く思った。そのあとの数年間で、私はその意味を知ることになる。


2011年末の社員総会にて。髪の漂白は翌年春まで意地で続けていた

釣りスタの定常イベント開発&運用と並行して、私がGREEで1番最初に従事することになった大きなプロジェクトがスマートフォン版釣りスタの開発だった。サーバーサイドでは、釣りスタのフィーチャーフォン版UIのCHTML+Flash Liteをスマートフォン用Webブラウザー上で表示可能なHTML5+JavaScript版UIに調整する。同時にクライアントサイドでは、Android/iOSネイティブのクライアントアプリで内部にUI表示用のWebViewをホストする、後年いわゆるガワアプリと呼ばれたものを作成する。このクライアントアプリは、私がLunascapeで慣れ親しんできたカスタムWebブラウザーと同じ構造をしていたのだった。

スマートフォン版のための開発を行っているのに、私自身はまだ自腹でスマートフォンを買ったことすらなかった。iOSのバイナリを生成しなければならないのでMacBook Proをもらい、それまでLunascapeではBoot Campを入れiMacでWindowsを使うことはあったが、ここで初めてMacOS Xに触れた。

MacのハードウェアをPCのようにオープンにせず、iOSアプリ開発にかかる費用を無料にしないAppleを私は支持しないので、iPhoneは1度も自腹で自分用に買ったことはないが、会社ではMac上のシェルを前提にツールが作られた困ったプロジェクトが多かったせいでMacBook Proを使う時間が以後長くなったので慣れてしまい、渋々ながらMacBook Airカスタマイズモデルを所有している。

Macの操作を覚えながら、ガワアプリとしては既にGREEプラットフォームにアクセスできるGREEアプリの基盤があったのでそのプロジェクトを流用し、Xcode上でObjective-Cを気持ち悪い言語だなあと思いながら見様見真似で初めて使った。

何もかも初めてだったが、超絶ブラックな働き方をものともしないチーム全員の助けを借り、既にTV CMの枠があるので必達のスケジュールを守り抜いてスマートフォン版が世に出た時は安堵に力が抜けるようだった。

自分が関わったものがTVに映っている感覚ってどんなのだろう、渋谷駅の広告スペースや電車の吊り広告を自社広告が全面埋め尽くすってどんな状態だろう、とはゲーム開発者を目指す人なら一度は思い浮かべることかもしれない。私の場合、その時点ではGREEから預かったフラッグシップタイトルを傷つけずに育てるのが役目だったので、達成感はなく、あったのは安堵感だけだった。2011年3月末のことだ。

そこに至る間に発生した東日本大震災は仕事中に迎えた。六本木ヒルズ森タワーが揺れに揺れ、落ち着いてから窓の外を眺めると、はるか遠くの海のそばで大きな火災が起こり煙が上がっていた。帰宅困難者が会社で過ごすためにケータリングの食事が提供されたが、私は徒歩で帰ることにした。

電車が止まったその日の帰りは六本木から国会議事堂前、九段下を歩き、夜の本郷通りが行進する人々でいっぱいになる、後にも先にも無いであろう光景を目撃した。そんな大混乱を経ても、携帯電話でモバイルゲームをプレイし続ける人々は日本全国津々浦々にいるのだ。各ゲームタイトルのアクティブユーザー数は懸念したほど影響を受けてはいなかった。

世間で、GREEはスマートフォン革命の波に乗るのが遅れたとの評がある。それは半分正しく半分誤っている。

スマートフォンに対応する努力自体は早くから行われていた。ただ、それが、WebやFlashといった旧来のコンテンツと制作パイプラインの温存と流用を優先する、コンテンツ作成面での痛みの少ない技術的解法で実装され、そのまま技術的負債として肥大化したのが実情だ。FacebookのReact NativeやHHVMのように、スケール感とオープン性をもって自社の技術を構成していけるほどのリソースも覚悟もGREEにはなかった(世界中、Facebook以外のどこにもなかった、とも言えるが)。

人員に新しい技術を学ばせる短期的コストを過大評価し、枯れた技術と既得権者を優先する。そうするのではなく、奇を衒わずに正攻法で長期にわたるヴィジョンを策定し、変化を恐れずにそこに投資する姿勢は、残念ながら見えなかった。技術的ロードマップを正しく敷いて実施できる人間が責任ある地位につくことの重要性ならびに、誤りの代償は、時に信じられないほど大きい。

しかし、私はといえば、何の事業責任も持たず意思決定も行わない、現場の最前線に投入されたカネ目当ての1傭兵でしかないのだった。責任を取らず批評家的立場で、何をやっているかわからないが、『美味しんぼ』の山岡みたいに口だけデカい怪しいポジション。

私は、六本木ヒルズに移転するまでに事業を成長させてきた功績のある古参の人々と、そのあと海外展開のために名のある企業から移ってきた人材や、スマートフォン革命に備えてコンソールゲーム業界から連れてこられた人々との狭間に浮かぶ、誰でもないエンジニアの1人だった。『半沢直樹』風に言えば、GREEにおける「オレたちバブル入社組」の第1期生だ。

GREEに入ったばかりの頃はまだ会社がコンパクトだったので、エンジニア全員が集まる会合があり、そこに行ってGREEのインフラを支える技術を擁するいかにも自信ありげな安定感のある人々の一挙手一投足を見たり話を聞いたりするのが楽しかった。皆、水を得た魚のように生き生きとして、自信に溢れていて、眩しかった。

それまで、Lunascapeでは社長とCTOと私の3人で互いにコードレビューをするような環境だったのが、本格的なチーム開発ができる場所に初めてやってきて、しかも腕利きの人たちがわんさかいるとくれば、田舎から都会に出てきた感覚にも似て、ソフトウェアエンジニアとしては心躍るものがある。最近でこそ機械学習が脚光を浴びているが、超平面でNGワードを分類する社内発表を見て、テクノロジーを活かしたゲームをいつか作りたいと思った。

私が入った頃はGREEの米国進出が始まった直後で、エンジニアの会合でサンフランシスコから一時帰国していた人たちの話を聞いたりして、皆かっこいいなとミーハー的に感心することしきりだった。六本木ヒルズ森タワーに隣接するグランドハイアット東京で開かれた年末の総会では、現メルペイ代表取締役で当時GREEのCFO&米国支社社長の青柳直樹氏が「Go Global!」と檄を飛ばして場を盛り上げており、いやはや自分も威勢のいいところに来ちゃったもんだなーと思っていたものだ。自分が後年、その米国事業の終局に立ち会うことになるとはその時は知る由もなかった。

GREEのエンジニア達の中にあって、私はネットワークインフラを担うサイトリライアビリティエンジニアでもなく、WebのサーバーサイドでLAMPを操るサーバーサイドエンジニアでもない、クライアントサイドのプログラミングはやっていたがWebフロントエンドエンジニアではなくモバイルアプリの専門家でもない、そしてゲーム開発のプロフェッショナルでもない、それでいて全ての仕事をにわか仕込みでこなしている、蝙蝠のようなどっちつかずの存在だった。

そんな、浮いた存在としての自己認識と、前の会社にいた時にスタートアップの現実に絶望し幻滅し悟った冷静な意識とがあったので、会社に自身を投射し一体化して滅私奉公するのではなく、自分自身を第一に考え、環境を利用して自己を成長させなければならないとの強迫観念が私にはあった。換言すれば、会社に対する批判的精神を常に持ちながら距離を取って、自分本位の姿勢で仕事に取り組もうと思っていた。いろいろな考え方の人間が会社の中にはいるはずだが、私はそういう道を最初から選んだ。

手に職を持っているので、明日会社をクビになり素浪人に戻っても私は生きていける。既に通った道でしかない。だから、会社の中では媚びず、歯に衣を着せず好きなことを言おうと思っていたし、実際そうした。

前の会社に勤めていたときに好きなことを言えないために溜まるストレスが身に堪える状態になっていたので、その反動としてGREEでは最初から逆に振り切ることを決めていた。後年、「現状のGREEをどう思うか」と、ある取締役に聞かれたので、自分のことは棚に上げつつここでは書けないほどにきつい表現を用いて率直な見立てを語ったこともある。

人によっては会社と距離を置くことは言うまでもなく当然のことかもしれないが、私にとっては初めて会社に所属した時点では他の会社のことは知らず当然の考え方ではなかったので、転職を経て初めて労働市場を相対化して見ることができるようになった経緯がある。新卒で入った会社でそのまま働いている人々も、ひょっとしたら転職したことがない時代の私のような、会社依存の精神状態の人が多いのかもしれない。

そもそも、労働の対価とはいえ何年も安定的に食わせてもらう以上、日本的でウェットな表現を敢えて用いるならば、会社は親のようなところがある。言いつけどおりにすれば食い扶持をくれる。親と違うのは自分で選んだ所属先である点くらいだ。口に糊して余りある給与をもらいつつ庇護を受けて生活できることを考えれば、多少の欠点には目を瞑れる。どんな親も、欠点が無いことは稀だろう。しかし、あくまで自然人である人の親と法人とは異なる存在であるため、この比喩は直ちに破綻する。

GREEが、私の入社した中堅IT企業の姿から、『探検ドリランド』などのメガヒットを連発し、瞬く間に大規模会社に指数関数的に成長してゆくのを目の当たりにし、抽象的な存在である法人と従業員との関係について深く考えさせられることになった。

Lunascapeでは少人数で構成員全員をはっきりと認識できたし、GREEでも始めは身の回りの顔と名前が皆一致した。その規模から、会社が飛躍的に成長すると、法人の非人間的なシステムとしての存在感が相対的に増してくる。あなたがいくら会社のことが好きでも、会社は、従業員のあなたのことなど眼中に無いのだ。会社とは、株主のものなのだから。

私の、GREEとの付き合い方は始めからそうした屈折したものだったが、そのことはともかくとして、自分が見込んで入った会社でたくさんの楽しい体験をさせてもらい、恩義は多々感じるところだ。

GREEで私が経験できた楽しい体験は、ほとんどがゲームに関連している。私は伝統的なゲーム業界への就職を目指したことはなかったし、GREE以前にゲームづくりに取り組んだこともなかったが、私の世代的に、ご多分に漏れずファミコン世代として、子供の頃はコンソールゲーム漬けの1プレイヤーだった。

ファミリーベーシックを触って全然理解できずに挫折しつつも、小学校の文集的なものに意味もわからずプログラマーと書くくらいには8bitの世界に脳を侵食されてしまっていた。ファミコンのカートリッジのミニチュアの消しゴムがカプセルトイとしてガチャガチャで売られていた、昭和時代。

ファミコンの、色とりどりのプラスチックのカートリッジの山を夜の夢に見るくらいに、アルゴリズムとデータのヴァーチャルな塊にすぎないゲームを対象としたフェティッシュな欲望を植え付けられていて、ゲーム脳を地で行く存在だった。

コンピューターゲームの素が、コンピューターのメモリー上にロードされる単なるデータにすぎないことを知ったのは、大学生になってからだ。秋葉原に通いPCを自作するようになってコンピューターの構造を知り、プログラミングを学んでソフトウェアの何たるかを知るまでは、ゲームは純粋な魔術であり驚きだった。

大学時代にエミュレーターにはまり、DX4-100mhzにメモリー8MBのDOS環境でも動くZSNESなどから始まってエミュレーター上でメモリエディターやエミュレーター付属のディスアセンブラーでゲームの中身を思う様いじり倒していると、子供の頃から一生懸命『ウィザードリィ』の迷宮に潜って人生の時間を費やして稼いだ経験値の数字は単なるローカルマシン上のビットの羅列にすぎず何の意味もないことがわかり、その時点で非オープンワールドの様式的RPGへの興味が瓦解し失せてしまった。

RPGに代わって私の興味を占めたゲームのジャンルは、3D FPSだ。モニターに顔を近づけて広視野角で経験するPCならではの3Dゲーム空間への没入感、海外ゲームの大人向けシナリオ、刹那的なドラマに溢れたオンライン対戦。Unreal、Deus Ex、Unreal Tournament。どれもUnreal Engineのゲームだ。

そもそも、大学に入学して間もない頃に、私はDoomをやっていて、Macを使う理系の同級生はMarathonをやっていた。以降、私はSONY PlayStationに代表されるコンソールゲーム機を完全にスルーして海外PCゲーミングの世界に浸かっていった。Unrealで初めて明るい外に出てエイリアシングだらけの植生を見た瞬間の感動、GTA:VCで見知らぬ地区で目覚めた時の驚き、リアルな社会と没交渉になっていた自分の生活そのものよりリアルに感じたゲーム内の体験は枚挙に暇がない。

しかし、後年私が傾倒していったのは、PlayStationの方だ。それも、PlayStationのゲームではなくハードウェアアーキテクチャー方面だった。自宅警備員を続けていた2002-2004年頃、Unreal Tournamentでの対戦に明け暮れながらも、自作PC系媒体として唯一無二だったImpress PC Watchで後藤弘茂氏の連載を読んでいると、PS3のCPUであるCellプロセッサーの話題が頻出するようになってくる。

日本の会社が面白いことをやろうとしている(といってもCellプロセッサー自体はIBMが大きく関与しているが)話は夢があり、日本人読者の興味を大きく惹きつけたことだろう。私についても、長引いたニート生活のお陰で反動ネトウヨ的ナショナリズムに傾きつつあったのかもしれない。Cell Broadband Engineの特許出願があったので、自分でネット上の情報を漁っているうち、海外でも大きくCell B.E.が取り上げられ、日本のゲーム情報に海外の好事家達が飢えているのを発見した。Weebと呼ばれるほどに日本かぶれではなくても、海外のゲーマーコミュニティでは日本通が幅を利かせる空気があった。

そして2004年に、私はBeyond3D Forumに参加した。Beyond3Dはネット上のゲーム関連コミュニティとしては最も3DリアルタイムグラフィックスやGPUに詳しい人々が集まっている場所で、掲示板にはプロのゲーム開発者やハードウェアエンジニア達も多く書き込む。現在はオーナーの不適切性的関係問題の影響で見る影もなくなりResetEraにその地位を譲ったNeoGAFがゲーマーやジャーナリストが集う場であったとすれば、Beyond3Dは技術に関心のある大人の社交場の趣があった。

ただし大人といっても中にはSONYやMicrosoftや任天堂のプラットフォームファンボーイ達も入り混じり、テクニカルな側面からゲームビジネスの話題まで、侃々諤々の議論を何週いや何か月にも渡って続けるのだ。

ヨーロッパでは、イギリス以外の国は、任天堂やSONYのプラットフォームや日本のゲーム/アニメがアメリカのものより人気な土地もあり、ヨーロッパの人も掲示板に書き込んでいるが、中には英語が不得意な人も稀にいて、外国人だから英語が得意なわけじゃないんだなと勉強になったりもした。

その時の私は1ニートにすぎなかったから、何の知識もなかった。そこから、掲示板でCellプロセッサーの特許出願を基にして予想されるPS3のスペックやアーキテクチャーについて皆が推論をしているのについていくために、ネットを漁って過去のハードウェアのスペックからコンソールゲームの発展の歴史まで、広く知識を吸収していった。元々日本の媒体で後藤弘茂氏や西川善司氏が書いていたテクニカルな記事は読んでいたが、PlayStation以降の内外のコンソールゲーム業界についてよく知っているわけではなかったので、そのあたりの知識を補充しつつ、議論に絡んでいった。

Beyond3Dでは本当に長い時間を費やし、日本の記事を英訳して引用したり、後にXbox 360が出たときにはフラッグシップタイトルであるHaloの解像度が720pより低いと指摘したりしていた。コンソールゲーム機を1つも所有してすらいないのにネットで情報を調べ、掲示板の投稿を読んで門前の小僧習わぬ経を読む的に知識を仕入れながら議論に絡んでいくことが、ゲームで遊ぶことそのものより楽しかった。

ただ、PS3が2006年にリリースされ、さらに2年後に私は就職し、掲示板に費やせる時間が物理的に減少して、継続的に情報をフォローしつつ読んではいたが書き込みは全くしないようになっていった。PS3を私は購入したが、自分では使わず、実家に置いていた。あれほど打ち込んでいたPCゲームも、ハードウェアの発展が鈍化し、欧米のPCゲーム開発者がPS2のGTA3以降コンソールに軸足を移していっていたことで興味を失い、PCの部品の更新もせず、新しいPCゲームが出てもプレイしないようになっていた。

そんなわけで、私はゲームプレイヤーというよりゲーム機ファンないしゲーム業界ファンで、その方面には強い興味を持っていたがあくまで趣味としての関わりだったから、自分がいつの間にか仕事でゲーム業界の一端に関わるようになったことが、尚更信じられなかった。

GREEで仕事を始めてまだ数か月というとき、私の机の横を社長の田中さんとCTOの藤本さんが通り過ぎ、オフィス内に誰かを案内してまわっているようだった。顔を上げ、一瞬の認識の混乱を経て、私の目は点になる。よく見ると、それはFather of PlayStationこと久夛良木健氏なのだった。

驚きは無理もない、久夛良木さんが主導していたPLAYSTATION 3プロジェクトの情報を、無職の時期に何年もネット上で追いかけていたのだから。特に社内にアナウンスがあったわけではなく、私の周りの皆はその人が誰なのか知らなかった。あの人が久夛良木さんなんだと譫言のように皆に言い、私は1人興奮していた。これから、どんなことかは分からないが、わくわくするような面白いことが起こりそうだ。その期待は私の中で確信に変わりつつあった。

何が生まれ出るかわからない可能性を秘めた万能細胞を見守るような、心躍る希望は、私にとっては極めて個人的な体験に根差したものだった。同様の感覚こそが、人それぞれ異なる経験に支持されながら、その頃その場にいた皆に多かれ少なかれ共有され、同時に皆を支配していたのかもしれない。

NEW GAME!!

『釣りスタ』のスマートフォン版が軌道に乗り、また『釣りスタ』の運用にも慣れたところで、私は新設された新規ゲーム開発プロジェクトのチームへ、立ち上げメンバーの1人として異動することになった。

当時のGREEの内製ゲームスタジオではプロジェクト間でかなり頻繁に異動が起こっていたので、感覚が麻痺していた私はその時は特になんとも思わなかったが、後から考えてみると、凄い機会を私に与えてくれたことに感謝せざるを得ない。そのプロジェクトは、GREEが初めて内製するAndroid/iOS向けゲーム開発プロジェクト2つのうち1つで、後にMONPLA SMASHプロジェクトとして知られるものだった。

もう1つのプロジェクトは『どうぶつフレンズ』という、『けものフレンズ』のような名前のゲームとしてリリースされることになるもので、3DゲームエンジンであるUnityを用いて2D的表現を行うタイトルとして開発されていた。他方、MONPLA SMASHは、当時GREEがパートナーシップを結んでいたAdobeが持つミドルウェアであるAdobe AIRを用いて開発することが決まっていた。

node.jsやChromiumが、V8 JavaScriptエンジンにI/Oや描画などOSが制御するプラットフォームへのネイティブアクセス機能を付けたものである(Chromiumは厳密には違うが)のと同様、Adobe AIRはActionScript 3(=ECMAScript 4)エンジンであるAdobe Flashに各OS機能のライブラリーを付加したものだ。Adobe AIRを使うと、Android/iOSネイティブアプリのグラフィックス/UI部分を既存のFlashコンテンツ作成ワークフローで開発でき、その他のシステム部分もActionScript 3で高速に開発できる。

MONPLA SMASHでは、私と、現GAMKIN CTOで後に『戦略シミュレーションゲームの作り方』を著すことになるロバート・ジェイ・ゴールド氏とで話し合ってアーキテクチャーを決めることになった。

ロバートさんはGREEの内製ゲームの1つである『モンプラ』のチームに元々いて、その前はセガやスクウェア・エニックスを経てGREEにやってきた、オンラインゲーム開発に詳しい元コンソールゲーム開発者だった。それまで私はコンソールゲーム開発の話を読んできただけだったので、プロのゲーム開発者と同僚として同じチームで仕事をして、自分が知っていると思っていたことの答え合わせができると思うと嬉しかった。

その頃のGREEはDeNAの動向を異常なほどに意識していた。毎週の朝会ではDeNAの数値指標をベンチマークとして追いつけ追い越せの勢いで報告がなされていて、それ自体がドラマやゲームのように面白いエンターテインメントだった。

少年漫画的文脈で捉えると、その頃の私のDeNAのイメージは、ライバルキャラにありがちな明晰で理知的なエリートキャラで、GREEは熱血バカな主人公といった調子。とはいえ私自身は別にDeNAに敵意があるわけでもなく、むしろエンジニアとしては同じ問題意識を持って似た課題に取り組んでいる近しい意識を持つ人々であるはずなのだから中の人達と話してみたいとの思いは絶えずあった。

GREEに入って以来、ソーシャルゲーム花盛りの時代で、関連した勉強会は数多く、社外に足を運んで情報収集をするのが私の楽しみになっていた。名の知れた会社に勤めていることの利点は、とりあえず名刺を渡すと、相手が関心を持って話を聞いてくれることだ。私は初対面の人にナメた扱いをされることも少なくないが、それでも全く話を聞いてくれないことはそれほどない。そして、そのことを利用しない手はない。むしろ、それくらいしか名の知れた会社に在籍する意味は無いのだから、それをやらないことは非常に大きな機会損失であると言ってよい。

もちろん、下駄を履く感覚も自覚しておくべきで、大企業に保護されつつ、どこまでが自分の実力か、どこまでが履かされている下駄の高さなのか知った上で、下駄をうまく使うのだ。当時であればGREEは非常に勢いがあったので「こんなのいつまで続きますかねえ」などと言って談笑する流れが定番だった。

そういうわけで、私はGREEに入って少し落ち着いたときから、機会を得てはひたすら社外の人々に会って面識を得、情報収集を続けてきた。人付き合いが苦手で自分は社交性がないと思っている人は、情報収集をするのだと割り切って動いてみるのがよいだろう。ゲームをプレイするように、例えばRPGで、その辺を歩いている村人に話しかけるのと同じことだ。大した情報を持っていない村人と思って話しかけたら、思わぬ情報やチャンスが手に入ることが実際にある。これは、そういうゲームなのだ。MMORPGをプレイしていると思えばよいのだ。

社外での情報収集のもう1つの問題意識は、自分は成り行き上ソーシャルゲーム開発者になったが、元々はゲームに限らない広い世界に興味があったのだから、視野狭窄に陥ることは避けたいとの思いがあった。

そのためには、様々な分野で活躍している人々が何を考えているのか、世の中がどちらへ動いているか、GREEという虎の威を借りて知るように努めなければならない。そうしなければ、いつか足をすくわれることになるだろう。私がGREEに勤めていることだけを手がかりに、私に声をかけて話す時間を作って下さる方は多数いたので、いつも興味深く話を伺い、そして観察させて頂いた。「深淵を覗く時、深淵もまたお前を覗き込んでいる」。

ただ、ソーシャルゲーム自身も、それまでの既成概念としてのゲームを破壊し、解放し、新しい息を吹き込み、何か見たこともないものに成長していくのではないか、との漠然とした期待はあった。

ソーシャルゲームは、あんなものはゲームじゃないとか散々言われたが、現象の実体はもっと深いところにある。ハードコアゲーマーではない人々が楽しんでいた、欠くべからざるコアは、賑やかしとしてのヴィジュアルではない、オンラインゲームのメカニクスであることが実証されたのだ。

金儲けの技術だからとソーシャルゲームを攻撃する者もいるが、それは自分で自分の首を絞めている。人は快楽のために金を払うのである。それは人の性なのだ。ゲームは人の闘争本能や富を集積する本能を確認し、肯定し、増幅するための装置である。巧妙に設置された焦らしのような障害を乗り越えてゴールに到達する、最終的な肯定を各人にもたらす装置なのだ。しかし、そんなに簡単にゴールに辿り着いてしまっては商売上がったりなので、結局は水商売と同じで、完全には手に入らないものに継続的に金銭を支出させることになる。Game as a Serviceが論理的帰結だ。

私はただのゲームにはノスタルジア以上の興味はなかったし、今でもそうだ。だから、グロースハックの技術、英語表現で言うならばミルクを搾り取る(milking)ように利益をユーザーから効率的に吸い上げるための技術だけに留まらず、ゲームの概念を何らかの形で拡張する要素は、伝統芸能としての既存ゲームコンテンツや既存開発企業の外にしか存在しないのではないかと思っていた。

そのようにゲームの概念そのものについて思いを巡らせながらも、技術にも目を光らせていた。2011年の夏に、当時スマートフォン向けゲーム開発で先行していたDeNAが社外にその技術動向を公開するセミナーが新宿で開催されたので、参加する機会があった。その頃DeNAはアメリカのngmoco社を買収し、ngCoreなるSDKを公開していた。

SDK(Software Development Kit)とは、あるプラットフォーム向けにアプリを開発するためのソフトウェア部品と、その使い方を記載したリファレンスドキュメントの一式を指す。

ngCoreの売りは、JavaScriptでAndroid/iOS双方向けのネイティブアプリをクロスプラットフォーム開発できることだった。そのために、WebViewに含まれるJavaScriptエンジンを用い、Android/iOSそれぞれのプラットフォームネイティブSDKで構築したライブラリーに接続してJavaScriptのAPIからI/Oや描画を行えるようにされていた。そして、サーバーにはnode.jsを用い、サーバーサイドとクライアントサイドで同じJavaScriptコードを共用するisomorphicな部分を持つことで、ゲームを不正に有利に進めるチート行為のために改竄される可能性のあるクライアント側でのコード実行過程をなぞるようにしてサーバー側の正のコードパス上で再実行し、処理結果の正当性を検証できる。

私はそのngCoreの構造を知って素直に凄いと感心した。JavaScriptを用いれば、アプリ開発の知識のないWebエンジニアも開発に参加できる。また、JavaScriptをネットワークからダウンロードすれば、AppleのApp Store規約に反しないようWebView内蔵のJavaScriptエンジンを使う限り、アプリのバイナリの更新なくゲーム内容を更新するいわゆるhot updateとかhot reloadingと呼ばれる挙動を得られる。ゲーム内イベントがどんどん新規開発され改善されていくソーシャルゲームのニーズを100%捉えている素晴らしい構成だ。最近で言えば、React Nativeが実現している特性である。

我々にはDeNAが数百億を投じて買収したngmocoのような巨大な開発リソースは無いので、JavaScriptエンジンに繋げるAndroid/iOS向けの包括的なライブラリーやPC向け開発環境を開発し維持することは不可能だ。それでも、何とかngCoreを出し抜く方法はないだろうか?

そうして私が思いついたのは、Adobe AIRにWebViewのJavaScriptエンジンを繋ぐことだった。ngCoreがAndroid/iOS向けに0から実装したプラットフォーム機能は、Adobe AIRが既に実装しているものをただ流用すればよいのだ。

まず、クライアント開発用に、JavaScriptからAdobe AIRの機能を使うためのAPIや、ES6までJavaScriptに入らなかったクラス機能を実装するライブラリJooseを使ったクラスライブラリを開発する。そして、JavaScriptのゲームコードは、node.jsのモジュールであるnpmとして管理する。ゲームサーバーはnode.jsで、ゲームコードはBrowserifyによってサーバー側のnode.jsコードからクライアント側WebViewで実行可能なJavaScriptコードへ変換されてから1まとまりにパックされた上でデジタル署名が施され、CDNから配信される。Adobe AIRクライアントは、その署名を検証し、OKであればアプリ内にホストされたWebView内で実行する。UIにはFlashを使うが、必要に応じてHTML5も使う。ゲームコードは全てJavaScriptとして存在しているので、Adobe AIRを捨ててUnityに移行したいのであればWebView部分だけUnityに組み込んでAPIを繋げばよい。

MONPLA SMASHのアーキテクチャーはそのように決定された。そして、新規ゲーム開発が始まった。

このシステムを開発、維持するのには、2、3人のエンジニアが専従すれば足りる。DeNAが当時、企業込みであるにせよ、数百億をかけて獲得したシステムに似たものを、ソースコードアクセスが制限されるなど少々の留保はありつつも、高々数千万程度の遥かに安いコストで調達できるのだ。

その頃から、私は、企業買収等に関する投資の技術的なデュー・ディリジェンスが、日本の企業各社において適切に行われているのか、疑問を持つようになっていた。私から見て明らかに不適切な投資を以後目にする度に忸怩たる思いを抱かずにはいられなかった。

この時期に、GREEにある技術を売り込みに来た外部の会社とのミーティングに同席する機会があった。ミーティング後に辛辣な意見をGREEの担当者に述べたら、よさそうに見えたけれど、と意外そうな反応をされ、無知な人間が投資判断をする危険性に戦慄したことがある。金銭だけの問題ではない、時間や労力など、目に見えないリソースが浪費の危険に曝されている。法人組織が拡大すればするほど、組織設計によっては、実績作りを焦る専門家でない人間が権限を持つようになり、危険性は増大するばかりだ。いい歳をした大人がコロリと騙されるのだから無理もない。

専門的知識経験がなくデュー・ディリジェンスもまともにできない無知なビジネスマンのおかげで無駄な時間が費やされる。大企業がやすやすと食い物にされ蚕食されることも有るのかと恐怖した。『AKIRA』のアニメ版で、増殖する自己を制御できなくなって膨れ上がるテツオが頭に浮かんだ。背任や会社法の罪には単純に該当するわけではないにせよ、実体としては変わらない問題が起こりうることを認識させられた。法人資本には、後見人が必要なのだ。

外部とのB2Bのやりとりでそんなことが起こりうるとすれば、B2Cの事業本体でも、悲喜こもごものドラマが起こるのかもしれない。鳴り物入りで他の大企業から元何々との経歴で入ってきて厚遇される高給の人たちが何も成果を出せず自転車操業に陥って時間稼ぎの悪手を繰り出す、戦犯パイプライン。私はまだエンジニアなので自分で手を動かして物を作る機会があったわけだが、大量採用の頃に入社した、高級人材派遣サービスとしてのコンサル出身の人々など、ひたすら空回り続けて会社にとっても自己にとっても何ら有用なことをできないまま会社を去った人も多かったのではないか。

統制の緩い大企業であればリソースを好きに使って失敗もできるなどとそういう企業を辞めてから放言する者もいるが、その陰で失敗の割を食っている人間もいることを忘れてはならない。やった者勝ちの弱肉強食の世界がそこには存在している。

会社という法人は生物であり、その身体を構成する細胞は日々入れ替わっていく。明日の会社はもう今日の会社ではなく、勃興と没落、栄枯盛衰の波がある。私が目の当たりにしてきたものは、資本の運動、波動だ。この時の会社はよかった、という話は、現状のその会社とほとんど関係がない。

資本自体が自己保存と拡大の本能を持ち、人間を養分として使役しながら成長してゆく。そんな図式が資本にとっての理想ではあるが、寄生虫のように資本を奪い蝕む存在もまた人間である。しかしながら、皆が皆、資本を守る後見人や番人として活動するとしたら、それはとても退屈な情景であるといわざるをえない。

自分のものではない資本を守り膨張を助けるために自分は生かされているのか、あるいは何か別の意味があるのか。考えても無意味な図式なのか、それともこの図式を意識すれば高い次元で考えることができるようになるのか。慢性の病のように、一体自分は何をしているのか、何をすべきなのか、との反省が、常に私を悩ませてきた。私は寄生虫か、後見人か、あるいはその両方か、もしくはどちらですらもないのか。

そんなことばかり考えて常に鬱々としていたわけではなく、時には場所が変わることで心が紛れることもある。MONPLA SMASHプロジェクトが走り出して間もない2011年10月、私はロサンゼルスにいた。Adobeの開発者イベントであるAdobe MAX 2011に参加するためだ。

当時は、Adobe AIRの内部でもCPUで描画要素の合成を行っておりGPUのグラフィックスパイプラインをほとんど使えていなかった既存のFlashのシーングラフ(Stage)に代わり、GPUを活用して3D描画を行うStage3Dと、Stage3Dベースで2D描画を行うStarlingフレームワークがアナウンスされたばかりで、Adobeの次の一手を最先端で目撃するべくモバイルゲーム開発者達が世界中から集ってきていた。

私はといえば、初めて海外の開発者カンファレンスに参加するものだから、見るもの聞くもの全てが新しかった。アメリカ入国時にパスポート写真と髪の色が全く違ったので入国審査で横に連れて行かれてスーツケースの中身を全部探られた上に財布の中のカード類を全部引っ張り出され秋葉原時代に行ったことのあるメイドカフェのポイントカードを何だこれはといかついセキュリティのオヤジに問い質される珍事で旅が始まるも、会場のロサンゼルス・コンベンションセンターは毎年開かれるゲームショウであるE3の会場でもあるので何度も写真で見た場所だったから興奮した。

日本だと犯罪だが、多くの参加者たちが会場の廊下にある電源の前に座り込んで大きなノートPCを勝手に充電していて、アメリカはおおらかだなと思った。セッションでは、途中でも質問をする人がいたり、質問時にはスピーカーが質問を繰り返した上で回答したり、そんな細かい事柄がいちいち興味深かった。

中でも感激したのは、キーノートセッションで、Epic GamesファウンダーのTim Sweeneyが登壇し、Flash版のUnreal Tournamentを見せたときだ。大学生の時にPCでシングルプレイヤーのUnrealをプレイして、その没入感と、辺境の惑星での孤独な冒険のスリルと侘び寂びに感動し、またマルチプレイヤーのUnreal Tournamentシリーズには果てしないプレイ時間をつぎ込んだ者としては、全く予想しないところでヒーロー、いや神が肉眼の範囲内へ出現したのだ。その時は生Tim Sweeneyに歓声を上げざるを得なかった。(後日、日本へ帰ってからロバートさんが昔Timと話したことがあるなんて聞き目が丸くなった)

Tim SweeneyがAdobe MAXのステージに登壇
朝から晩まで展示会場を周るかセッションを聞き続けるだけの日程だったので、観光する時間は全く無く、Uberも当時は無かったのでどこにも行かずに、最後はAdobeのパーティで酒を飲んで終わった。

Adobe MAXの会場でも、日本からの参加者はそれなりにおり、小綺麗な格好をしてまとまっていたのですぐに分かった。彼らと交流を持つこともでき、異国の地で同胞に会う心強さがあった。ただ、アジア人という意味では、会場にはたくさんの日本人ではないアジア人の開発者たちがおり、セッションの席で待つ間に横目で彼らのノートPCを覗いていると3Dのハック&スラッシュっぽい、開発中と思しきゲームが開発環境上でグリグリ動いていたりして、すごいなという感想を持った。モバイルゲームの世界では日本は技術的後進国なんだという感想を、その時に明確に抱いた。

年が明けて2012年2月には、目黒雅叙園で行われたDevelopers Summit 2012の一番大きな会場で、ロバートさんと共に講演を行った。会社の外で話をする初めての機会がそんな大舞台であるとは予想だにしなかったことだった。

雅叙園の大広間で講演を行う時は、控室から厨房を通って会場へ降りていくのだが、その慌ただしくものものしい雰囲気に、気圧されっぱなしだった。MONPLA SMASHの開発は佳境に入っていたものの、講演でも詳細の多くは明かせないので、Adobe AIRを利用していることなど具体的な部分には触れず、サーバー側の解説以外はわりとぼかした表現にはなっていた。それでも、当時はnode.jsエコシステムこそが未来なのだとの希望があり、まだHTML5にも希望があったりで、技術的な展開はゲームがリリースされれば自ずと進んでいくだろうとの期待があった。

講演が済むと気が楽になり、控室で、当時DeNAに所属していた現Tombo Inc. CEOの紀平拓男氏にHTML5版ngCoreアプリがスマートフォン上でスムーズに動くデモを見せて頂いて驚いたり、Jenkins開発者の川口耕介氏にご挨拶したりと、会社どうこうではなく純粋に個人的に楽しい場を満喫させてもらった。

いわゆる「コンプガチャ」ことコンプリートガチャ問題が勃発したのは、2012年5月のことになる。景品としてのアイテムを得るために、当たり確率を複数のガチャの組み合わせでコントロールできることが景品表示法に関する運用基準に抵触するとされたのだ。

私の入社後それまでに、『探検ドリランド』を筆頭に、GREEの内製ゲームスタジオが制作するゲームは爆発的な成長を遂げていた。コンプガチャ騒動により、その成長曲線に黄信号が灯った。しかし、私は既に1年近くビジネスの現場を離れて新規ゲーム開発に入っていたので、そのインパクトは実感できていなかった。会社も、粛々とコンプライアンスチェック体制を整備するとともに社員に冷静な対応に努めることを促していて、その時点では現在進行中のスマートフォン向けゲームアプリのプロジェクト群が実を結べば挽回可能であるとの楽観的見通しが支配的だったかもしれない。

6月にはアメリカでE3が開催され、GREEは海外ゲームショウにゲームタイトルを初出展することになり、MONPLA SMASHもその中の1タイトルだった。7月になるとゲームミドルウェアの展示会であるGTMF 2012 Tokyoが開催され、GREEもブースを出し、私はAdobe AIRに関する講演を行った。

GTMFでは、私がずっと記事を読んできた後藤弘茂・西川善司のライター両氏に懇親会で初めてお会いしてお話することができたのが何よりも嬉しかった。当時、JavaScriptで分散コンピューティングをやるAWS Lambdaみたいなものを思い描いていたので、酒を飲みつつ後藤さんとCELLプロセッサーやその背景思想の話をできる日が来るなんて、かつてのファンボーイとしては控えめに言って夢のようで、私としてはそのことだけで本望を遂げた感があった。

The Show Must Go On

1年の開発期間を経てMONPLA SMASHが完成し、日本より先に海外でリリースされた2012年8月、私はドイツへ飛んだ。ケルンで開催されるヨーロッパ最大のゲームショウであるGamescom 2012のGREEブース内に設置されたMONPLA SMASHブースの監督者兼説明員として、だ。

MONPLA SMASHはGREEの六本木のスタジオが初めてリリースしたAndroid/iOSネイティブゲームアプリで、日本から全世界向けにリリースした初のネイティブゲームアプリでもあった。

羽田空港国際線出発ロビーをGREEの広告が席巻していた
出発直前に、感染症めいた原因不明の謎の体調不良で喉のあたりが腫れ上がりひどい痛みが起こっていたが、しかしこの千載一遇の機会を逸するわけにはいかないので、六本木ヒルズクリニックで点滴を打ち、抗生物質といっぱいのロキソニンとを処方してもらって、日本を発った。

そしてフランクフルト空港に到着し、GREE一行を乗せたバスでケルンへ向かった。到着した日は、設営中の会場を視察し、GREEブースに配置されるコンパニオンの女性たちとの初回顔合わせがあった。コンパニオンは、ローカルのドイツ語と、Gamescomにはヨーロッパ全土からゲストが来るので英語と、両方を話せる現地の女子大生等を2-30人雇っていた。

私の役割は、会場に立って自分でも客に対応しながら、ドイツ語しか話せない客はコンパニオンの女性たちに回して対応させつつ、技術的問題が起こったときには彼女らの報告を受けて対処するというものだった。コンパニオンたちが集合した中で、目立つ美人の女性がいて、しゃべれたらいいなあと思っていたら、蓋を開けてみるとMONPLA SMASHブースに付く3人のコンパニオンのうちの1人で、名をRominaといった。MONPLA SMASHの展示ポッドはGREEブースの前面の最も目立つところにあり、GREEの新規目玉タイトル扱いだった。

私がそうしてブースに行き、3人のコンパニオンたちにMONPLA SMASHのゲーム内容をプレイしながら説明し質問に答えているところに、併催されていたGDC (Game Developer Conference) Europeで『どうぶつフレンズ』の講演を行うことになっていた当時の同僚で現InstaVR CEOの芳賀洋行氏が遊びに来て、私が女性たちと戯れているかのような写真を撮りそれが日本にいるチームに送られたのは懐かしい思い出だ。

現場の設備は電通が取り仕切っていた。巨大なGREEブースの中央にはステージが有り、GREE内製ゲームのナビゲーターキャラに扮した女性たちが会場の4隅を出発し外周を周る演出を経てからステージ上に登り、ダンスを披露するステージイベントが、1日に複数回行われる。

Gamescom 2012 GREEステージリハーサル風景
Gamescom 2012 GREEブース
MONPLA SMASH展示
初日の会場確認が済んだら、夜はスタッフ飲み会があるので、ライン川の河辺を歩いて店に向かった。体調は最悪で、頭が痛く喉が苦しかったが、これがドイツかという典型的な風景を写真に撮ったりしながら、旅費も高いであろう真夏の時期にヨーロッパに来るチャンスをくれた会社に感謝しつつ、明日から5日間のショウをなんとか乗り切ろうと考えていた。

背の高いグラスで様々な種類のビールを飲みソーセージやプレッツェルを食い、宿に戻ったはいいが、喉が腫れ上がり激しい頭痛で、ほとんど眠ることができなかった。そんな状態だったので、初日だというのに会場での朝8時からの朝会に遅れそうになった。電車を乗り間違えそうになったが、GREEスタッフの青シャツを着用した、他の国から商談のために来たスタッフが親切にも途中まで一緒に来てくれた。

展示は朝9時の開場から夜の8時までだったので、休み時間は挟まれるにせよ、会場に立ち続けるのはなかなかハードではある。私は肉体労働を全然やったことがなく、それに体調悪化が輪をかけて、ひどい状態だった。

ブースの裏にはスタッフ控室が設営されており、昼食もそこでケータリングのものを摂る。控室の中は慌ただしく、さながら戦場の作戦基地のようだった。GREEブースの運営には、日本から来ている我々の他にも、アメリカ支社や、当時はロンドンやアムステルダムにあった子会社からケルンに様々な国籍の社員たちが多数送り込まれてきており、世界中から仲間が集ってきて今この場所で共に働き1つのイベントを造り上げているのだった。

そんな光景を実際に目の当たりにし、只中に身を置いてみると、胸熱なものがあった。話には聞くが、こんな世界が存在するのだなと感銘を受けた。何もかも初めてのことだから、気後れするかと思いきや、楽しくて逆に大胆にすらなっていたかもしれない。インターネット上のIRCでのチャット国際交流で満足していた自分にとっては、目から鱗が落ちる経験となった。

世界中から集まった仲間とこうした活気のある大きな舞台で仕事をするチャンスはこれが最初で最後かもしれない、人生で1度きりの体験になるだろうから、この1週間をしっかり目に焼き付けておこうと何度も何度も思った。実際その通り、GREEでは2度と無い体験になった。

それまで私はゲームショウというものに国内外問わず行ったことがなかったので、Gamescomが初めてのゲームショウ体験だった。GREEスタッフ制服の青いシャツを着たのは、このときと、同年東京ゲームショウでブースに立った日のみ。

ゲームを含むエンターテインメントの世界は、単なるITの世界とはまた異なる中毒性の刺激的な魅力を持つ。老若男女がショウに訪れ、新しいゲーム作品と触れ合いつつ、ゲーム自体とはまた別の、受容レベルを超過する宣伝イメージの洪水に曝される。この展覧会に、ゲーム産業の1年の全ての果実が結実している。ゲーム業界に入ると、その表向きの華やかさに魅了され虜になる人も多いだろう。私もその一人で、だからエンターテインメントの仕事は一味違って面白いと思うようになっていった。

光と喧噪に洗われながらも、際限ない異常な蕩尽行為とも思える展覧会はなぜそのような状態になったのか、この現象は一体何を示しているのか、休憩時間にはレポートを書くために他社ブースを周ることになっていたので多種多様なブースをめぐりながら考えるうちに、その構造がうっすらと心に浮かんできた。

ショウのフロアでは、数々の世界的大企業がしのぎを削りあい、膨大な資金を投入したブースで自社のコンテンツを大音量で宣伝する。そのきらびやかなマーケティングの祝祭で目撃することができるのは、各社の資本力の顕現が競い合う姿であり、そこは大資本という神々の戦場なのだ。私が見ていたそれは、大規模なチキンレースでもある。

そして、資本の存在を誇示する寺院のようなブースの構造物の間を縫って漂う生身の人間たちは、資本の手先、使徒として、展示装置の一部と化してあくせくと作業に明け暮れるのだった。

ステージイベントでグッズを観衆に投げる習慣
Gamescomならではの、現地の特色もあった。ドイツではPCゲームやカードゲームが盛んなので、RazerなどPC用ハードウェアメーカーの展示も多くあり、Magic the Gatheringアプリ版の発表も盛り上がっていた。各ブースでMCやコンパニオンが話すイベントが有る時は、常にどこかの段階で、集まった聴衆めがけてグッズを投げ入れることが行われるので、それが混乱に拍車をかける。

巨大なブース群の間をうろうろするうちに、ものすごい数の大観衆が集まっている空間に出くわすこともあった。見れば、Gamescomの会場内でPCゲームによる対戦の大会が行われていたのだった。Riot GamesのLeague of Legendsで対戦する選手たちの戦略と手さばきを、固唾を呑んで見守る大勢のファンたち。非日常的なゲームショウイベントの中にあって、輪をかけてさらに非日常的な経験だった。

そういう競技としてのゲームの盛り上がりが海外では存在するらしいことをネットで見知ってはいたが、実際にその場を目にして人気を肌で感じると、何故この現象が日本では実現していないのだろうともったいなく思う気持ちになった。2012年の段階でeスポーツは日本以外の世界では既に確固たる運動になっていたのだ。単なるコンテンツ消費行動に終わらない、社会と共存するゲーム産業のあるべき姿の1つ、持続可能な発展がそこにはあった。

2012年のe-sportsとの邂逅
MONPLA SMASHの展示は、回線がつながらなくなったりサーバーが落ちるなどのトラブルに遭遇するもどうにか持ちこたえ、何日かブースに立っているとそれなりに仕事にも慣れてきた。時々、ずっと端末を離さず繰り返し熱心にプレイする訪問客もいて、日本で開発したグローバル市場向けゲームとしてそれなりの手応えを感じることもあった。

しかし、精神的昂揚とは別に私の体調は低空飛行を続け、途中のどこかの日に現地の病院に駆け込もうかと真剣に考える絶体絶命の状況だった。数時間ごとにロキソニンを服用し、どうにかこうにか正気を保っていたので、意識しないうちに自然に仏頂面になっていたようだ。人々が往来する会場の喧騒の中で疲労に立ちつくす私に、微笑みながらRominaが声をかけた。

"Ryu, smile :)"

朦朧としながら力ない作り笑いを返す私がその時悟ったのは、エンターテインメントの仕事とはそういうことだ、ということだ。

どういうことかというと、芸人の仕事と同じで、たとえ本人の身内に不幸があった場合であっても、幇間として、バカバカしいことをやっては笑っていなければならない。虚構の魔術を維持するために、最大限の努力を払わなければならない。華麗な成果物を造り上げるために、何年も身を粉にして働かなければならない。たとえ、その成果物が一瞬で泡沫の如く消えていく運命であるとしても。

幅広い年齢層のプレイヤー
途中、午後がまるごと自由な日が1日だけあった。Beyond3D Forumで、Gamescom参加者がいたら会おうというスレッドが立っていて、そこで話したオランダ在住のArwinとイギリス在住のPraveerが前日までにGREEブースを訪ねてきてくれていて、私が半日オフの日があるということで、Arwinがオランダのマーストリヒトにある自宅に招待してくれることになった。

GREEスタッフ制服シャツを着たまま、午後になると私はGREEブースへやって来たPraveerと一緒に会場を出て電車に乗り、Arwinが車で迎えに来てくれることになっていたアーヘンへ向かった。私のモバイルルーターは不具合でインターネットに繋がらないようになってしまっていたので、道中Praveerに頼りっきりだった。

鉄道の車窓からドイツの田舎の風景を眺めながら話したPraveerはインド出身で、いずれヨーロッパでPhDを取るためにイギリスへ遊学中の大学生だった。裕福な家の出らしく東京ゲームショウを見に日本へ行ったこともあるという。

アーヘンの駅に着いてしばらく待つとArwinが車でやってきたので乗り込んでマーストリヒトへ向かった。快晴で、空にはArwinが神の手と呼ぶ形の大きな雲が浮かび、私は途中の草原や大きな樹々や小さな機関車など、風光明媚な景色の写真をスマホで撮ったりデジカメで動画を撮ったりしてばかりだった。

訪れたマーストリヒトは、日本と違って石畳にゴミは散らかっているものの、それ以外は何もかも美しい場所で、古い伝統とモダンなタッチとがうまく融合していたのを覚えている。どこか色褪せた工業地帯の雰囲気を持つケルンには申し訳ないが、柔らかい午後の陽光に照らされたマーストリヒトはこれぞ我が心に描いてきた会心のヨーロッパ!という思いで大満足だった。

マーストリヒト条約を記念する広場や大砲がある古い城郭などマース川沿いの中心地を案内してもらい、Arwinの家族と夕食を摂り、アイスクリームを食べ、お洒落なオープンカフェや怪しいコーヒーショップの並ぶ夕暮れの入り組んだ街路を散策し、日が落ちた頃に僧院から尼僧たちの荘厳な合唱が響いてきた時は、体調をおして無理してでもここに来て本当によかったと思えた。

ただ、3人ともゲームマニアなので、その頃出たWii Uや、PS Vitaや、私が持参していたGalaxy S2のCPUの話なんかをずっとしていた。夜中までマーストリヒトには居たが、帰りはArwinが車でアウトバーンをぶっ飛ばしてケルンのホテルまで私達を送ってくれた。

オランダはマーストリヒトのOnze-Lieve-Vrouwepleinにて。兎料理を撮る
Gamescomの全ての日程を終え、体調はこの頃にはかなり回復しており、最後に出発前の朝に時間があったのでケルン大聖堂まで歩いていって聖堂の内部を見てから尖塔の頂上まで登り、すぐに降りた。現地で観光らしい観光ができたのはその数時間だけだった。

帰国して翌9月は、東京ゲームショウ2012の開催月だ。E3、Gamescomに続き、本拠地である日本での一大イベントとして、巨大なGREEブースが設けられていた。最終日に、私はMONPLA SMASHブースの説明員として参加している。

東京ゲームショウ2012 GREEブース オープニング
東京ゲームショウ2012 GREEブース オープニング
早朝に会場入りすると、GREEが運営していたアイドル関連ゲームのステージイベントのリハーサルが始まった。私が全然知らないアイドル業の女の子たちが、自分たちでキャリーバッグを引いて、ぱっとしないレッスン着のジャージのような格好でぞろぞろと現れ、グループ毎に順々にステージに上ってダンスを始める。

MONPLA SMASHブースでコンパニオンたちや同僚との打ち合わせが終わると特に私はすることがないのでステージ前でアイドルのマネージャーらに混じって椅子に腰掛けリハーサルの様子を見ていたが、少女たちには何の芸能人的オーラもなく、その辺の女子学生でももっと器量の良い子は普通にいそうだとの印象しか持てなかった。

一般日なので、開場すると非常に多数の客がブースへやってくる。ゲームクリエイターなんてのは偉そうな顔をしてふんぞり返っているものだというのが昔の素人だった私の中でのイメージだったが、会場に説明員として立っていると、タメ口で「今日はなんで○○は出展されてないの」などと上から目線で聞いてくるお客様もおり、それに対し平身低頭で誠に申し訳ございませんと対応するほかなかった。

また、ゲームに興味がないにも関わらず、コンパニオンの撮影や、ステージイベント目当てでやってくる客も多い。アイドルのステージの開始時刻が近づくとファンたちがステージ近辺に殺到し始め、ブースでゲームを楽しんでいる一般客の導線に影響するようになるのでうまくコントロールしなければならない。イベントが始まり、アイドルたちがステージに走り出てくると、観衆の列の後ろから眺めていた私は目を瞠った。

きらびやかな髪飾りに照明が映え、華やかな衣装に身を包み、完璧に化粧を施した彼女たちは、すっかりアイドルの姿に変身している。これがアイドルというものか! 初めて直で見るヲタ芸の実践者たちや、写真撮影を試みる人々を、「お写真はご遠慮下さいませ」などと制止しながら、ステージの写真を撮れないのを一番残念がってるのは自分だろうと苦笑していた。

東京ゲームショウ2012 MONPLA SMASHステージ
東京ゲームショウ2012 MONPLA SMASH展示
こんなこともやってました
その後、2012年の12月に、MONPLA SMASHはやっと国内でリリースされた。そこから半年後、ゲーム自体は海外で少数ながら熱心なファンを獲得できていたものの、GREE内製スタジオのスケール感に見合う商業的成果を挙げられないまま、サービス終了が決まる。

MONPLA SMASHのグローバルローンチからは1年が経っていた。得られた知見をもとにこれから改善施策を実行し巻き直しを図ろうという矢先での終了だった。技術的にはAdobe AIRの限界に起因する描画パフォーマンス上の問題が起こっていたためUnityへの移植も検討していたが、間に合わなかった。

振り返ってみれば、MONPLA SMASHは、ネイティブゲームアプリのグローバルローンチを行ってプレスリリースを出し、ゲームショウでフラッグシップタイトルとして展示されるなど、GREEのプレゼンスを示すマーケティング活動としては良い線を行っていたと思う。しかしそれ以上ではなかった。その時点での収支を評価するかぎり、サービス終了もやむをえない状態であったといえる。

この間、私個人としては、海外のゲームショウで自分が最初から開発を担当するゲームが大きく展示される、そんな栄誉に浴するゲーム開発者は日本に大して居ない中で、その幸運が駆け出しの半人前であるところの自分に巡ってくるのが、我ながら不思議で、畏れ多いと思っていた。ただ、エンジニアとして自分の力不足、経験不足も実感しており、もっとできることはあったはずだとの後悔は残った。

成り行き上グローバル市場向けのゲームアプリを開発することになったものの、どうすればその外形に見合うだけの実力を身につけられるだろうか、どうすれば一人前のゲーム開発者としての能力を得られるだろうか。いつかはゲームの技術に真剣に向き合わなければならないときがやってくるだろう。ゲームショウを巡っているときも、そのことは常に脳裏にあった。

漂流

2013年8月のMONPLA SMASH終了は、GREE社内での大きな体制変更の一環だった。

グローバル市場向けのゲームは海外支社で開発し、日本のスタジオは日本向けのプロダクトにのみ注力する、また直近は日本のGREEが強みを持つWebゲーム向けにリソースを振り向ける、との会社方針が発表された。とりわけ私が衝撃を受けたのは、MONPLA SMASHのような海外市場を視野に入れたプロジェクトは、今後は日本のスタジオには存在するべきではないとはっきりと宣言されたことだった。

同時に走っていた多数のプロジェクトがクローズされるのと同時期に、2年弱のあいだ増員しつつ続いたMONPLA SMASHのチームは完全に解体され、共に戦ったメンバー達は様々なチームへ散っていった。私は2年近くネイティブゲームアプリの開発を続けていたにも関わらず、新設されたネイティブゲーム開発スタジオには呼ばれずに、Webゲーム『モンプラ』の部署にスマートフォン向けアプリ担当として2013年6月の時点で異動させられることになった。ロバートさんはゲーム会社を起業するために退職した。node.js + Adobe AIRという社内でも異端の構成を取っていたコード資産は全て黒歴史扱いで闇に葬られることになった。

万事休す。全てが終わったと思った。

気がつけば、GREE入社から実に2年半以上が経っている。Lunascapeを辞めたのも同じ時期だ。それも、Lunascapeの時とは比較にならないほどに濃い2年間だった。遂に潮時が来たのだ。そう悟って、私は転職に乗り出すことにした。Lunascapeを出た時は職を見つける前に辞めたが、今度は職を見つけてから辞めるのだ。

2013年7月、私は、Web媒体によく寄稿していた、モバイルゲーム業界に詳しいという触れ込みの転職エージェントに自分から連絡を取って訪ねた。転職エージェントに会って話すのはそれが初めてのことだった。

話をしながら私が学んだのは、私の給与はそこそこ良い方であること、GREEの相対的に良い給与を前提とすると転職先の選択肢は多くはないこと、それからサラリーマンとして日本のIT業界で働いていた場合の年収の上限額だった。なんとなく察してはいた事情だが、それでも他者の口からの客観的情報として聞くとあらためて決して明るくはない見通しが心に響いた。

同時期に、どこからか私の個人電話番号を入手した外国人のエージェントが電話をかけてきたので、一体どうやって番号を入手したのだろうと純粋な好奇心を抱き、六本木ヒルズまで用事のついでに来てくれるというから森タワー4Fのカフェで茶飲みがてら話を聞くことにした。日本語を話せない在日外国人でも稼げる職業として人材斡旋業は人気があるのだろうなと思いながら、私がそれまでやってきた仕事と何ら関係のない、日本語と少しの英語を話せる人間であれば誰でもよい外資系企業の出張所のポジションを勧める相手の話を半笑いで頷きながら聞き流していた。

LinkedInのアカウントを作成したのも同じ2013年7月のことだ。プロファイルには自分を売り込む要約文を英語で書き、関わってきたプロジェクトやイベントについて詳しく列挙してゆく。

私は仕事を始めたのが人より遅かったから、誇れるようなものは何もないが、GREEでの仕事が少しは箔を付けてくれるはずだ。そう信じてそれまでのことを振り返り、自分の有用性を客観的にアピールできる形に書き起こす。東京に戻ってきてからただがむしゃらに脊髄反射的に仕事に専念してきたのでそれまで一度も後ろを振り返ることなどなかったが、ここで初めて自分の立ち位置をじっくり考え直す機会が訪れた。

ゲームは好きだったけれど、ゲームを作っているといってもせいぜい2年で、Webゲームやアプリをかじった程度であってみれば、ゲームの仕事だけにこだわる理由もない。広く一般のIT業界に職を求めてみようと考え、候補をリストアップした。同時に、LinkedInプロファイルの内容を拡充していったことで様々な求人が舞い込んでくるようにもなっていたので、それらを精査することもした。

転職活動を行いながらも、会社の仕事は淡々とこなしていった。ただ、機会があるときには、現在の仕事に対するモチベーションが低いことを隠さず述べていた。そんな話がどこかに伝わったようで、3か月ほど経った頃に部署異動の話がやってくる。

GREEのAndroid/iOSネイティブゲームアプリ開発専門スタジオであるWright Flyer Studiosはまだなく、その前身であるネイティブゲーム事業本部と呼ばれる部署があった。そこで当時部長だった現Kaizen Platform CTOの渡部拓也氏から打診された異動先は、ネイティブゲーム事業本部内の1チームだった。そこは『どうぶつフレンズ』のチームが存続したところで、コードベースを一部流用した新規タイトル開発に取り組み始めていた。2013年10月のことだ。

私はネイティブゲーム事業本部のチームへ移り、そこで初めてUnityにまともに触れた。開発環境であるUnity EditorはC#で拡張することができ、Visual Studioアドインを思い出した私は、C#で完結するモダンな開発環境に感銘を受けた。Adobe AIR向け開発に使っていたFlash Builderも悪くはなかったし、Unityは当時コードエディターとしてはMono Developにしかまともに対応しておらず発展途上の部分もあったが、自分が独自フレームワークや終わっているミドルウェアに執心しているうちに世の中は随分進んでいたんだなと目が覚める思いだった。

しかし2013年10月にはGREEの会社としての1大事件が起こっていた。業績不振により、希望退職が募集されたのだ。

ただし、私のいるゲーム開発部門は対象外となっており、対象外部門/職種の社員は希望退職に応じることができなかった。対象者に含めるために希望退職発表前に対象部署に異動させられた人々もいるとの噂もあった。私がGREEに入社した頃は社員も200人台で辞める者もほとんどいなかったが、たった2年のうちに社員数は2000人近くに膨れ上がっており、2013年に入ってからは退職者が相次いでいたので、私も焦っていた。

そんなところに希望退職が発表され、やられたと感じた。会社に転職活動を妨害されたと思ったのだ。実力がありすぐに外で職を得られる者から辞め、能力がない者が残っているかのような偏見が、世間でまことしやかに語られ、会社に残っている期間が延びれば延びるほど社外からの印象が悪くなる上に、希望退職まで実施されているとなると、転職市場で足元を見られるのは必至だ。まだ幾何かの手当をもらって直ちに辞められるほうがよいとその時は思った。

私は希望退職の内実を知らないので、それ以降も在籍を続けた者としての単なる私見に留まるが、社員の1割しか希望退職の対象になっていなかったところ、3割くらいは対象にしてもよかったのではないかと思う。給与が上がらなくなり、社内イベントが縮小され、チームビルディング費用など細かいところでコストカットが浸透していく、それによる社員の自主退職と自然減を期待しての措置だろうし、それはおそらく成功したが、社員の士気の疲弊を伴う長い時間を要したはずだ。

それまでにGREEは海外進出を想定して大量の外国人を新卒者含め雇用していたが、以後数年間でほぼ全員退職していった。雇用流動性の低い日本では無闇に人員を正社員採用することは絶対的な悪手であることを私は学び、それなのに米国に比べ採用にコストをかけているとは言い難い日本のIT業界の状況に危機感を覚えた。

そして、逆風に抗いつつ、2014年の始めまで転職活動を続けるも、私は結局気力が尽き、転職を諦めてしまった。

現在の自分には、どこでも行きたいところに行けるような力も覚悟も残念ながら不足している。そもそも、会社を出て何かやりたいことがはっきりと見えているわけでもなく、精神的不安に流されて漠然と環境を変えたいと思っていただけで、従って、次のやるべき仕事を見出すために全身全霊をかけた本気の努力ができなかった。転職したり起業したりして心からやりたいことに飛び込んでいく同僚を羨みつつ、私は迷いの底に沈んでいた。

しかし、失意のうちに、異なる考えも浮かんでくる。

幸い、会社から与えられる仕事も捨てたものではないし、少し時間が経てばまたGREEの勢いも復活するかもしれない。慌ててつまらない場所に転職し経歴を傷つけるリスクも、年齢が高く職歴のほとんどない私は他の皆より考慮せねばならない立場にある。それに、私はゲームと関係ない仕事を物色したことによって、逆にゲーム開発の魅力を再発見していた。

せっかく幸運を得てゲーム開発に携われるようになったのに、それを今ここで中途半端なところで放棄するべきだろうか。折から、スマートフォン向けゲーム開発も技術的に高度化し始めており、コンソールゲーム開発に大きく引けを取らないものになりつつある。

自分の期待通りの仕事がこれから自分の所にやってくる見込みは薄いが、修行だと思って、やれることをやってみよう。GREEが私に新しく与えることのできる価値あるものが完全に無くなるその日が来たと確信でき、機が熟するときが来るまで、人事を尽くすつもりで取り組んでみよう。そんなポジティブ思考に頭を切り替えるほかなかった。

アメリカのIT企業に勤める日本人が多く出演するポッドキャストのRebuild.fmを仕事中に聴いていると、自分はずいぶん技術トレンドとしては元いたところから遠いところに来てしまったなあという気がしたものだ。Webとゲームの領域は、ソーシャルゲームによって皆既日食のように一時接近したが、スマホゲームアプリ市場が本格的に離陸し、2つの領域は今また大きく離れだしている。自分がIT技術者というよりゲーム開発者であるとの自己認識が強くなってくると、ReactがどうとかDockerがどうとかImmutable Infrastructureがとか、表層的なことはどうでもよくねという気分になっていた。

ゲーム開発に専念する気になったはいいが、2014年の春に、それまで開発に参加していた新規ゲーム開発プロジェクトは、日の目をみないまま途上で頓挫し開発終了した。ゲーム自体が面白くならないのが理由で上層部からプロジェクトにストップがかかったのだった。

昔のようにチームが小規模であればエンジニアもゲーム内容にコミットすることができた。しかし、プロジェクト規模が大きくなりエンジニアがゲーム内容に関わっていない段階で、ゲーム内容が下らないことの責任を、単にチームの一員であるだけで連座制的に1エンジニアも負わなければならない事態が発生するとすれば、不幸としか言いようがない。

私は自分が作りたいものがあったのでプログラミングを独学し、その過程でプログラミングを好きになって、何の因果か幸運にもその好きなことを仕事にできたが、その反面、自分の作りたくない、面白くないゲームを作り続けなければならない際の苦悩は、好きなことが冒涜されていくようで、筆舌尽くしがたい。

こうした苦悩を防ぐために、自分のゴールを局所的な技術的チャレンジに限定し、それが用いられる作品の善し悪しは関知しない、といった方針も取れるかもしれない。そうはいっても、自分が携わるゲームのメカニクスやシナリオやアートが、素晴らしい、たくさんの人を感動させるようなものだったらどんなによかっただろう、との願望を持つのは、チームの中で働いたことのあるゲーム開発エンジニアなら普通の感覚ではないだろうか。人を感動させるとは言わないまでも、売れるゲームであってほしい。

私も長くモバイルゲーム開発をやっているのだから、何が売れるかどうか、このビジネスについて多少はわかっているつもりなのに、そこに介入する術がない。専門的知識を梃子にビジネスをやりたいのに、その機会がないのだ。また、技術的要素が介在して初めて可能になるゲームプレイがあるにもかかわらず、開発体制によってはそこが蔑ろにされることもある。

ゲーム開発環境や既存ゲームのmod環境を使って何か作れる者が、デザイナーとして遊べるプロトタイプを作ってからアートを厚く載せていく、欧米のPCゲームシーン。modとは、ゲーム開発元が提供する公式のゲーム改造ツールのようなものだ。そんなPCゲームシーンとは逆に、魅力的なアートにどこかで見たようなゲームシステムを抱き合わせるモバイルゲーム市場では、初期は小規模チームで緊密に連携して開発ができたかもしれないが、プロジェクト規模の拡大に伴い、一般的なコンソールゲーム開発同様、エンジニアはパイプラインに分解された作業を担当する単なる下流の作業員になりやすい。

私はエンジニアという職種で働いていたが、逆にエンジニアであるが故の不自由さ、窮屈さも感じるようになってきていた。私は飽き性で、あれもやりたい、これもやりたいと望む欲張りな人間なのだった。

ソフトウェアエンジニア、プログラマーで有り続けること、あるいはコードを書き続けることは、どれだけ孤独になれるかにかかっている。自分の精神と手先を一致させることができるか。心技一体を達成できるか。プログラマーになることは、コードを生産する機械になる、もしくはコードそのものになることだ。ペアプログラミングのような試みはあるが、あくまで例外で、プログラミングとは本来は孤独な作業である。

私は、コードを書けていれば満足な人間だったはずなのに、ある時からそうではなくなっていた。自分はこれが好きなのかどうか、アルゴリズムやデータ構造の範囲内で絵を描くだけで満足できるのか、わからなくなり始めていた。GREEに入ったばかりの頃に強く感じた解放感が、私を変えていたのかもしれない。

プロジェクトは解散したが、私は終わって良かったとしか思わなかった。その感想には、次に行った場所での活動も関係している。2014年4月には、ネイティブゲーム事業本部はWright Flyer Studiosという名に改められ、今日に至るまでGREEそのものとは別の会社の体裁で存続しているが、その中に当時はガレージプロダクションという部署があった。そこが行き場のないエンジニアの溜まり場となっていて、そこに送られた私は束の間の楽しい日々を過ごせた。好きなゲームを1人で企画し、2週間以内に作る機会が与えられたのだ。孤独な作業環境で、コードを書く楽しみを取り返せるかもしれないと思った。

私はプロジェクトが終了する頃にようやく手に馴染んできたUnityを用いて2Dプラットフォーマーを作ることにした。プラットフォーマーとは、『スーパーマリオブラザーズ』のような、キャラクターが飛んだり跳ねたりすることによってステージを進んでいくタイプのゲームだ。当時の私は、スマートフォンでまだ流行っていないタイプのゲームを作ってみたいと思っていて、『スーパーマリオメーカー』がまだ発表される前に、『リトルビッグプラネット』の簡易版的なステージ作成機能とソーシャルシェア機能が付いたプラットフォーマーがあれば、RTAやTASの実況動画も含め、モバイルゲームとしても受けるんじゃないかと思っていた。

有料アセットを一定の範囲内で購入して使ってよいことになっていたので、Unity内で2Dスケルタルアニメーションを付けることができるPuppet2Dや、ステートマシンによるビジュアルプログラミングのためのPlayMaker、ビヘイビアツリーのためのBehavior Designerを買った。Unity上での開発をどれだけ効率化できるか、既製の部品を使ったワークフローを作って試してみたかった。

そうして学んだのは、それなりの規模のプロジェクトのライン内で任された仕事をやるより、1つのゲーム全体をプロトタイプで作ってみるほうが、はるかにゲーム開発の勉強になることだった。それまで半年間チーム内で既存ツールを使って開発を行う中で学んだことより、2週間自分で必要なことを調べながら好きなツールを調達して手を動かしたほうが圧倒的に得るものが多かったことは衝撃的だった。世間で行われているゲームジャムのような活動や個人開発プロジェクトは、それなりに時間をかけることができれば個人差はあるにせよ非常に高い学習効果があるに違いない。

ガレージプロダクションで使い込んですっかりUnityに惚れ込んだところで、今度はローンチ直後の『消滅都市』チームへ異動になり、仕事でUnityをいじれる幸福な時間は終わりを告げた。

クライアントアプリがCocos2d-xを使って実装されている2Dランゲームの『消滅都市』は、AWSの導入に失敗してサーバーサイドで不具合が生じておりその鎮火にリソースを奪われていたので、人手不足の助っ人としてチームに突っ込まれることになったのだった。

そこで初めてCocos2d-xに触れることになったが、Unityに比べあまりに原始的だったのでショックを受けた。C++は好きだし、ソースコードがオープンなのも素晴らしい。しかし、Unityで実現できる生産性には全く比べるべくもない。UnityとCocos2d-xとの、ワークフローや開発パイプラインに与える影響の対比を目の当たりにして、ゲーム開発の進歩の歴史上の異なるステージを1つのパースペクティブ内に同時に目にするかのような奇妙な錯視的感覚を覚えた。そんな、私の手触りの印象とは別に、日本のモバイルゲーム業界では両方が同じくらい使われていた。一体、何故なのだろう? 理想のゲーム開発環境はどこにあるのか。

以前にも増して、私はあるべきゲーム開発環境の姿はどんなものか、これからのモバイルゲーム開発環境がどこに向かうのか、会社業務で担当する作業とは全く別個に、考え込むようになっていた。自分が夢想していることが、実際のゲーム開発プロジェクトに生きるチャンスは、もう2度と来ないのだろう。それでも、考え続けることを止められなかった。MONPLA SMASHの時にやり残したことが私の魂に取り憑いていた。

業務で担当するプロジェクトで実装する機会のないリアルタイム3Dグラフィックスの技術や、リアルタイムマルチプレイヤーの技術。独学を続け、私が学生時代からプレイしてきたPCゲームを支えていた技術をようやく内部から理解できるところまで到達してきていたが、日々の仕事でそれを活かす機会はない。そんなフラストレーションが私の中では沸騰して吹きこぼれそうになっていた。頭のなかで、ああでもないこうでもないと理想のゲームのアーキテクチャーを妄想していた。

2014年の秋に、またも私は部署を異動することになった。GREEは、遅きに失してはいたがようやくネイティブシフトというスローガンを掲げ、社内に多く抱えるAndroid/iOSネイティブゲーム開発未経験のエンジニアをネイティブゲーム開発者に即席でコンバートすることを投資家たちに約束しており、その教育係の役目が私に回ってきたのだった。具体的には、ガレージスタジオという新設された部署に1人だけ存在する、テクニカルメンターの役目を仰せつかることになった。

何故私がそのポジションに就くことになったか。『消滅都市』のチームでの私は決まった担当があるわけでもなく、サーバーもクライアントもツールもとりあえずなんでも来る球を拾うようなことをやっており、私がいなくなったからといっても他の誰かが埋められるような仕事しかしていなかったので、チームを離れることに迷いはなかった。使う技術にこだわりのある口うるさい人間とみなされチームに向いてないと思われたのかもしれない。要は、うまく使いづらいタイプの人間ということだ。また、適任者が次々と退職し、私はそれなりに会社に長く居て相対的にベテラン扱いになっていたことも関係していただろう。ガレージスタジオの部長になった岸田さんはMONPLA SMASHのときの部署の部長だったので、私としては仕事がしやすかった。

それまでずっと手を動かしてコードを書くのが主業務だった私が、毛色の異なる役職に異動するにあたり、Wright Flyer Studiosの開発部門の部長の渡部さんは「コーチングの経験ができるよい機会だ」と告げた。ソフトウェアエンジニアのキャリアパスとしては、管理職的なマネージャーか、専門職的なスペシャリストのいずれかが一般的だが、私の新しいポジションはその中間の変なものだった。

日本の会社にしばしば存在する、人足の監督をやるだけでビジネスへの責任もエンジニアリング上の識見も持たないマネージャーなる管理職は不要なのではないかと私は常々思っていたが、単に転職に有利だろうと思い、職務経験チェックボックスの項目に1つチェックを増やして未経験の項目を減らしたいばかりに、目標管理面談でマネージャー職を希望する旨を毎回書いていた。しかし、馴れ合いをしてこなかった私はスペシャリスト向きとばかり見られたようで、マネージャー職を経験する機会は巡ってこなかった。

そんな中、人を相手にする点は共通だが、プロジェクトのゴールに向けてチーム人員を束ねるマネージャーとは異なり、バックグラウンドがそれぞれ大幅に異なる多数の参加者個別に指導を行う、大企業の中でしか存在し得ない職務を私が担うことになった。それが、ガレージスタジオでのテクニカルアドバイザー的ポジションだった。

ガレージスタジオでの活動は、2つのステージに別れていた。我々のような運営側を除く、他部署からの異動者が最初に参加する第1ステージは、ネイティブゲーム開発未経験のエンジニアとプロジェクトマネージャーを受け入れ、教育を行い試験を実施する。そして、6週間以内に第1ステージの試験に合格した合格者のみが第2ステージに進むことができる。第2ステージでは、サーバーを使わないカジュアルゲームアプリを1か月で実装しマネタイズのための広告SDKを入れてグローバルリリースする。私の役割は、第1ステージのエンジニア向け課題作成と参加者メンタリング、第2ステージのアプリ用の共通テンプレートの整備と技術的アドバイスだった。

第1ステージの課題では、Clash of Clansのアセットを使い、そっくりなクローンアプリの全てをCocos2d-xかUnityを使って1か月で作成する。ゲーム内キャラクターや飛び道具の挙動再現のための物理やAIのアルゴリズムを考えてコードを書く必要があるのに加え、サーバーからのアセットダウンロードの実装と、iPhone 4S上で30fpsを維持しなければならないとのパフォーマンス上の要件を課した。また、アセットは整理されていない状態で参加者に渡されるので、アニメーションできる形式に自分で調整するテクニカルアーティスト的作業も含まれていた。最後に卒業試験を行い、正確にクローンされていれば合格、挙動が本物に比べて少しでもおかしかったりクラッシュしたりパフォーマンスが低かったりすると不合格で、2回まで追試が許される。2回追試に不合格となると、ネイティブシフトをエンジニアとして担うには不適であるとされ、別ポジションへの異動が勧奨される。

私も審査員の1人だった第1ステージの卒業試験は極めて厳格で、大の大人であるエンジニアたちを文字通り泣かせるほどの苛烈なものとなっていた。「教育」なるワードから想像される、和気藹々と学ぶ学校のような雰囲気はそこにはなく、兵隊のブートキャンプそのものだった。参加者たちは参加したあとから悟ったかもしれない。私が担っていたのは、誰かがそう指示したわけではないが、構造的には、エンジニアたちにプレッシャーをかける迂遠なリストラ策でもあるのだった。

累計40人ほどのエンジニアがこのプログラムに志願して参加した。1か月の間、数日ごとに全員の1on1とその場でのコードレビューとを行い、自己のプロジェクトのマネージャーとしてゲームの各コンポーネントの依存関係解決と開発作業見積もりを行いつつエンジニアとしてコーディングとデバッグとパフォーマンスチューニングとを行う術を伝える。参加者はいわば1人プレイングマネージャーとなって、コンテンツパイプラインやテクニカルアーティストワークフローをも意識した、モダンなゲーム開発の全体像を1か月で経験するのだ。

参加者の多くは、私よりずっと若い若者たちだった。そして、全く同じ条件で横並びの課題を1か月をかけて作成させると、参加者同士で各々のコードレポジトリは直接参照できないルールだがハイレベルな情報交換は許可していたので相互に協力する者たちも現れ、また中でも抜きん出て優れた参加者が浮かび上がってくる。私は、GREEは優秀な若者たちを採用してきたのだなとこの時思った。同じことは、次の年にも別の場で感じることになる。

第1ステージをクリアすると、私含めたガレージスタジオ運営陣の講評を受けつつではあるが、一定期間内で自由にゲームを作ることのできる、楽しい第2ステージが待っている。Wright Flyer Studiosのゲームは開発が難航し何年もリリースされないのが当たり前になっていたのに対し、ガレージスタジオでは、何個もタイトルが連続してリリースされ、しかもグローバルでリリースするので思わぬ国で反響があったり、各国のiOS/Androidアプリストアでフィーチャーされるなど、アプリ開発者としては魅力的な体験を多くの参加者が得られるようになっていた。

第2ステージは様々なゲームモデルや動画広告を含む複数の広告モデルを試したりと、それはそれでゲームメカニクスやマネタイズ手法をめぐる実験として興味深く、裁量を与えられて面白いことを計画できる楽しい経験だったが、エンジニアとしての私にとっては、第1ステージで多数のエンジニアの振る舞いを具に観察できたのが非常に大きかった。参加者たちに助言を行いながら、私自身も同時に多くのことを学んでいた。そこで私が見ていたものは、多数の開発者に、同じものを別々の多様なやり方で実装させる、そんな実験を繰り返して、モバイルゲームに最適なゲーム構造、最適なワークフローを探っていくことに等しかったのだ。1つの山を登るにも、攻略法は無数にある。

開発者にとって何が理解の難しいポイントなのか、どのように伝えたり考えたりすれば理解が早くなるのか。会社の目的であるネイティブシフトなる題目とは別のアジェンダをもって、私は自分の好奇心を満たす研究のためにデータを収集していた。技術的には、Cocos2d-xとUnityの内部構造としてのグラフィックスパイプラインを始めとしたゲームエンジンの各部品の構造について理解を深めることにもなった。

会社経由で、ゲーム開発に関する教科書を書かないかとの話がやってきたのは年が明けて2015年の3月のことだ。それまで会社のblog向けに文章を書いていたり社内イベントでしゃべったりしていたのと、当時の私は直接開発現場に入っているわけではなく時間的余裕がありそうに見られたこと、また人に物事を教える立場にたまたまいたこともあり、GREEの宣伝にもなるとのことで、私に白羽の矢が立った。

最初に話をもらったときは、ゲームに必要な数学や物理の知識をまとめた教科書的な本を書いてほしいとのお題が設定されていた。そこで私が思ったのは、数学や物理の原理は一朝一夕で変わるものでは全くないから、需要に応じた供給がなされ、解説の良書が既に数多あるはず、ということだ。それらの後追いで車輪の再発明をしてみても、意義があるとは到底思えない。

それよりも、折角の機会なのだから許される範囲内で自分のカラーを出し、世に主張を問うとともに、今現在助けを必要としている同輩の開発者たちにとって糧になる内容に振り切りたい。これまで、何人もメンバーがいるチームで開発を行ってきたが、今回の書籍執筆プロジェクトは久々のソロ活動で、出版社の助力をお借りしつつも、0から1を1人で計画して創り出すことになる。

ゲーム開発について言いたいことは山ほどある。それも、単なるゲーム開発ではなく、モバイルゲーム開発だ。効率性が重んじられるモバイルゲーム開発は、コンソールゲーム開発の単なるサブセットじゃない。短距離走と長距離走が違うように、別のアプローチが求められる。私はそのことを声を大にして言いたかった。あのJohn CarmackもGearVR向け開発に際して述懐するように、技術的にもモバイルプラットフォーム向けのゲームアプリ開発には特筆すべきポイントが存在する。

また、使えるものは使い倒し、最も効率的で賢い方法で開発するのが私の好む方法だ。肥大する開発コストを抑制し、資源を集中させるべき箇所に集中させる。私は、人が手を動かす手間の要る工程をパイプラインの中に組み入れてその人自身の仕事の余地を作り出しているようなエンジニアリングのやり方が嫌いだ。Googleなどが推進するように、機械で完結する自動化を進めるのがあるべき道だと思っている。ゲームエンジンの導入はその第一歩だ。

エンジンによってはソースコードが利用できないといった制限はあるものの、高速なプロトタイピングから本開発までのハイウェイがそこに見えているなら、その道に乗るのが現代のゲーム開発者というものだ。Unityは何故現在の姿をしているのか、流れる水が岩を丸く磨くように、その仕様には必然性がある。

Webゲームではなく、Android/iOSネイティブゲームの開発が主流になってきて、ゲームアプリ開発現場でコンソールゲーム開発者の経験が重宝されるようになってきてみると、コンソールゲーム開発経験を持たないエンジニアは差別を受けることになる。差別という言葉が強すぎるならば、大して変わらないが、「必要以上にネガティブなバイアス」とでも言い換えればよいだろうか。その影響を受けたのは、私自身の待遇も含まれる。コンソールゲーム開発の内実を知らない無知な者ほどそのバイアスにより強い影響を受けるから始末が悪い。

技術的な内容を理解できない者から見ると、数式を使って3Dグラフィックスを操ったりしていると、何かとてつもなく凄いことをやっているように見えてしまうのだ。実のところ、私が『ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで』という本を書いた原動力は、その風潮に対する歯軋りするような悔しさや、自分が直接ゲーム開発現場に入れないときの行き場のないフラストレーションといったネガティブな感情が、その大きな部分を占めている。

この1冊の本の中に、コンソールゲーム開発者とそれ以外の開発者とを隔てる最も難解な障壁を乗り越える方法が系統立てて書いてあるとなれば、きっと需要があるに違いない。誤解や非難を恐れず大胆に換言するならば、コンソールゲーム開発者という職業を成り立たせている最低限の能力の核心とは、本1冊の中に収まる、せいぜいその程度のものなのだ。曲線を使うと、連続的なデータをCPUを使って圧縮できる、とかそんなような着想がまずは得られればよい。

コンソールゲーム開発者のトップ集団に入るための知識をマスターするには全く足りてはいないが、『ゲームアプリの数学』に書いてあることを1つ1つ咀嚼してゆけば、ここを起点として学習を進め、やがては一般的なコンソールゲーム開発経験者に遜色ない活躍ができるはずだ。デバッガー等のツールの使い方の習熟は、単に経験の量に依存するにすぎない。

教育的な意味では、読んだことが頭に入って定着しやすいよう、エピソード記憶的に物語のように個々の概念が順につながっていき、最後にシェーダーというツールに結実する展開を印象づけることを目指した。私自身がゲームの仕事を始めてから数学的概念を学び直した時に、プログラマーらしくオブジェクト指向のオブジェクトとメソッド/APIのようにして数学の演算を理解していったので、学校教育での数学とは違った角度の、プログラマーから見た数学という視点も採り入れた。

1冊の本に入れられる知識の量には上限があるのと、誰でもいつでも検索ができる今の世の中なので、枝葉末節の部分は最低限の記述に留め、自分で調べることを促すようにもした。検索エンジンにより調べる手間が極小化した現在ですら自分で調べることを全くしない人間は成長の機会を逸しており、いつまでも成長できないものだ。

私自身、このインターネットの時代に書籍が果たせる役割は限定的だと思っていて、本は一定量以上の情報をまとめただけのあくまで起点にすぎない。強い酒のように力のある濃縮された本を読んだあとは、検索の種になる単語を手がかりに、ネットの海のより広い情報や最新の議論をチェイサーとしてあおり吸収してゆく、そんな流れが現代の本の楽しみ方ではないか。

編集者の方が言うには、あるゲーム開発者が通勤電車の中で原稿を書き進めて3か月で本1冊書けたとのことだったが、全くそんな期間で書ける気はしなかった。どうせ書くなら最初から最後まで自分の好きなように書きたかったので、会社と交渉の末、本は個人として出版社と契約し書くことになった。

自分にとって最初で最後の本になると思えば、Unityを題材としてゲームアプリ開発者の就職に有利な内容を中心に構成するとしても、スマートフォンのハードウェアや、ゲーム開発者が意識すべきチーム開発や開発効率の話など、自分の好きなことや言いたいことの要点は全て詰め込んでおこうと思った。

5月の頭から書き始め、ほぼ全ての章にUnity上で動作するC#やGLSLのサンプルコードを作って付けるようにした。本文は書けているのに、コードが意図したとおりに動かず手こずることもあったものの、プライベートの時間は全て書くことにつぎ込んで書き通していった。コンピュートシェーダーがGLSLでは動かない等の理由でサンプルを削ったり、時間がどうやっても足らないために書くに至らなかった章もあったが、結果的にはちょうどよい分量に落ち着いたと思う。

そうして個人としては本の執筆作業に打ち込みつつも、会社ではガレージスタジオでのポジションにやり甲斐を感じるところもあった。しかし、ガレージという仮構にはやがて役目の終わる時がやってくる。新たに研修に来るエンジニアがほとんどいなくなり、GREEのネイティブシフトがほぼ完遂となった頃、私にまた新たな命が下った。

ガレージスタジオで物事について考える時間ができ、本を書きながら理想のモバイルゲーム開発をじっくりと考え抜いてきて、今度こそはGREEの将来を担うゲームタイトルの開発現場に戻れるものだと思っていたので、次の異動先でのミッションを告げられた時は開いた口が塞がらなかった。

New World Order

私の次の仕事は、傾いていたGREEの米国事業の帳尻を合わせるために、米国支社のエンジニアたちから既存ゲームの運用を引き継ぐというものだった。それは唐突に降って湧いた業務だったし、私個人の志向とは何ら関係なく、会社によって手が空いているとみなされた私に充てがわれた仕事だった。

2015年の夏、GREEの米国支社であるGREE International, Inc.(GII)があるアメリカはサンフランシスコに私はいた。

グローバルなITのメッカであるカリフォルニアのサンフランシスコ・ベイエリアで仕事をする、その字面だけを見ればわくわくするような響きがあるかもしれない。しかし、私にとっては、気分が暗くなる展開だった。

China BasinにあったGIIオフィス
それは、我々が米国支社に送られることになった理由が、決してポジティブなものではなかったからだ。世界中から最高のソフトウェアエンジニアたちが結集するベイエリアの一等地に存在する米国支社で雇っているエンジニアの給与や諸経費が高いので、その連中をレイオフするか成長の見込みのあるプロジェクトに移し、比較的給与が安く余っている我々日本のエンジニアで古いプロダクトの運用を代替するのがプロジェクトの狙いだった。要は、我々日本人が、米国での事業のアウトソース先となったのだ。

同じような仕事をするのにもかかわらず、我々はより安い代替品として扱われている。わずかながらでもプライドのようなものが我々にあったとすれば、それを完全に打ち砕くような、会社都合の容赦ないスキームが展開されていた。頭のなかではそのロジックに納得できても、屈辱的とでも表現せざるをえない感情が全く無かったと言うと、それは嘘になる。

誰かの失敗の尻拭いをすること自体は企業のなかで働く以上当然のことなのかもしれないが、何故それが私の役目になるのか、この未来のない作業をやることで自分に何の足しがあるのか、との重苦しい思いがあった。しかし何故そうなったかという問いは無意味で、いくら闇に問うても答えは期待できない。

なぜなら、私が単にそこにいて手が空いていたというだけの理由で私にその役目が回ってきたのであって、そこには何の意味もないからだ。誰か特定の人の悪意があった結果私の境遇がそうなっているとか、そういう単純な話ではないのだ。会社員歴が短く、かつ養う家族のいない独り者である私は、組織とは、法人とはそういうものなのだという諦観を受け入れ嬉々として与えられた作業に取り組めるほどには社畜化しきれていなかった。仕事に手を抜くことはないが、しかし会社の支配を自己の精神に内在化することまではできない。

ゲームのアートやシナリオのようなコンテンツ制作は、市場にローカルなセンスや文化に紐付いているところがあるが、エンジニアリングは本来、中立的で普遍的なものであり、真に先鋭的なものを除けば世界中どこにいる者でも対応できるはずだ。MONPLA SMASHのときはそのことを利用して日本から外に出ていく夢があったが、今回のミッションでは逆に、会社の余剰労働力として、上流から降ってきた仕事を充てがってもらっている下請けの構図の中にいる。

グローバライゼーションの初期段階におけるアービトラージといえばそれまでだが、遅ればせながらその流れを下流で体験してみると、グローバル資本主義に組み入れられるとはこういうことなのか、と合点が行く。Lunascapeにいた頃から自社開発にこだわっていたはずが、いつのまにか私はGREEという大企業内部での受託開発者に成り下がっていた。

IT大企業は、インドや東南アジアなど、人件費の安いところへ作業をアウトソースするのが今日では一般的であり、日本のモバイルゲーム業界でも活用されて久しい。しかし、日本人にとって、そのシステムをアウトソース先としての向こう側の役割で経験することはあまりないだろう。

机上の知識としては、グローバルな格差が存在することは知っていたが、スタートラインから負けている感覚を自らの身に起こることを通じて体感すると、看過できないものとしてそのことが意識に上るようになる。アウトソース先の国で仕事を請ける人々はこういう感慨を持って生きてきたのだろうかと思うところがあった。情報が溢れる現代であってみれば、自分がエコシステムの下流に位置しているのだという強烈な認識と、上流への渇望とを、大多数の者が日々感じているはずだ。

GIIでは、現地のエンジニア達から、現状のシステムアーキテクチャーや、歴史的事情に起因した暗黙のノウハウについて講義を受け、文書化していった。バグフィックス等の軽微な作業から始まり、現地のチームに混じって一緒にフィーチャー開発を行い、日本側への知識移転を進めた。

私はAndroidクライアントのチームに参加し、先方のリードエンジニアと向き合いで話を聞いていくのだが、専門的なエンジニアリングのことならいくらでも話せても、いわゆるどうでもよい世間話、Smalltakならぬsmall talkを英語で話すのが苦手でそこをどうにかしなければならないとその時気づいた。機械を扱うソフトウェアエンジニアといえども、人間の印象の大部分はそういった日常的コミュニケーションから醸成されているものであり、英語を使ってビジネスを円滑に進めるためには決して看過できないポイントだ。

GIIはベイエリアの東の湾岸にあるオフィスビル施設China Basin内に入居しており、毎日市営鉄道MUNIで通った。上下にDropbox社が入居する広壮なオフィスフロアは絵に描いたようなアメリカのスタートアップのそれで、六本木ヒルズの地味なオフィス空間とはまた別の迫力があった。

運営しているゲームの巨大な壁画がそこここにあり、うなるほどに種類のあるカラフルなシリアルや菓子やソフトドリンクや果物からなる無料提供の食べ物が社内の何箇所にも置かれていた。日本のカップラーメンも各種置いてあったので、朝は出社すると湯を入れてすすりつつ果物やスナックをつまんだりする毎日だった。昼と夕方にはカフェテリアでケータリングのフードが供されるので、ランチにどこか洒落た店に行くのでもなければ、独身者は1日中会社で仕事に集中し家に寝に帰るだけの生活を完結させられる。昼過ぎにはカフェテリアで卓球に興じたりゲームをやったりする社員たちの平和な光景も見られた。そして、18時頃、まだ明るいうちに、オフィスにはほぼ誰もいなくなる。日没は20時頃なので、暗くなる前に街に出て遊ぶ時間は十分あった。これに比べると、単に重視しているポイントが違うだけかもしれないが、日本という国はまったく豊かな国ではないのだなあという、First World problem的な気づきがあった。

広大なアメリカの都市にしてはサンフランシスコはコンパクトで凝集されており、かつ変化に富む。重苦しい仕事のことを忘却しようとするかのように、坂の多い街を休日に朝から晩まで自転車で走り回った。道路には自転車レーンが有り、西に東に移動するだけでも楽しい。真夏でも蒸し暑くはなく、昼間はTシャツで過ごせるほどの気温で、日が落ちると上着が要る程度に涼しくなる。空は、霧が出る時を除けば、抜けるほどに青い。蒼天の下で、無心に寛げる土地ではある。

GIIオフィスのカフェテリア
GIIオフィスのカフェテリアからAT&Tスタジアムを望む
GIIオフィスに溢れるフリーフード
私は外国で働きたいとの希望は全く無かったので、それまでアメリカの就業環境について全く無関心で無知だったが、その只中に短期間ながら身を置いてみると、ここまで東京と違うものかと愕然とした。ソフトウェアエンジニアが貴族のように我が物顔に振る舞う世界がそこにあった。それは、自分の生まれた土地や家族について何のしがらみもない者でプログラミングの心得が多少あれば、自然にこの街を目指すよなあと納得が行った。

全てのソフトウェアエンジニアは、大リーグ挑戦的な感覚でベイエリアを目指す。成長期のGREEやDeNAで、自分よりずっと早くに海外事業でサンフランシスコに赴任していた人々も、皆同じ思いを先に経験してきていたのだろうかと思うと、遅れて自分も同じ道程を急ぎ足で歩んでいるのかと感慨深かった。コンテクストは全く異なっており、今となっては兵どもが夢の跡だが。

古代文明に思いを馳せるかのように、この遺跡にもかつては生き生きと目を輝かせた若者たちが参集していたのだろうと脳裏に思い描くのだった。GREEやDeNAだけでなく、世界中からこの地に集い、そして夢破れた者たちは、今日もどこかに潜んで虎視眈々と再び目覚める機会を窺っているのだろうか。そんな、歴史的、考古学的な眼差しの思惟をくすぐられる日々だった。

現地で働くソフトウェアエンジニアによると、金を稼ぎたいなら、ゲーム開発はやめて別のことをやるべきとのことだった。日本のIT業界であればモバイルゲームくらいしか稼げる手段がなかったところ、アメリカではそうではないらしい。国外からやってきて大企業に入り、ベース給与とボーナスで数千万円の給与を得るエンジニアもいるという。GIIにも中国やその他の国からやってきたエンジニアたちがたくさんいた。

そんな環境の話をネット上の文章で読んで知ったつもりになっていても、事情を知る人に現地であらためて話を聞くと、人間不思議なもので、より心に響く。どこか遠い国の縁のない話ではなく、地続きの場所でのエキサイティングな話題であるかのように思えてくるのだった。

サンフランシスコにて、ヒッピースタイル
緑溢れる公園の燦々と照る日の下で大麻を吸うような享楽的で刹那的なアメリカ西海岸の生活があるのと並行し、切れるように鋭い才能達が世界中から集って技を競い研鑽しあっている。会社の都合による解雇は日常茶飯事だが、実力が有りさえすれば引く手数多で勤め先には困らない、雇用流動性がある。そんな場所を目指して、世界中で血の滲むような努力をして学業に励んでいる若者たちがいる。

そこには、陽気で楽天的で山師的なスタートアップ精神と並行して、清々しいほどに青天井のシンプルな上昇志向があり、ともすれば日本で生活の場を確保して内向的に生きる我々が忘れそうになっている野生の感覚が共有されているのだ。

エンジニアリングとは本来普遍的な世界共通言語であるはずなのに、日本にいる我々はそれを内向性を高めるためだけに使っていないだろうか。日々、海外で生まれたサービスを利用しながら、そのサービスによる支配を受け容れることに無自覚になってはいないだろうか。勿論、無自覚で知らないが故に生まれる成果もあるだろうが、私は自分の立ち位置くらいは知っておきたいと感じる。

GIIが運用していたゲームのうち、稼ぎ頭であるCrime City、Modern War、Kingdom Ageの3タイトルのエンジニアリングの全てとイベント企画とを日本に移すことになっており、そのうちKingdom AgeはiOS版しか無かったので、私はCrime CityとModern WarのAndroidクライアントのコードを主に見ることになった。

サーバーはiOSとAndroidの両方で共用のAPIを提供していたが、クライアントはiOS版が先に作られ後に全く別のチームがAndroid向けに同じゲーム仕様のクライアントを作成した関係で、iOSチームとAndroidチームは別個に開発を行い、コードベースに共通の部分が全く存在しない状態だった。かろうじて同一プラットフォーム上では3ゲームタイトルはコードベースを共用するも、各タイトルに別個の独自拡張が加わっていたり、一部のモジュールのバージョンが異なっていたりあるいはそのモジュール自体が入っていたりいなかったりで、混沌の様相を呈していた。

海外で開発されたモバイルゲームは近年のものであってもUnityやCocos2d-xといった既製ミドルウェアを使わずに独自のフレームワークを使って開発されたものも多い。大手のコンソールゲーム開発会社は元々独自にエンジンを構築する文化があるので、そのままモバイルゲームにもそれがスライドしている場合もある。いずれも、C++で書いて、OpenGL ESを叩き、プラットフォーム機能やサードパーティSDKとの繋ぎ込みにJavaやObjective-Cを使う。しかし、古いモバイルゲームの場合はそうではなく、JavaやObjective-Cで全て書かれておりプラットフォームのUIウィジェットを主に利用しているものもある。

GIIのゲームのAndroidクライアントは独自に開発したOpenGL ESのラッパーライブラリー(iOS版には存在しない)と、キャラクターアニメーションシステム、プラットフォーム提供のウィジェットで構成されたUI、そしてネットワーク通信ライブラリから成っており、OpenGL ESのラッパーやアニメーションシステムは開発者が既に辞めて誰も開発を引き継いでいない技術的負債と化していた。

継続的にゲームエンジン部分をアップデートできる人材を確保する力を持たない企業にとって、技術的負債を抱えることは致命傷となる。独自ゲームエンジンの開発に失敗し、既製ゲームエンジンの採用にも踏み出せなかった、エンジニアリングに関するガバナンスが十分に行き届いていない会社の末路は哀れだ。本来は、ハードウェアのパフォーマンスを余すところなく引き出すためにゼロから組み上げたエンジンのはずが、高度化する開発要件に耐えられなくなり、陳腐化し、育児放棄されて路頭に迷い、いたずらにリソースを消費するだけの餓鬼と化す。

汎用の既製ゲームエンジンに勝るところが1つも無くなり進化が停滞した独自ゲームエンジンは、開発者の自己満足の実現としての稚拙な玩具以上のものとはなりえない。ワンオフの売り切りゲーム作品ならともかく、長期に渡って維持されることが見込まれるサービスとしてのゲームにおいて、持続可能性を考慮しないアーキテクチャーは単純に言って悪だ。

サーバーサイドは外部サービスを積極的に利用するなど開かれたシステムを構築する努力がなされており継続的な刷新が行われていて日本のシステムより進んでいる部分も多く参考になる点もあったが、クライアント側は率直なところ目を覆いたくなるような惨状だった。エンジニアとしては、レガシー技術を扱って時間を浪費することは、端的に言えば経歴上の汚点となるリスクすらある。

一般アプリの開発には役立つかもしれないがゲーム開発にとっては本質的ではないAndroidプラットフォームの特性を、これからこのプロジェクトの技術的負債を背負うために学ぶことが未来の自分の糧になるとは到底思えず、自分が書き進めているGPU上での3Dリアルタイムグラフィックスが主題の本が表現する理想の内容と、手元の業務の現実とのあまりの乖離が、心苦しかった。

これはひょっとすると、会社をもっと早くに去っていった元同僚たちのように沈む船に見切りをつけて新天地へ飛び移る勇気のない臆病者への罰なのだろうか。GREEでの仕事に深く共鳴していたことも一時期あっただけに、仕事は仕事と割り切って処理できない自分がそこにいた。

そんな思いを抱えながら、昼は会社の仕事をしつつ、夜は自著の校閲確認、加筆修正、レイアウト確認を行い、最後に前書きを書き上げて日本の編集者さんに送った。私は普段は極めて朝が弱く昼からしか頭が回らないが、サンフランシスコ滞在中は何故か目が冴えてそこそこ早く起きることができていた。そうして本が日本で仕上がってゆき、また米国支社での技術移転も滞りなく完了していった。

サンフランシスコでの最終日、現地のエンジニアたちとのスタンドアップミーティングで、お別れの挨拶のときに、私は"Learning a new trick is always fun"と述べた。レガシー技術を扱わされる皮肉を言ったつもりは毛頭なく、多角的に見て本当に面白い、実りある経験だったと思えるようになっていた。

この経験は何かの役に立つ時が来る。あるいは、役に立てられるように、自分自身を仕向けていかなければならない。私は、転んでもただでは起きない。

ゲームアプリの数学

サンフランシスコでの業務引き継ぎを終えて帰国後間もなく、私の30代最後の誕生日に『ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで』が出版された。

当たり障りのない内容ではない、偏ったものにするつもりで始めから書いているから、本について褒める評価も貶す評価もそれぞれ興味深く受け取った。どんな反応も、沈黙よりはマシなのだった。

後日、韓国語への翻訳版も出版され、全く交流のなかったUnity Technologies韓国支社のエンジニアの方が寄せて下さった推薦文が私の狙いに100%合致する的を射たものであったのを知ったとき、この本を書いて本当によかったと思えた。

本の宣伝のために、様々なイベントで話すこともした。4年ぶりにお会いした現HoloEyes CEO&CTO谷口直嗣氏に頼み込んで出していただいた「Unity Rendering Wizardの集い」でのLTを皮切りに、主催の佐野岳人氏にお誘いいただいた「第5回 プログラマのための数学勉強会」でもLTを行った

本を書いて情報発信することで、これまでお会いする機会のなかった方々とお話できて自分自身も見識を拡げることができるとその時知った。3Dリアルタイムグラフィックスの教科書として、ゲーム業界外のヴィジュアル・アートの現場でも参考にしていただいているのを聞いたりして、想定していなかった広がりに驚くこともあった。

この時期の、自分の勤務先での仕事と関係ないことで強く印象に残っている体験として他に、2015年11月に渋谷のサイバーエージェントのオフィスの一角で開催されたCygames Tech FesというCygamesの技術を紹介するカンファレンスへの参加がある。

私は自分が書いた本が広く業界内外の開発者の役に立ってほしいと願っていたので、様々な方面に献本させていただいていて、当日お話する機会のあったCygames CTOの芦原栄登士氏にもお送りしていた。開発陣による重厚な発表の数々を傾聴していると、アーティストの要望に応じてUnityをカスタマイズしツールを作成して開発体制を整えたり、モバイルプラットフォーム上での3Dグラフィックスの課題に真摯に取り組んでいたり、コンソールゲームを含む先を見据えた技術開発を行っていたりと、商業的成果を伴いながらまさに王道を突き進んでいる感があり、私が書いた本の中の理想を地で行くような会社も日本に存在していたのかもしれないと思わせられた。

「第5回 プログラマのための数学勉強会」にて
2015年末にはGREE主催の「GREE GameDevelopers' Meetup 02」で講演を行った。このときの講演内容は、『ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで』で扱えなかったトピックと、最新のコンソールゲーム開発技術動向、2020年を見据えた未来予測など、私の趣味丸出しで通している。

会社主催行事で会社の内容チェックを通した上で話すので業務の一環ではあるにせよ、日常の仕事と全く関係のないことを好き勝手に人前で公然と話せ、また来場していた方々と有意義な情報交換ができてすこぶる愉快だった。

同時期に著作を出版され講演者として来られていた現ロジカルビート株式会社代表取締役の堂前嘉樹氏にコンソールゲーム開発や独立の話を伺ったり、私の講演が機械学習のゲーム開発への応用に触れたところでもう1人の講演者の東海大学の向井智彦先生にまさにアニメーションのための機械学習の利用が現在研究されつつあると教えていただいたり、自分も話をする立場ではあっても、お会いした皆さんにたくさんのことを教えられ、一杯飲みながら気づきの機会を与えられるようなことばかりの、大きな収穫を得られた場だった。

Full Circle

2016年に入り、日本でGIIタイトル群のエンジニアリングの全てとイベント企画とを安定的に繰り返し実施することができるようになってきたところで、私にある技術的チャレンジを行う機会が与えられた。

そのチャレンジとは、AndroidとiOSとで全く別々のクライアントを別々の人員で開発・維持するのは車輪の再発明以外の何物でもない非効率な営為なので、クライアントを統合し、1回の開発で両プラットフォーム向けのコードを生成できるモダンなミドルウェアを用いたクロスプラットフォーム開発への移行を目指すというものだった。

それまでイベントに合わせたAndroidクライアントの改修ばかりやっていたところから、私だけの1人プロジェクトに移り、AndroidクライアントとiOSクライアントの両方のコードベースを調査しつつ可能なオプションを探ることになった。

私は、クライアントの統合に自分が好きなUnityを使いたかったが、事業責任者との協議の結果、オープンソースのゲームエンジンであるCocos2d-xを使い、既存部分を保全したまま漸次統合するとの保守的な方針が採用された。Cocos2d-x自体が、C++で書かれたクロスプラットフォームのAPI実装と、OpenGL ESなどのプラットフォーム依存機能を制御するJava/Objective-Cで書かれたプラットフォーム依存コードから成るので、そのCocos2d-xのプラットフォーム依存コードの中に、Android/iOSそれぞれの既存ゲームクライアントコードを混ぜて接合していくことになる。

このサブプロジェクトに取り掛かることによって、ゲームの定期的なフィーチャー開発と運用のサイクルから一旦離れ、自分の決めたスケジュールで久々の技術的チャレンジに取り組めた。その活動には、長く呼吸を止めて泳いだ後の息継ぎに等しいリフレッシュ効果があった。自分なりに実証コードを書いてある程度成功を確信してはいたものの、途中で予想だにしなかった障害が起こらないとも限らないリスキーな冒険でもあり、そのスリリングさも含めて楽しむことができていた。

GREEのオフィスフロアにはだだっ広い休憩室があった。私が入社した頃は休憩室は六本木ヒルズ森タワー12階のちょっと広いスペースに過ぎず、毎週金曜日夜のフライデーパーティと呼ばれる無料立食パーティもそこで開かれていた。最も会社が拡大した時期にその部屋は巨大な空間に拡張され、希望退職者募集と時を同じくしてフライデーパーティが廃止された後も維持されていた。

ある時期まで、休憩室には深夜まで人が多く残って何かやっているのが常だったが、2015年には22時も過ぎればほぼ誰もいないようになっていた。新卒で入社する社員たちにとっては安定した大企業としてブラックな働き方などありえないことだったのかもしれないけれど、私のような中年中途入社組にとっては会社のカルチャーもこんなに早く移ろってゆくものなのだなと、深夜まで煌々と明かりのついていた不夜城の昔を懐かしむ心持ちも少なからずあった。

たった5年経てば、ここまで変わるのか。あの頃この部屋にいた誰も彼もいなくなって、私だけが今ここにいる。諸行無常を噛み締めながら、真っ暗な空間で独り深夜まで、問題解決の糸口を掴むための仮説検証コードをXcodeやAndroid Studioのデバッガーを使って繰り返し繰り返し試行した。

24時回って休憩室の広い空間を真っ暗にし1人で使う
どうにかCocos2d-xを使ったクライアント統合に目処がつき、実際のゲームに組み込むことができそうになった頃には、CEDEC発表の公募締切である3月に差し掛かっていた。

CEDECは日本最大のゲーム開発者会議で、私が初めて参加したのは2014年のことだ。私がやったモバイルゲームのクライアント統合は、2016年初頭に既に人気が衰えつつあったCocos2d-xを使ったもので、しかもレガシーであり技術的負債そのものであるピュアAndroid/iOSで構築されたゲームクライアントをどう処理するかという後ろ向きなトピックだった。しかし、紛れもなく私1人で最初から最後まで仕上げた成果と呼べるものではあった。

そこで、こんな機会は後にも先にもないかもしれないと思い、上司の了解を取って、Cocos2d-xによるクライアント統合の講演でCEDECの公募に応募してみた。ニッチで狭い聴衆にしか届かない専門的トピックかも知れないが、一巡りして成熟を迎えたモバイルゲーム業界であってみれば、実際に切実な課題として抱えていたり、あるいはゲームエンジンの中身への知的好奇心であったりで、興味を持つ人々は必ずいるはずだ。

幸い私の講演は採択され、8月のCEDECで発表できることになった。応募の際に記載した概要は、Cocos2d-x組み込み技術が技術的に確立した段階で構成したものだが、その時点ではまだ実際のプロダクト上にはデプロイされておらず、実際に実装してみるとCocos2d-x組み込み対象となったAndroid/iOSクライアントのコードベースとの実行時の干渉が見つかり、修正に手間取った。

Cocos2d-xを既存のAndroid/iOSクライアントへ組み込む際には、巨大なAndroid/iOSコードベースとCocos2d-xソースコードとを読み込んで解析し、各々を調和させるために相互のコードベースに適用する変更を最小限とする非侵襲的な方法を探ることになる。Cocos2d-xがバージョンアップしても更新に支障が無いよう、細心の注意を払わなければならない。本流に還元できない変更を加えたCocos2d-xのフォークを維持するような無駄なことはしたくなかった。

そうして大量のコードを長い時間をかけて解析し、解法を見出して実装してみると、思い至ったことがあった。

この作業は、昔Lunascapeで従事していた仕事の内容とほとんど同じだったのだ。必ずしも組み込みを想定していない既存のWebブラウザーのエンジンを解析し、なだめすかして競合部分や2つのイベントループを互いに調停し、関係のないコードの内部へ埋め込んでいく。

5年も経っているのに、まだ私はこんなことをやっているのか。

私にはこの黒魔術的な作業の勘所がわかるので、効率的に進めていくことができた。当然だ、似たようなことを昔やっていたのだから。昔取った杵柄という奴だ。そう悟ったとき、私は愕然とした。忘れかけていた忌まわしい記憶が封印を破って甦ってくるかのようだった。

自分はひとかどのゲーム開発者になったつもりでいたが、いまだに過去の遺産を食い潰しているだけ、釈迦の掌の中で踊らされているだけだったのだ。『仮面ライダー』で主人公が悪の組織で改造されることによってしか力を得られなかったという矛盾を孕んでいたように、私もまた過去に生かされていた。そのことを自覚した時、因果の巡りの円環が閉じる音が聞こえた。一周して元の場に戻ってきたのだ。

そのとき私は、GREEでの自分の仕事が完了し、もうこの場に自分が貢献できることは何も無いことをはっきりと自覚した。あるいは、既に心の底ではわかりきっていたことを、自分に納得させる理由付けがはっきりした、というべきか。モバイルゲームを造る秘法の習得は済んだ。可能な限り一刻も早く職を辞して、この場を去らなければならない。

2016年8月、CEDEC 2016で「Cocos2d-xの深層 Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合」と題してAndroid/iOSクライアント統合についての講演を私は行った。

講演者アフターパーティでは、高校の同級生の明治大学・宮下芳明教授と再会したり、アマゾンウェブサービス(AWS)のソリューションアーキテクト森祐孝氏やスクウェア・エニックスのAI開発者・三宅陽一郎氏とお話する機会があり、愉快な一夜だった。その場に立っていられることができて本当によかったとしみじみ思った。

仕事内容は望んだものではなかったにせよ、GREEという大きな会社の看板とマテリアルを使って発表できているのだから、会社に対しては感謝の気持ちでいっぱいだった。会社に筋を通しさっぱりできる区切りのイベントがあってよかったと思った。そのイベントが終わった以上、後に思い残すことは何もなかった。

CEDECでの講演が済んだことは私の中では重要な事件だったが、その他に、私に転職に本気で乗り出すことを決意させたものが、もう1つある。

それは、『Pokémon GO』だ。2016年の夏を席巻した世界的現象に嫉妬しなかったゲーム開発者はいないだろう。私が考えるに、ARとか位置情報とかいった表層的な機能以上に重要な決定的要素は、Google Maps由来のビッグデータと、任天堂由来のビッグIPとの、2つの蓄積された歴史的影響力の融合だった。

2人の巨人が手を結んで実現した、夢のタイトル。夏の花火のように散っていく虚無的なゲームから、社会を動員するゲームへ。その、圧倒的な力の拳が天から降り注いでくるような勢いに、完膚無きまでに負けた気がした。子供同士の喧嘩の場に突然大人がカジュアルに割り込んできたかのような衝撃があった。ゲームというメディアが現代において持ちうる、人々を突き動かす力を実感するとともに、比類なき高みにまで引き上げられた競争のハードルに畏怖した。

近年、MinecraftやPUBGのようなボトムアップの現象と、Pokémon GOのようなトップダウンの現象が、対照的ながらグローバルなゲーム市場でいずれも巨大な勢力として現れてきている。

このまま、日本市場の一部の層に受けるコンテンツの開発だけに汲々としていてよいのだろうか。金太郎飴やクッキーカッターのようなものの再生産作業は、ゲームの世界地図、ゲームの歴史の文脈上では記録に残らずなんの意義もない泡沫にすぎない。

単なる普通のゲーム会社ではない、インターネットの会社を標榜してきたのがGREEで、ゲームの定義を広げ万人の生活に影響を与えるような何かを私はずっと見たかった。しかし、GREEが凡庸なゲーム会社になろうと足掻くうちに、ゲームの定義を拡張し進歩させるものを象徴的にも商業的にも成し遂げたのは、任天堂のIPを借りているとはいえ、伝統的ゲーム開発会社ではないNianticから2016年に登場した『Pokémon GO』なのだった。

世界は広い。私は、もっと広い世の中を見てみたくなっていた。

前回の転職活動が不首尾に終わって以来ゲームの分野に専念してきたつもりだったが、そこだけに意識を集中していては視野狭窄に陥る恐れもある。Steve Jobsも勧めるように、成功体験への執着を捨て、もっと自由になろうと思った。輪廻の末に生まれ変わるようにして、次を探さなければならない。老若男女がアクセスできる力が、この先姿を現してくるとすれば、それは一体何なのだろう。私はそれを知りたかった。

流転

CEDECが終わって秋となり、私の不惑40歳の誕生日がやってきた。40代の10年サイクルを気分一新して開始するべく、3年ぶりに私は転職活動を始めた。

手始めに情報を収集しようと思い、以前会ったことがあり時々案件を送ってきてくれていた六本木の転職エージェントがちょうど新しい案件を送ってきたので事務所に話を聞きに行った。提示された企業はだいたい予想のつくような会社だったが、前回転職を検討した頃とは市場環境も変化しており、私自身のキャリアも進展しているので、何か違うところがあるか確認する価値はある。

転職エージェントは取引先企業の人事担当者と密に接触しており、一旦履歴書を渡すとその取引企業における独占的窓口となって人事担当者に履歴書を見せそのポジションが適切か、他によいポジションがないかなど確認してくれるほか、実際に入社試験に辿り着いた場合は様々な試験対策を施してくれるので、正しいエージェントを選択することは非常に重要だ。

ただし、エージェントが誤った情報を持っていて翻弄されることもあるので、そこは信じすぎて対策を怠らないように注意しなければならない。私は個人でやっていると思しき怪しげなエージェントを除き、ほとんどの比較的まともなエージェントやヘッドハンターと話した経験があり、彼らのやり口はよく知っているつもりだ。

私がゲーム業界かどうかに関係なく案件を知りたいと話したので、六本木のエージェントはいくつかの大企業や、外国人が日本で起こしたベンチャー企業などを紹介してくれた。外国人が運営しているフィンテック企業などは日本のスタートアップに比べるとまともな給与水準を維持しているのかもしれないと推測したが、いずれにせよ私の全く興味のない会社ばかりだった。

転職エージェントは技術の内容について無知な者が大多数なので、給与水準くらいしか物差しがないか、自分の担当している企業をランダムに投げつけるだけだ。そして、私は給与が変化しないか下がるような転職はありえないと思っていた。

海外に目を転じてみると、Stack Overflowの開発者調査の結果を見たり、転職者向け企業比較サイトであるGlassdoorPaysaで調べれば、アメリカでソフトウェアエンジニアやその他のIT技術系職種に就いている者がどれだけの収入を得ているかわかる。1000万円を上回る給与が平均で、日本より高いこともある生活費の分の補正を差し引いても、日本での平均水準よりはずっと高い。

また、私が驚いたのは、スタートアップ投資家マッチングサイトAngelListで検索できるような無名スタートアップでのポジションですら、ソフトウェアエンジニアは1000万円以上の給与を約束するポジションが多くあり、要求される技術的水準が相対的に低いであろうフロントエンド開発者においてすらそのような傾向が見られたことだ。加えて、私自身がアメリカで見聞きした実体験があった。

今のところ、どこにでもコンビニが有り便利でクリーンな日本を離れたいとは思わないが、どうにかして給与水準を上げアメリカのエンジニアのそれに近付けたい。それが今回の転職活動の大きなテーマの1つだった。

とはいえ、私自身はモバイルゲーム開発の分野でしばらく仕事をしてきたので、全く関係のない分野で力を発揮できる、あるいは全く関係のないポジションに応募して採用される、そんなことが実現する可能性は、現実的に考慮すると低い。従って、できるだけ自分の持っている強みが活かせる形で転職したい。

客観的に評価して自分とは何者なのか、それを明らかにするために、まずは自分自身で自分の強み、自分の売りになるものを定義しなければならない。

現在勤務している社内では希望しない業務にアサインされる顔のない1エンジニアであったとしても、レジュメに仕事内容が1項目として記載されることによって、それを参照した外の企業にとってはその項目こそがまさに探していた能力の持ち主を示す輝く印になるかもしれない。2-3ページ、場合によっては1ページの簡潔なレジュメを構成することによって、あなたは自分自身を売り込むセールスパーソンになるのだ。

レジュメとは、職務経歴や外部に発表している成果物などを簡潔にまとめたものだ。いわゆる履歴書であるCV(Curriculum Vitae)よりは短いものとされるが、特に形式があるわけではない。アメリカでは会社によっては書類をロボットで機械的に処理する場合もあるらしく、SEOよろしくキーワードを工夫したりすることも必要とされるが、まずは長すぎずに自分のハイライトしたい部分をまとめるとよいだろう。私の場合は2013年から常にアップデートを行ってきたLinkedInプロファイルをベースに、応募企業に応じて記述を書き加えられるレジュメ用Word docフォーマットを作成しpdfにエクスポートしていた。

LinkedInプロファイルを充実させておくことは、今日の転職活動の絶対的条件といっても過言ではない。私が接触した転職エージェントとの対話の始まりは全て、最初に自分から訪ねたところと直接電話をかけてきた無礼なところ(両方とも同じ系列だ)以外は、相手が送ってきたLinkedInのメッセージかLinkedIn経由のメールだった。また、エージェントを通さない、企業のリクルーター/ソーサーによる直接のコンタクトも起こる。

英語でレジュメ内容をLinkedInに載せておけば、グローバル企業のリクルーターの目に留まることもある。ただし、業務委託されているリクルーターなら試験対策を行ってくれるが、そうでない場合はサポートが無く、給与交渉も自分でやらなければならなくなるので、その企業と取引のあるエージェントを知っている場合は、同じ企業を受けた他の候補者のデータに基づいた試験対策を行ってくれるエージェントを通すほうが無難だろう。

LinkedIn以外に、日本のオンライン人材サービスでは、匿名制のBizReachの無料版に登録しており、グローバル企業のリクルーターからそちら経由でメッセージがあったこともあるがそれはあくまでレアな例外で、LinkedInが中心であることは揺るぎない。Wantedlyは一応登録をしてみたが、私のところにはメッセージが滅多に来ないので、第2新卒にターゲットが絞られているのかもしれない。

日本では匿名制のオンライン人材サービスしか存在しないことは、労働市場における日本と海外との差異を如実に物語っている。日本の芸能事務所でしばしば問題になるように、事務所が主体なのか個人が主体なのか、タレント個人がエージェントを雇う図式の米国とは異なる。その意味で私は、個人が自分のキャリアを自分で築けることを目指すLinkedInの有り様を支持するところだ。

米国では転職が普通のこととされるという。それに対し、転職の機会を伺っている人間をネガティブに評価するのが日本の会社の文化であり匿名性がその要請であると考えられるならば、よりよい待遇を探し幸福を追求する個人を抑えつけるような、全体最適を阻む体制の一部には私はなりたくない。人が転職すると仕事が回らなくなるような企業やその経営者は退場するべきだ。

六本木の転職エージェントと話をした同時期に、かなり前に1度コンタクトを取ったことのある別の人材紹介会社のエージェントとも会った。私に指名でヘッドハンティングをかけてきた会社があるとの話を持ってきたからだ。大手上場企業のゲーム開発スタジオでの新規ゲーム開発の案件で、そのエージェントもゲーム業界専門と自称していた。どうやら、そのスタジオのメンバーが私の本を読んで興味を持ったらしく、半信半疑だったが直接話を聞いてみたいとは思った。

ただ、その企業の件は、話としては堅いし決して悪くないのだが、今までとさほど変わり映えしない1開発者の立場でゲーム開発を続けて40代を過ごし歳を重ねることが今後の自分にとって良いことなのかどうか、私自身の心中には不安があり、またその企業が営んでいた他の事業にもあまり良いイメージを持てなかった。同時に、自分が、何をしたいのか、何ができるのか、何をすべきなのか、それらについて自分の中でもまだ明確に整理ができていなかった。

そこで、そのエージェントには、もらった話は一旦考えておくので、他のゲーム・非ゲーム案件で私に合いそうなものが何かないか調べてくれないかと返答した。指名でもらった安全性の高そうな話を滑り止めにして、可能性を検討していく腹づもりだった。

しかし、2016年も年末に差し掛かると、年末特有の締めを急ぐ慌ただしい空気と相俟って、これは早く話を動かさないと手遅れになってしまうかもしれない、との切迫感が自分の中で大きく成長し始める。

秋以降では、職場のチームの中で私が退職一番乗りかと思っていたものの、蓋を開けてみればチームの同僚は私より先に退職する者が相次いでいた。「ダモクレスの剣」よろしく、現状維持どころか突然の死に向かう危機的状況の渦中に自分は身を置いているのだという意識が高まり胸を圧迫するようになっていった。

どこも余裕のない社内で、他の希望部署へ異動できる見込みは薄かった。米国子会社から引き継いで六本木で開発・運用していた古いタイトル群のパフォーマンスも芳しくなく、米国支社自体の立て直しも上手く行っていないようだった。来日したアメリカ人幹部が、マーケティング調査結果をベースに新規ゲームのゲームモデルを決定したなどと失笑ものの発言をしていて、駄目だこりゃと思った。

結果的に、後の2017年7月にGREEの米国子会社は精算され、GREEは海外でのゲーム開発事業から撤退することになるのだが、この頃から撤退戦ともいうべき動きが開始されていた。

そこで、指名ヘッドハンティングの話を持ってきたエージェントにコンタクトを取り、先方での選考プロセスを開始してくれないかと伝えた。まずは1つでも会社を受けてみて、自分の客観的評価がどの程度のものであるか、実際に確かめてみるしかない。向こうからは渋い反応だった私が突然心変わりしたかのように見えたらしく、どうして実際に応募する気になったのか聞かれたが、そもそも当時は明かせないような事情ばかりだったので、単なる心境の変化であると答えるしかなかった。

そうして2016年末の年の瀬の暗く寒い夜に応募先企業のオフィスを訪問してカジュアルミーティングの場を持った。そこで、何を私に期待しているのか、働く場はどんなところか、先方の責任者やエンジニアの方々と実際に話し合って懸念点を解消していった。

年が明け2017年に入ると面接が行われていったが、多忙な面接担当者がなかなかそろわなかったりスケジュールの都合だったりで、プロセスはなかなか進展しなかった。

そして2017年からは六本木ヒルズにインドからエンジニアたちがやってきた。我々のチームが手がけてきた米国子会社事業の開発・運用業務は我々の手を離れ、最終的に外部の会社にアウトソースされることになったのだ。

アウトソース先の外部会社はインドにあり、秘密裡に進められた交渉の結果を、管理職以外のチームメンバー達は突然告げられた。私は、このプロジェクトが始まった当初から、米国から直接最も賃金が安い他の国にアウトソースするのではなく敢えて日本にアウトソースするのは何故かと訝しんでいたので、その結果には全く驚かず、来るべき時が来たとしか思わなかった。

我々が仕事を引き継いだアメリカのエンジニアたちは、日本の我々のところへのアウトソースのプロセスが終わった後に対価を得て辞めるなり新規ゲーム開発プロジェクトに異動するなりして有意義に過ごしていた。それに対し、余った労働力として仕事を充てがわれていた日本の我々は、引き継ぎの役目が終わったところで単純にお払い箱になる公算が高い。食物連鎖のピラミッドのような構造がそこに現出していた。

米国のエンジニアたちから我々が手ほどきを受けたのと同様に、インド人エンジニアたちに技術移転を行っていく。インド人たちの中には、既に欧米の大手コンソールゲーム会社の海外スタジオで働いた経験を持つ者たちもいた。私は彼らに古いモバイルゲームを運用してもらうことに申し訳無さを感じたし、彼らも中身を見て苦笑していたが、これがビジネスの現実なのだと思うしかなかった。近年では、日本のコンソールゲーム会社もインドへのアウトソーシングを活用するケースが増えている。

そうこうしている間にも、私が受けている入社試験の段階は進んでいった。うまくすれば、GREEでの手元のプロジェクト完了と同時に退職できるかもしれない。そんな見込みも脳裏をよぎった。ただし、試験のプロセスが進むにつれ、気にかかることがあった。

応募の最初にエージェントと希望給与の相談をし、応募先企業にも通知されていたが、エージェントが言うには、日程調整の合間に先方の人事担当者と情報交換したところ、どうやらその給与には届きそうもないという。交渉はするとのことだったが、怪しい雲行きだった。

しまいにはエージェントは、電話口で、私の希望給与について「アプリストアの売上順位上位の会社のリードエンジニアでもこの水準はほぼ見ない」と発言した。

最初からエージェントが希望給与に届かないことを認識しつつ私を誘引したとすれば不実であろうし、あるいは私が最初に書いた希望給与より下でも現職給与よりは上なのでよいだろうとの観点だったのか、実際は定かではない。ともあれ私としては、進むも地獄、退くも地獄の厄介な状況に陥ったとしか思えず、自分が漠然と心に抱いていた不安や危惧は結果的に正しかったと嘆かざるをえなかった。

しかし、乗りかかった船であるので、行けるところまでは行ってみるしかなかった。絵に描いた餅をあれこれ言っても虚しいだけだ。そんな複雑な思いを抱えながらも、数回の面接を経て次の最終面接を待つことになった時、私にとあるヘッドハンターからLinkedIn経由のメッセージがあった。

それは、名前は知っていたが、私がまだコンタクトを取ったことのない人材紹介会社のヘッドハンターからのメッセージだった。提示されている案件は、会社名は伏せられているが、ある企業で新規事業のローンチに携わるというもの。

私には、説明書きからそれが何であるかはすぐわかったし、少し興奮したが、そもそも私の専門分野ではない。モバイルゲーム開発のプロフェッショナルとしてではなく、単なる最新ITニュースフォロワーとしての自分から見て面白そうな仕事でも、また例によってヘッドハンターが適当に手持ち案件を送信してきただけなのだろう。そんな風に斜に構えつつも応募要件を流し読みすると、「長期にわたるモバイルアプリ開発経験」が入っていて、おや、と思った。ポジションはソリューションアーキテクトだった。

かつては、ソフトウェアエンジニアの求人ではないだけで目もくれなかったこともあったが、この時は魔が差したというか、将来に対する不安が極大化していたので、一体ソリューションアーキテクトがどんなポジションなのか調べてみることにした。

すると、仕事内容はよくわからないながら、エンジニアリングの経験に加え、CxOを相手にできる高度なコミュニケーション/ドキュメンテーション/プレゼンテーションスキルが要求されるとあり、人前で喋ったり本を書いたりといった自分の経験も活きそうだ。また、給与レベルもソフトウェアエンジニア同等かより高いレベルらしい。

1エンジニアとして仕事をする中で周囲の環境に翻弄されることに辟易していた私は、自分の強みがより明瞭に活かせ、かつビジネスの制御が握れる職業があるならそれもいいかもしれないと思い始めていた。私は、そのヘッドハンターにコンタクトを取ってみることにした。

次の日に電話でそのヘッドハンターと話した時、念のため、私が興味を持った企業の案件以外にも、私の希望に合致しそうな他の候補を取引先企業の中から探して見繕っておいてくれと頼んだ。

ヘッドハンターが次に探してきた案件は、希望給与を前提として、どれも既に他で推薦されたことのあった大企業のポジションだった。私がその時受けていた会社の別部署も含まれていた。その他は、よくわからない会社のVR開発ポジションだったり、仕事はひょっとしたら楽しいのかもしれないが給与を落とす覚悟が要るものばかりだった。

最初に私にコンタクトを取ってきたときに持ってきた案件についても、ヘッドハンターはその企業と太いパイプを持っているのか、様々な情報を私に伝えてきた。

その企業の人事担当者に私のレジュメを見せたところ、諸事情により別のポジションが私により適しているかもしれないと新しく提案されたとのことで、それは別部署のソリューションアーキテクトだった。確かにそちらの方が要件は私の持つ経験と一致する点がより多くありそうだが、元々私が興味を持ったポジションとはそもそも別のものなので、私は懐疑的だった。

しかし、挑戦してみる価値はある。ソフトウェアエンジニアやゲーム開発者としての試験ならある程度あたりもつくと思っていたが、自分にとって未知の領域なので、確度を高めるべく、最初に提案されたポジションではなく新たに提案された別ポジションに的を絞ることにし、仕事内容や待遇について細かい質問を送った。

そして回答された条件は、申し分の無いものだった。これは、何が何でも食らいつかなければならない。返信を受け取った翌日、そのポジションに応募して直ちに選考プロセスを開始してもらうようヘッドハンターに依頼した。

そうこうしているうちに、先に受けていた企業での最終面接の日がやってきて、そして過ぎ、後は結果を待つのみとなった。

この時期暇だったので、渋谷ヒカリエで2017年2月に開催されたDeNA TechCon 2017に私は参加している。DeNAでは、内製ゲームも、またその他の分野も、技術開発が力強く系統的に、また戦略的に進展していることを感じ取れ、技術で実現された成果の数々を見て、羨望にも似た感覚を覚えた。商業的成果を出しながらしっかりと未来を見据えて布石を打ち、事業間のシナジーを生み出しつつやるべきことをやっている自信が垣間見えた。Cygamesのイベントへ行った時も意識したが、1つの会社に固執していると色々な面白いことを見落とす危険があることを強く感じた。

GREEでの私の部署が携わっていたインドへの事業移管は完了が近づいており、私の担当作業はほぼ無くなっていた。部署が使命を終えるとき、残ったメンバー達は他の既存部署へ散っていくであろうことも想像できた。そして、その切りの良いタイミングでの退職を目論んでいた私にとって、うんざりすることが1つあった。

それは、昇給がないのはともかく、告げられた当期の賞与が0円だったことだ。そういうことは初めてだったので、これは退職勧奨だろうか、辞めようとしているのがどこかから漏れたかなと苦笑せざるをえなかった。

私にはCEDECで対外的に発表した技術的成果と呼べるものがあったが一切評価されず、米国支社の事業失敗のあおりを理由として賞与どころではないらしかった。利益が出ていない以上当然の帰結で、GREEも普通のゲーム会社になった、とでも考えるべきなのだろうか。ただ、他部署で数字が減衰しているところでも賞与が出ているのと対比すると、そちらよりトリッキーな作業を担っているところに足元を見られるような評価を受けるのはやるせなかった。沈む船の水漏れを塞ぎ続ける不毛な作業を対価なく行う。「シーシュポスの岩」という言葉が思い浮かんだ。

しかしここは逆に、ポジティブに捉えて、長々と同じ場所に留まって逡巡している私の後ろから、進むべき方向へ押してくれているのだと思い直した。叱咤し、ぬるま湯から叩きだして、より適した場所へと送り出してくれるような力。そもそも、私は会社員ですらない時期が長かったのに、いつの間に飼いならされてしまったのか。人と異なる道を歩んでも平然としていられるのではなかったか。

本来、自分にとってうまみのない環境に居続けることは味のしないガムを噛み続けるようなものであり、虚しい。着物の丈が合わなくなってきたのであれば、新しい衣を探さなければならない。脱げるはずの衣を、愛着があるからと無理に着続けようとしているのは自分なのだ。単なる箱である法人は、擬人化して義理立てすべきでなく、合わなくなったら迷わず捨てるべきものである。あるいは、あなたは、どのブランドの靴を履くのか。それ以上でもそれ以下でもない。

さらに私の精神面に追い打ちのプレッシャーがかけられたのは、当時の部署が消滅する1か月前に、私の次の異動先が一方的に告げられたときだった。それまで従事していた海外事業への異動自体そもそも自分の希望ではなかったので、自分は近いうちに退職するにせよ、最後こそは少しは希望が考慮されるかと期待していたが、そんな甘い話はない。

異動先はGREEの子会社ファンプレックスだった。ファンプレックスは、既存ゲームを外部から安く買い取って運用を承継することにより利益を出す会社だ。それまで、米国子会社の比較的古いゲームを引き取って開発を継続していた私の経験からすれば、この異動は筋が通った話かもしれないが、そもそもそのような仕事をやりたくて私はGREEに入社したわけではなかったから、そこでの業務に私が適任かどうかは別として、喜んで引き受ける理由はなかった。

米国からのアウトソースに衝撃を受けた私としては、業界内アウトソーシングともいうべきその業態で使役される1労働者となって翻弄されることに魅力を感じようがない。セカンダリー市場と呼ばれるこのビジネスモデルは、継続的運用を前提としたオンラインゲームのモデルを論理的に、資本主義的に突き詰めた場合に出現する、資本運用の純粋な究極形態だ。

ゲームとその運用人員、それら自体が、工場の機械のように、アセット、資産となって取引され、利潤を産みさえすれば中身や個性は関係ない。鄧小平の「黄猫であれ黒猫であれ、鼠を捕るのが良い猫である」との言を彷彿とさせる。人員は、工場の機械を運転する作業員であり、その人件費は安ければ安いほどよい。業界が成熟してこうしたビジネスモデルとマーケットが存在するようになり、内実はこのようなからくりになっている、その点での大人の世界の学びはそれなりにあった。

だからといって、古いゲームを引き取って運用する仕事は、私が20代の若者であったならともかく、一般に、体力、知識、経験のバランスがピークに達している、脂の乗っている働き盛りの時期の貴重な時間を費やして1エンジニアの立場で注力すべき課題には思えなかった。プログラマー35歳限界説を生き延びたと思っていたら、40歳の私は会社に持て余されるようになっていた

会社資本の生命を維持し、守り、増やす、利殖のための利殖。リスクは低いかもしれないが、リターンもあまり期待できない。そのような一種の金融活動に従事することは私の目的ではなかった。どうせなら、金を投資する価値のある仕事の中身を計画し実行してみたい。いずれにせよ、その他の部署では私は必要とされていないことはよくわかったので、私の転職の決心を固めるにはとてもよい人事異動だった。

不運は重なるもので、先に受けていた企業の最終面接の結果が長々と待たされた末にやって来て、私は不合格となったと告げられた。担当エージェントによると、現場は推したものの、最終面接に出てきた採用決定権を持つ上の人間が、私はスタジオを引っ張る人材として望んでいたタイプの人間ではないとして拒否し、激しい議論の末、私は落とされたという。上層部が望む人材とは、端的に言って、コンソールゲーム開発で長い経験と実績とを持つベテラン開発者とのことだった。

そもそもの前提からして私は不適合ではないかと私が怒ることを予期して、現場の責任者が私に謝っていたとエージェントは言ったが、私の中には時間を無駄にした怒りの感情が沸き起こるより、なるほどそういうことかと、逆にすっきりした気がした。

時間をかけて何回も行われた面接では相手先スタジオのメンバーたちとどのように仕事をするかについて議論し尽くして自分の言いたいことは全て言ったし、最終面接の場で「アプリストアのセールスランキング何位のゲームにあなたは携わっていたのか」と聞かれたときに薄々感じ取っていた違和感の読みは正しかった。

それに、私が採用責任者であっても、私を落としただろう。スタジオを引っ張る人物の経歴は、誰が見ても納得するようなわかりやすいもので、後から応募する人の目を引くようなものでなければならないし、そのような経歴に惹かれる安く良質な労働力はコンソールゲーム業界にこそ多く存在している。巨額の予算がかかった、大企業でのハイリスクなゲーム開発プロジェクトで、リスクをいたずらに増やすとみなされる試みは最早不可能なのだ。そのような場で尊ばれるのは、ダイバーシティではなくモノカルチャーであるのかもしれない。そのスタジオが開発していたゲームタイトルがいつリリースされるのか、私はいまだ知らない。

ここは、私がいるべきところではない。そして、「ここ」とは、業界内の単一の企業だけを意味しない。

夏目漱石の『草枕』の冒頭は「智に働けば角が立つ。情に棹させば流される。意地を通せば窮屈だ。とかくに人の世は住みにくい」と始まるが、私もそんな心境だった。大きな潮流に1人逆らってそもそも無理なことをやろうとしていただけだったことを、ようやく私ははっきりと悟った。私の立場でこのフィールドでできることはやったので、もう十分だと思った。

『草枕』の文では「住みにくさが高じると、安い所へ引き越したくなる。どこへ越しても住みにくいと悟った時、詩が生れて、画が出来る」と続くが、私はといえばまだ全ての場所を渡り歩いたわけでもない。全てはこれからだ。

手持ちのカードが1枚減ったが、幸い、直前に入手したもう1枚が残っている。既に新たな選考プロセスが開始しており、気を取り直して私はその対策に打ち込むことにした。

Departure and Arrival

2か月後、私は新たな職を得ることになる。この文章の冒頭にあるようにGREEを退職し、2017年6月から、アマゾンジャパン合同会社(Amazon Japan G.K.)に、Amazon Appstore事業のソリューションアーキテクトとして私は在籍している。

モバイルゲーム業界でAmazonというと、サーバー/インフラとして誰もが利用するアマゾンウェブサービス(AWS)が1番に思い浮かぶだろう。しかし、私の専門はサーバーサイドではなくクライアントアプリケーションだったからAWSを目指す動機がなく、以前はAmazon Game Services(AGS)もなかったので、Amazonには縁がないと思い込んでいた。ヘッドハンターに教えてもらって発見するプロセスを経なければ、そもそもAmazon Japanの側に私に務まりそうなポジションがあることは全く知る由もなかったのだ。

日本ではAmazon Japanとは別法人扱いになっているAWSは、Amazonの中の1部門である。Amazonのデジタルビジネスには、AWSの他に、私の所属するデバイス部門があり、日本ではAmazon Japanの中にある。一般の巷間で話題になりやすいAmazonのECサイトやAmazon Primeは、Amazon Japanのリテール部門が扱っているが、デバイス部門はリテール部門とは別の部門として存在し、私のリポートラインはAmazon Japanのトップリーダーシップを経由せずに米国本社に連なっている。

Amazonのデバイス部門には、Fireタブレット、Fire TV、Kindle、Amazon Echoなどのデバイスと、Appstore、Alexaなどのサービスが属する。AppstoreはAmazonデバイスの共通ソフトウェアプラットフォーム上でのアプリ配信機能であり、AndroidベースのFire OSを駆動するFireデバイスと、Amazonアプリがインストールされた一般Android端末向けにアプリ配信とアプリ内課金(In-App Purchasing/IAP)を担う。わかりやすく言えば、Amazon Appstoreとは、AppleのApp StoreやGoogle PlayのAmazon版だ。

ソリューションアーキテクト(SA)とは何か。エンジニアリングとビジネスの両方の言語を操るコンサルタントでありアーキテクトである、というのが1つの答えだ。また、AWSに所属する同僚の塚田朗弘氏がいみじくも指摘するように、エヴァンジェリストやデベロッパーアドボケイトとは異なり、SAは、プリセールス的なソリューションの売り込みを担当するとともに顧客アカウントを抱え、テクニカルオーナーとしてビジネスに技術面から責任を持つ。

またSAが行うべきは事後的なテクニカルサポートではなく、サポートが必要な事態が起こらないよう先んじてベストプラクティスを展開することだ。ただし、専任のテクニカルサポートやエヴァンジェリストやデベロッパーアドボケイトが居ない場合は、その全ての役割を多かれ少なかれこなすこともある。

そうして顧客に寄り添いつつ、Amazonの文化として、プロダクトマネージャー同様にプレスリリースを書いて新規事業を興すことも可能だ。あれほど白黒付かないことも人間も嫌いでプログラミングに傾倒した自分が、ソフトスキルにも職務で頼る日が来るとは思わなかった。

私の場合の顧客とは、これまでゲーム開発者として向き合ってきたエンドユーザー様に加え、今回の仕事では、Amazon Appstoreにアプリをリリースしている開発会社様を指す。これまで1社の内部でゲームアプリを開発していたのに対し、サービスにお力添え頂ける多種多様な企業に属する優れた開発者の皆様と業務上でも交流を持つことができるようになったことは私にとって純粋な喜びだ。

GREEのガレージスタジオでエンジニアたちにコーチングを行っていたときの経験が、SAとして技術的コンサルティングを行っているときにもたしかに活きている。現職では、私が多様な立場、角度から見てきた日本のモバイルゲームに関するエンジニアリングとビジネス双方の知識が、より大きな場でそのまま活用できるのだ。また、SAの仕事には、顧客の声を代弁してエンジニアやプロダクトマネージャーを詰めるという、エンジニア時代には味わえなかったguilty pleasureもある。

どのゲームアプリも、素晴らしい宝石のような貴重な存在だ。開発過程を知る私にはそれがわかる。そうしてみると、1社のみに関わるより、様々な企業の後押しをし、触媒として働くほうが面白くなってくる。私自身が、優れた作品の数々を内側の特等席から鑑賞できるようなものだ。Amazonでは扱う商品のセレクションを拡げることが励行され、ウィンドウショッピングのようにして本屋の棚の間を振り返りながら歩くだけでも楽しい。

もちろん、1つの対象を突き詰めるのもそれはそれで面白いだろう。だが自分としては、飽きやすい人間なので、沢山の選択肢の有るプラットフォームの環境に身を置くのが割としっくり来ている。プラットフォームに必要なことはGREEで全て学んだ。

私は怠惰な人間なので、これを達成するにはこれを学んでこうすればいいはず、というロードマップが見えた瞬間に飽きてしまっていることもあるが、プラットフォームの仕事の1つは新しいスターを盛り上げることで、新星は予想だにしないところから現れてくることがあるのが楽しい。

技術的には、UnityやCocos2d-xといったミドルウェアを用いたゲームアプリ開発に関する知識が今の職務でも使えている。そして、GREEの米国子会社での仕事のために学んだ、役立たずと思っていたAndroidに関する知識・経験が、将来において活用できるときがいつか来るとは全く思いもしなかったのに、今現在すんなりと役に立っているのだった。Amazon Appstoreは一般のAndroidデバイスにも展開され、またAmazonのデバイスはオープンソースプロジェクトとしてのAndroidベースであるFire OSによって駆動されているのだ。

国際的環境での仕事も、GREEでさわりを体験させてもらっていたので全く未知なわけでもなかったが、Amazonにやってきて、これが本物かと思い知ることになった。Amazonは言わずと知れたグローバル企業であり、Amazon Japanの中でもAppstoreは最も国際色豊かな部署らしく、日本国内で活動しつつも日本企業色は全く感じない。チーム内にトライリンガルの人たちが何人もいるような、ポリグロットが普通の場所だ。シアトルの本社から定期的に訪れる私の上司の上司が、最初の1on1ミーティングで私に告げたことは、巨大企業Amazonにあって小規模スタートアップの空気を同時に備える稀有な部門がここであるとのことだった。

私自身は、日本のAppstoreに属すると同時に、米国外の国際的なソリューションアーキテクトのチームにも属しており、欧州にいる同僚たちと毎週電話会議を行いながら、米国本社のチームとも同様に定期的に会議を持ち、時には米国本社を訪れる。日本人が自分しかいないミーティングに出たりするといまだに慣れず、英語を話す実地訓練の毎日で、タダで駅前留学をさせてもらっているようなものだ。齢40を過ぎても学ぶことが多いこと自体に、感謝している。

Amazon Day 1は、シアトルのダウンタウンに散らばるHQを構成する社屋群の中心に位置する

Day 1にて

シアトル郊外サミットレイク山頂にて、同僚とレーニア山を望む
皆既日食の週にシリコンバレーに存在する広大な研究開発拠点Lab126を訪れる
振り返ってみると、GREEでそれなりに長く勤め、様々な実績をアンロックするようにして得てきた経験の幅と深みの双方が有機的に繋がり、私のAmazonでの現職の要件を図らずも必要十分に満たすことに結果的になっていた。現職に就くために6年半かけて養分を吸わせてもらったようなものだ。そのことを省みると前職には足を向けて寝られず、また現職に漂着したのも、来るべくして来た天の配剤だったかと思わずにはいられない。

応募要件に自分が合致していそうだとの前提に加え、転職先選びの基準にしていた事項がいくつかある。1つ目は申し分ない給与、2つ目は今の住居から近いこと、3つ目はリモートワークが許容されていること、だ。私がAmazonの前に受けた会社のポジションは残念ながらこれら全ての事項を満たしていなかった。

まず給与については、入社時に正当に評価してもらいマネージャー相当レベルで採用され、GlassdoorPaysaで知っていたベイエリア/シリコンバレークラスの待遇を受けられている。幸い、ヘッドハンターが相好を崩すほどに評価をしてもらえたので、逆に、困難なミッションでの成果を期待されている健全なプレッシャーを感じ、それに全力で応えなければならないとの思いに身が引き締まるほどだ。

次に、今住んでいる家から勤め先が近いことは私にとって非常に重要なことだった。GREEに勤め始めたときは長時間勤務の必要に迫られて六本木の会社の近くに住んだが、それ以来比較的長く会社を辞めなかったのは、電車に乗らないで済む六本木ヒルズへの通勤を気に入っていたことも大きな一因となっている。通勤ほど無駄なものはないので通勤経路は短いに越したことはない。その点、目黒のAmazon Japanは前の通勤先と距離的にはほとんど同じ地点に位置しているし騒々しくない穏やかな周辺環境も私の好みだ。

そして、会社の外で仕事ができるリモートワークに関しては、かなり前から興味を持っており、実施している会社の情報を収集していた。GREEにいた時も、リモートデスクトップをSSHトンネリングして家から会社のPCにアクセスできる環境は整えてあったので、ごくたまの機会に家で仕事をすることがあったが、ことコードを書く作業については、家で1人で行ったほうが圧倒的に効率が高かった。GREEではパーティションがないオープンオフィスだったので、議論がそこここで起こる現場的活気はあったが、四六時中誰かが喋っているクソうるさい職場は苦手なのと、集中して何かを調べたり書き物をする時に無関係な雑音や人の動きがあったりすると気が散るため、自席を離れて静かなスペースへ移動しなければならなかった。対してAmazonでは、リモートワーク(Work From Home)が制度レベルで認められている

もちろん、私の業務の性質上外に出て人前で話さなければならないことがあるので、常に家にいるわけにはいかないが、コアタイムなしのフレックスタイム制であることに加え、合理的理由なく特定時間に会社の社屋内にいることを強要されないことは、私にとって働き先を選ぶ上で非常に大きな動機となっていた。ただ情報を一方的に受け取るだけの定期的な朝会に集まったり、無駄な時間を使って席替えをしたり、やりたくない仕事をやることが会社員の勤めとの洗脳を受けたり、私はそういう非合理なことがとにかく嫌いだ。

タイムゾーンが違うので朝早い時間に電話会議に出なければならない、とか合理的理由があるならばまだ仕方ないとも思える(実際には自宅で電話会議に参加できる)が、そうでない場合、非常にストレスが溜まる。合理性がある場合でも、モバイルゲーム開発者であれば、サーバーが落ちたり年末にイベントがあったりといった問題に24時間365日対処しなければならないとか、サーバーサイドならリモートワークも可能なのにクライアントだと実機がないとテストできないとか、障害対応にまつわる負荷は存在するものだが、私の現在のポジションには幸いそうした負荷は大してない。

リモートワークが可能であれば、1人で完結する類の仕事を午前中家でやってから近所の好きな店で昼飯を摂って午後に出社することもできる。また、会社に残って仕事する意味が無いとか、実際問題として若い頃に比べると体力は衰えており無理をするとそれだけ後に響いてくるので体調を整えて明日に備えるべきだと思ったら、まだ明るいうちにすぐ家に帰ることもできる。ワークライフバランスも歳を取ってくれば気にかけざるを得ないが、若者であっても、ワークライフバランスが整っていたほうがより仕事に集中でき定着率も高いであろうことは自明に思える。しかし、短期の労働力使い捨てを前提にしている限り、こうした制度設計は難しい。また、雇用流動性が無い限り、制度を悪用する者を防ぎ得ない。

応募要件や待遇は問題ないとして、ではなぜAmazonを選び、そしてソリューションアーキテクトになったのか。

私がエンジニアとして働きながらも、ビジネスに大きく影響を与える意思決定に関与できないことに臍を噛んでいたことは既に述べたとおりだ。誤解を恐れずに書けば、私は人に指図されるのが嫌いである。だから昔は就職するのすら嫌だった。百歩譲って、組織系統における指図は結構だとしても、それに対して自分の意見を述べて議論し結論を変えられる余地があるのとないのとでは大違いだ。

意思決定に関与したいなら、一番ストレートなのは起業だろう。昔私と六本木の夜の街に繰り出していた現VALU代表取締役の小川晃平氏のように、エンジニアの立場から起業して世にサービスを広めている元同僚もいる。あるいは、GREEと比べると小さなスタートアップ企業に移り責任ある地位に就いた人々も多かった。

しかし私は、スタートアップで従業員として働いた経験は既にあったし、そこに関する幻想は全く持ち合わせていない。自分にろくに利益が返ってこないのに、人のために仕事をすることも私は嫌いだ。仕事のやりとりではフェアな関係でいたい。ついでに述べれば、スタートアップが成功するかどうかはエンジニアリングのみならずビジネス的要因が非常に大きいにもかかわらず、ビジネスモデルの有効性を正しく見定める目もないのに、いたずらにスタートアップのストックオプションを引き受けて給与の実質的出世払いを受け容れるエンジニア社員の行く末を、私は案じざるを得ない。スタートアップのような場に何の因果か行くことになったエンジニアこそ、ピュアな心を捨ててビジネスのことをよく勉強するべきだ。そうでなければ闘争で生き残れない。

自分で主体的にやることを決めて動くことができる。自分で自分のゲームプランを作れる。そのことが今はできているのが何よりもうれしい。これができるならば、企業のサイズは関係ない。よく小規模スタートアップ企業でなければそれができないといわれるが、それは嘘だ。

エンジニアとしての仕事に愛着もあったが、同時に、エンジニアのサークル内に限定せず、力のあるプロフェッショナルの人達と仕事をしてビジネスを学び、自分のできることの幅を広げたいとも思ってきた。現在の環境では、専門家として比較的自由に振る舞いつつ、背中を預けられるベテランの仲間たちと連携しながら動けていて、満足している。

人といえば、GREEにいる間に、GoogleやFacebookといったグローバル企業で働く人々と知り合う機会があった。その時に、そういう人々は皆、形容し難い不思議な抜け感があり、これはなんなのだろうと思うようになっていた。肩肘を張ってガツガツしながらいっぱいいっぱいで生きているのではなく、余裕を持ち適度な距離感を保ち、それでいてやるべきことはやっていそうな、そんな雰囲気。無地のTシャツで飾らない格好なのに自信に溢れていて、かつ物腰柔らかで人当たりもよい。何か根拠があるわけではないが、そんな漠然とした印象を持っていた。経済的豊かさ以外にその印象を成立させている内容成分があるとすればそれは一体何なのか、長年知りたいと思っていた。

Google、Apple、Facebook、Amazonの4社は今日、その頭文字を取ってGAFAないしAGFAと呼ばれ、グローバルIT企業四天王として世間の口の端に上らない日はない。私の入社間もなくAmazonがWhole Foodsを買収したりと、Amazonだけでもメディアを賑わせない日は稀だ。GREEにいた時は、そんなグローバル企業の日本支社に仮に行ったとしても極東の出張所に出入りしているだけで仕事はつまらないに決まっているし、それよりは日本の会社で日本国のプレゼンス向上に寄与したいとのナショナリスト的観念があったが、そんなふうに考えている時点で負けていることに気づくようになっていった。

アメリカに住んで世界のITを支配している人々は、余計なことを考える負荷のない馬鹿だから強いのだ。自分のことを限定しているのは自分なのだ。そうであってみれば、一度くらいは、その領域に首を突っ込んでみてコスモポリタンな雰囲気とはどんなものかと体験してみるのも悪くないだろう。そこでは、日本人とはマイノリティーであると日々意識せざるをえない。そんな新しい意識に慣れようとしている私も既に中年である。それでも、遅すぎることはない。百聞は一見に如かずだ。

それに、日本のモバイルゲーム市場は、中国が台頭しているとはいえまだまだ世界有数の規模を誇っており、ひとまずはAmazonでも引き続きそこを私が活動する領域とするならばさしあたっての不安はない。

待遇が日本の会社に比べて良いことはもちろん転職の動機ではあったが、しかし金銭が全てに優先するわけではない。数億円程度の金ではコントロールできない物事を動かすこと、あるいはいくら金を積んでも体験できないことは世の中にいくつも存在するし、Amazonの内部で面白い仕事をできるインナーサークルへのメンバーシップもその1つだ。

ただし、外資系といっても十把一からげにすることはできず、アメリカ系、ヨーロッパ系、中国系、韓国系などナショナリティによってもそれぞれ違うし、IT系、金融系、コンサルティングファーム系や広告系など、業態によってもそれぞれ全く異なるので、外資系だからといって一緒くたの仲間扱いにするような頭の悪いまとめ方には違和感を感じる。

とはいえその外資系との括りについて、ヘッドハンターに会社を紹介された時点では、サンフランシスコにいた時に現地企業での指名解雇の実際のエピソードをいろいろ聞いていたし、日本でもグローバル企業はいわゆる外資系特有のシビアな人員整理を行うので、社内就職であぶれ者になり辞めざるを得ない状況になって外から見て不自然な辞め方をする人がいるのを見ていたから、不安もあった。しかし、Amazonに入社して内部での働き方に慣れてみると、今まで経験した場所よりは、自分の性にはこれが明らかに合っていると感じる。今はとにかくジェットコースターのような体験の見聞を楽しむのみだ。

私の場合、最初に働いたのが小さなスタートアップ、次に経験したのが成功したスタートアップの大企業への成長過程、そこから成熟した多国籍企業にやってきて、それぞれ異なる学びがある。私にとっては、また新しいゲームが始まったばかりだ。ここで書いたGREEでの体験も旅行の土産話のようなもので、私はフィジカルに旅行する趣味はあまりないが、ヴァーチャルな旅行の価値は承知している。だからこの文章は紀行文である。

私は、ITニュースをFacebookでシェアしたりしがちな、どちらかというとうるさいタイプの人間だ。しかし、いくらIT通ぶってみても、実際にその只中で仕事をしたこともないのに偉そうなことを言いつつ憶測で評論する輩に倣うのは虚しいばかりなので、今回の転職は内部を知る良い機会だと思った。

GREEで学んだことの1つは、企業の内情について世間で外部の人間により外からあれこれ憶測で語られることは9割9分誤りで、台風の中心は、その外とは全く異なったロジックが支配しているということだ。また、実際にAmazonにやってきて仕事をしてみると、自分が今まで仕事をしてきた世界は、やっぱり田舎の一角でしかなかったとの気付きがある。

心残りは、会社内外の関係各所の範囲が非常に広くなり、またロードマップを含む機密情報に懸かる価値がこれまでにも増して巨大なものとなったので、公式発表や宣伝や当り障りのないこと以外の勤務先や取引先に関する情報や自由気儘な見解をSNSで書き散らすことが迂闊にできなくなったことくらいだろうか。転職後も同じような業界にいるので、ポジショントークの域を出る辛辣な業界批評が公ではできず残念である。例えば、AbemaTVで元SMAPの人々の特別番組を見ていたら、私の部署も関与するAmazon Fire TVのCMが何度も流れてはっとするといった調子だ。といっても、非常に大きな会社なので、異なる部署のことは公式発表を見るまで何も知らないことのほうが圧倒的に多い。

いずれにせよ、創業者Jeff Bezosの築いたヴァーチャルな現代の帝国に入国して片隅でフィールドワークを行うことによって、在職中には、潜入取材ジャーナリストばりに盗める情報は全て盗み取る心積もりでいる。帝国並び立つ『三国志』の物語の中に飛び込んでグランド・ツアーを敢行する気分を味わうのも悪くない。あるいは、『ニューロマンサー』を始めとする1980年代のSFで予言されていた、国民国家を超えたシステムとして機能する多国籍企業の内情の一端に触れること。サラリーマンの立場で働くことをツーリズムとして捉えるとともに、Amazonでの滞在を21世紀の公共性や国際性を考えるための研究活動としても楽しんでいると書くと綺麗にまとめ過ぎだろうか。

もちろん、そんな大所高所から考えるようなことを四六時中しているわけではない。あれこれと大きな図式を夢想するような個人的興味関心は、あくまでバックグラウンドタスクとして意識の背後に控えている。瑣末な作業は後から後からいくらでも発生してくるし、普段は手元の業務上の課題の解決に奔走する日々だ。

しかし、「千里の道も一歩から」と言われるように、どんな巨大な帝国も例外なく、小さく瑣末な部分から成り立っている。それらをどのように制御し組織化するか、その神経系統が重要なのだ。私が以前に経験していたエンジニアの明確に定義された業務に比べ、非定型とも思える業務自体を、ロジックを用いてプリプロセスし定型的なプロセスに落とし込んでゆくという意味では、私の現在の業務は、世間のいわゆるコンサルタントがやっていることと大差ないのかもしれない。

Amazonには社員全員がリーダーであるとの原則が有り、だからフォロワーはいない。リーダーとしての社員にとって、Our Leadership Principles(OLP)と呼ばれる信条が、守るべきものとして存在する。例えば、Frugality(倹約)という条項は、いたずらに人員を増やすことを戒めるといった塩梅だ。

率直に言って、私はこれまでよく典型的日本企業で実践されてきたとされる宗教めいた風習であったりコンサルティングファームの使うフレームワークのようなものは、教条的かつ疑似科学的で気持ち悪く愚かしいと思っていたし、幾分ましなものでもコンピューターで扱えるような明確なモデルには圧倒的に劣ると考えていた。そんな観点から、OLPについても入社するまでは特段気に留めておらず、単に大企業によくある儀礼的な飾り物だろうと思っていた。しかし、それは誤りだった。

Amazonにやってきて気付いたのは、OLPが実務上非常に有用であり、合理的でシンプルなデザインパターンとして機能していることだ。例えば、ある事象がOLPのある条項に合致しているとのパターン認識が行われそのことがひとたび指摘され話の種となるや、会議に参加している皆が同じ視点と価値観とを共有でき、早く合意に至ることができて意思決定が加速する。または、同僚のある行動がOLPのとある条項に合致しているとのパターン認識を行って日頃から同僚同士で褒め合うことが盛んで、それが何か大層なことではなくスポーツをやるように気軽に行われており、善いことが伸ばされていく。

それでいてOLPには道徳的な押し付けがましさは全く無く、ビジネスを持続発展的に、かつ高速に遂行するための原則でありそれ以上でも以下でもないので、ゲームのルールに近い。ビジネスのリアリティのなかにパターンを数多く発見するか、パターンに合致するリアリティを数多く創り出すことを競う、そんなゲーム。このゲームをプレイしていくことが、そのまま各人の仕事になっている。OLPの実用性には、無駄がない。もっと言えば、馬鹿馬鹿しくない。自分のシニカルな現状認識を超えて、企業のモットーに共感する経験すらできるのではないか、という気にさせてくれた。

新しい仕事をはじめてみて、脳の使っていなかった部分を刺激される感じというか、知らなかったツボを押されてる感じというか。それでいて、自分のよく知っている業界の話も多いので、より深くに掘り下げている感覚もある。Amazonでの仕事の環境は、純粋に快く感じる気楽さと、自分を成長させられるに足るチャレンジングな刺激とが、ほどよいバランスでミックスされていて、もっと早くAmazonに転職できていたらよかった、と思わせてくれた。ただ私の場合、CEDECで発表した内容の元になったエピソードが、他者に自分の経験を一貫したストーリーとして説明するためのパズルの最後の1ピースだったことを思えば、最適なタイミングであったともいえる。

しかしながら、Amazonロゴの矢印がAからZに走っており万物を表すことすら入社してそう教えられるまで知らなかった私にとって、Amazonに入社して知った内部での働き方の面白さは付加的なボーナスにすぎない。GREEにいた時に次にやるべきことを選ぶために考えていたのは、ITやゲームをめぐる業界のトレンドはこれからどこへ向かうのか、そのトレンドの最中で右往左往しつつも最早不惑の中年になった私は、一体どんな性格の仕事をするべきなのか、といったことだ。

換言すると、業界や企業といった全体の環境が持つ構造と、私のような労働者個人との関係を、突き詰めて考えなければならなかった。そのときには、最悪の可能性も含め、起こりうるリスクに目を瞑ることなく、時には厳しく、批判的に現状を評価することも求められる。全方位に対して、斬って斬って斬りまくらねばならない。

Race Against The Machine

私の価値観の中核には、世の中に広く浸透し影響を与えるものに関わりたいとの欲求がある。高踏的なものより、大衆に向けた、ポップなロックのような、アクセシブルな表現活動に携わりたい。

表現活動といっても、表現活動自体が目的化しているものではなく、もっと抽象的な意味での表現だ。たとえば、AppleのiPhoneというオブジェクトは、私自身は欲しいと思わないけれど、一定の思想を表象しつつ、それでいて世界中の数多くの人々に欲されている。逆に、表現活動そのものが目的化し様式美となっているものとしては、一部の影響力を持つ批評家や美術市場の狭いサークルでの内輪受け解釈を狙う活動になっている現代アートのようなものがある。


現代人の誰もが持つスマートフォン内部で動作する半導体やその上で実行される複雑なソフトウェアの構造は、一般人の認識能力を大幅に超えているにせよ、発散しっぱなしの典型的な現代アート作品と比べると遥かに多くのことを成し遂げ、産み出し、そして美しいというのが私の感覚だ。それこそが真に美しいものだと私は信じている。


建築物もアートの文脈で語られ評価されることがあるが、現実問題として建築物は外から眺めることはできても空間的制約の中にあり、特定の建築物には誰もがアクセスできるわけではない。コンピューターのハードウェアやソフトウェアはリアルな建築物の設計図を上回る規模と密度を持ちながら、モバイルデバイスやオンデマンドのクラウドリソースのように遍在し、高いアクセシビリティを備える。私にとって、価値あるものが多くの人の手に届くことと、そこに自分の意思が絡んでいることこそがエキサイティングなことなのだ。包み隠さず書くならば、コミュニケーションとコントロールの欲求だ。


例えばソーシャルゲームは、ハードコアゲーマーによって主に消費されてきたゲームへの興味を幅広く老若男女に広げる意味で、大きな功績があった。ゲームとは何なのか、その本質を探り、因数分解を行っていくとともに、どこからどこまでがゲームなのか、人間はなぜゲームを欲するのか、次々に湧き出てくる問の答えを考え続けながら、答えが正しいかどうか繰り返し試行する。答えが正しければ、世間の人々がそこに投資する。


その意味で、Amazon Alexa/Echoの存在は象徴的だった。1つの会社でモバイルゲームを作っていたのでは到達できない層の人々にも影響を及ぼす手段として実際にAIが広くデプロイされ機能している。どんな媒体も作品も、受け容れる人とそうでない人がいるものであり、特にゲームは全くやらないと決めてかかっている人も多い。そのゲームという媒体が自ら規定してきた枠を破るような、最早ゲームなのかそうではないのかわからないような、そんなバランスが理想的なのかもしれない。音声を介したAIとの戯れは、アクセシビリティが高く、空気のように浸透していく。そして音声という入り口は可能性の1つにすぎない。


限られた者しか対象としていない類のアプリケーションとは反対に、そもそものAmazonの基盤は、人の歴史が始まったころから存在する原初的な経済活動であるところの、物を売るビジネスであり、その恩恵を受けない人間のほうが少なくなりつつあるほどだ。特定の色があるわけではない、あらゆる物を扱うプラットフォームとして勝ち残ってきていること自体はまだ序の口で、現状に満足せずさらに次のステップに大きく踏み出そうとしている。

Amazon行きが決まり、GREEを辞めてから遊びに行ったニューヨークのタイムズスクエアを埋め尽くすきらびやかな巨大広告群の中にあって、Amazon Alexaの広告出稿量が最多であったのを私は目にした。遅まきながらこの波に乗れるとよいなと感じた。

Amazon Alexa, Echo, Music Unlimited at Times Square, NYC, May 2017
プラットフォームが強いとはいっても、中身のない虚ろな器は存在価値がない。コンテンツが集まり、あるいは生まれる場とならなければならない。Jeff Bezosがかつてナプキンの裏に描いた成長モデルの弾み車(flywheel)に倣うならば、品揃え(selection)を充実させることが必須となる。

その意味で、Amazonのデジタルプラットフォーム上でのコンテンツの充実は近年著しい。私がAmazonのことを行き先として意識するより前の2016年から『高い城の男』のようにとても品質が高くお世辞抜きに面白いコンテンツがAmazonプライムビデオ向けに制作され投入されるのを見て、すごいな、本気だなとは思っていて、それまでAmazonに抱いていたイメージが確実に変容してきていた。

コンテンツの充実とともに、プラットフォームとしてもAmazonの拡大はもちろん続いており、AWSの強さは言うに及ばず、2014年にはeスポーツのメディアとして支配的なTwitchを買収している。Amazon Appstoreでも、2017年はMobile Masters Las VegasChampions of Fire New Yorkといったeスポーツイベントを北米各地で開催している。

2015年にはCrytekからライセンスを取得したコードベースをAmazon Lumberyardゲームエンジンとしてフォークし、Amazon Game Studioのもとで開発を続行してきた。Lumberyardは2017年にソースコードが公開され、完全無料のゲームエンジンとして進化を続けており、私に続きAmazonにジョインした同僚の下田純也氏により日本でも展開が推進されている。

AWSと親和性の高いオンラインゲーム開発にLumberyardが最適であることはいうまでもないが、オンラインゲーム向けでなくとも、ロイヤルティフリーでオープンソースな高品質のゲームエンジンが利用できるようになったことは、ゲーム業界の今後を占う上で非常に大きな意味を持つ象徴的な出来事だ。また、2017年末のAWS re:Invent 2017では、クロスプラットフォームの簡単なVR/ARコンテンツを3Dの専門知識なしにWeb上で生成できるAmazon Sumerianも発表されている。

ゲームの技術的構成要素はどんどんゲームエンジンやクラウドに吸収されていくだろう。同時に、オープンソースではないUnityのようなエンジンでも、スクリプタブルレンダーループのようにカスタマイズが望ましい部分は公開され、深いところまでいじり倒すために0から自前実装することの意義も減退していく。さらにモバイルゲームの世界であっても、ゲーム制作と、ゲームのためのエンジニアリングとが完全に分離して開発されていくプロジェクトも増えていくのではないか。

モバイルゲーム業界で一般的な、既製ゲームエンジンを活用したゲーム開発について突き詰めて考えてゆく際に、エンジニアの役割はこれからどうなっていくのかとの疑問は常に頭のなかにあった。

元々、個人や小規模チームが低コストかつ短期間で開発でき、利潤を最大化できるとの前提があったゲームアプリは、短い間隔のイテレーションとフィードバックを経て品質を改善していくWeb開発の方法論を取り入れて発展してきたので、ゲーム開発の民主化を標榜し台頭してきたUnityのようなツールと相性が良かった。

ゲーム開発の民主化とは端的に、3Dリアルタイムグラフィックスや物理演算、サウンド、アニメーションといった現代のゲーム開発の基本コンポーネントが、コードをほとんど書かずに、また数学の知識なしに、従来よりも大幅に廉価ないし場合によっては無料で利用可能であることを指す。既製ゲームエンジンを用いないかつてのコンソールゲーム開発プロジェクトでは、まずはそれらの基本コンポーネントのライブラリーと開発環境とを専門的知識を持ったプログラマーがコードを書いて作成する。そして、その上で動くゲーム内容に相当する部分は、レベルデザイナーが簡易スクリプト言語を使い、文字通り台本としてのスクリプトを書いていた。

かつて一般的だった、自社内製のコードのみを使う開発スタイルに対し、前者の、ゲーム開発の難しい部分かつ個別具体的なゲーム内容に関連性が薄い部分、つまりゲーム開発のサブシステムやインフラに相当するコンポーネントについて、他社で作られたものを使い回して再利用できることが、既製ゲームエンジンの存在価値となる。外部の優秀な専門家が作った、たくさんのゲームタイトルの開発に利用され実戦で試された信頼性の高いコードのライブラリーが、ゲームエンジンのパッケージ内容に結晶している。また、後者の、個別のゲーム内容に関与する部分についても、コードを書き直しビルドし直さなくても異なるデータを食わせることにより振る舞いを変更できるデータ駆動開発を徹底させるとともに、スクリプトベースではなくノードベースで制御フローやデータフローを記述できるヴィジュアルプログラミング環境によって、非プログラマーによる開発がさらに楽になるよう支援する。

このように、コンピューターの性能を限界まで引き出すように作られた基本部品の深層と、それらの部品をAPIを介して利用したりパラメーターとしてのデータを与えたりしてゲーム作品を紡ぎ出すためのスクリプトや開発環境といった表層の、2層からなるゲームエンジンのアーキテクチャーは、昔から欧米の代表的PCゲームのエンジンでは一般的で、ゲームエンジンのコアと、その拡張のためのmod機能としても存在していた。ゲームエンジン自体の深層がどんな内部構造なのかを意識せずとも、表層に公開されたmodをユーザーインターフェースとして使い、それなりの出来栄えのゲームを構築することができる。

世界的に人気を博したCounter-StrikeはHalf-Lifeのmod、またDotAはWarcraft IIIのmodで、フラッグシップとなるゲームタイトルの仕様を満足するために作られたエンジンをmodのAPIを介して再利用しオリジナルと異なるメカニクスを実装することにより、元々のゲームタイトルの人気に勝るとも劣らない、新たなゲームを作り出している。そしてユーザーコミュニティで支持されるmodを作って公開した在野のmod作者は、ゲームデザイナーやレベルデザイナーとしてゲームスタジオに就職し、新たなタイトルを生み出していくエコシステムがある。直近では、それ自体ARMA IIのmodであるサバイバルゲームDayZのmod開発を独学し、趣味でmodを作っていた元DJ/webデザイナーのBrendan Greeneが韓国に渡り、Bluehole社に迎えられて開発したPUBGが、最大のサクセス・ストーリーだろう。

それまで開発の難しかったゲームエンジンについて高品質なものが安く利用できるようになってくると、アマチュア開発者やアーティストたちの創造性が解放され、より多くの素晴らしいゲームが生まれてくることは言うまでもない。反面、職業プログラマーたちの世界では、それまで高い給料を払って雇っていたプログラマーの大多数の存在意義が相対的に減少していく。既製ゲームエンジンは、進歩することこそあれ退化することは基本的にありえないので、その傾向は不可逆だ。

こうした、職業プログラマーに対する脅しとも取れる、不安を煽るかのようなFUD的言説に対しては、ゲームエンジンのレベルで全てのゲームのニーズに応えるのは不可能なので追加的なプログラミングが不要になることはなく、従って腕のあるエンジニアの仕事が無くなることはない、との反論があるだろう。つまり、ゲームエンジンのおかげで面倒な仕事が機械に代替され、有能な人間はより有意義な新しい仕事を自ら見つけてそれに従事できるようになる、との見方だ。

その見方は、いくらでも仕事が生まれてくる、際限のない青天井のグローバルな世界では正しい。しかし、現実の世界では、物事はローカルな領域として切り取られていることが多い。それは、特定のゲームの仕様であったり、開発のターゲットとするスマートフォン端末のハードウェアスペックであったり、開発に費やすことのできる人件費であったり、多様な制約の枠内に存在する市場だ。また、収穫逓減の法則にみられるように、いくら頑張ったとしても、制約の枠内では得られる成果がどんどん細かくわかりにくいものになり、そんな細部に果たして手をかけるべきなのか、そのこだわりを正当化することが困難になっていく。

そんな制約の多い市場にあって、既製のゲームエンジンの提供する機能を利用するだけでそれなりのものができあがるとしたら、そこから一歩踏み出すような技術的挑戦をエンジニアが行う動機は一体どのようにして成立するのか。また、卓越した表現を情熱的なエンジニアが成し遂げたとして、それが売上成果に全くつながっていない場合はどうなるのか。逆に、人件費の低いエンジニアだけから成るチームが開発したゲームがアプリストアの売上上位にランクインしたら、人件費の高いエンジニアの存在価値はどうなるのか。高い技術力によって成否が左右されるとの信念がない市場では、エンジニアの価値は早晩頭打ちを迎えざるをえない。

一方で、高い技術力が売上に直結すると信じられている市場もある。コンソールゲーム市場やPCゲーム市場では、相対的に高いマシンスペックを活かして、フォトリアリスティックな表現により肉薄することが、市場競争で優位に立つために不可欠であるとの前提が共有されている。プロの開発者になるずっと前からBeyond3D Forumで行われている技術談義を私は読んでいたから、そういう世界があるのは承知していた。そこでの議論を手がかりに情報を追っていくと、あるコミュニティがTwitter上に存在するのに気付く。

そのコミュニティは、AAA(トリプル・エー)と呼ばれるゲームのクラスに関連している。AAAは、世界的にメジャーなゲーム会社が数十億円の予算をかけて開発する、ブロックバスタータイトル群のことだ。シリーズ物であれ新規IPであれ、5年以上かけて開発されることも珍しくない。それも、数百人の人員によって、だ。

AAAタイトルの大半は、各ゲームスタジオが持つ独自ゲームエンジン上に構築されており、3Dグラフィックス、物理演算、アニメーション、AIといったゲームエンジンの各要素に技術の粋が凝集している。そして、AAAタイトルの文字通り顔となる、最先端の3Dリアルタイムグラフィックスを描画するに相応しい高品質なレンダラーを開発できるレベルの能力と経験を有しているプログラマーは、全世界で500人もいないだろう。そんな連中の中でも社交的な人々が、Twitter上でつながってゆるいサークルを構成し、意見交換を行っているのだ。そして、そのようなプログラマーの資質は、概ね2つある。

資質の1つは、コンピューターグラフィックスのアカデミックな世界で研究されてきたレンダリング手法を実際のゲーム製品に新たに応用でき、あるいは手法自体を独創的に編み出したり発展させられたりすること。その成果は、SIGGRAPHやGDCのような場で発表される。

もう1つの資質は、意図するレンダリング手法の実装を、ターゲットとなるコンピューターが持っている計算資源の枠内でリアルタイムに実行できるよう、最適化できること。CPU/GPUが備える命令セットアーキテクチャーを用い、CPUのプロセッサーコアであったり描画パイプラインを構成するシェーダーであったりに現れてくる並列性を意識しながら、CPU/GPUに接続されたレジスターやキャッシュを含むメモリーへのアクセスパターンを各メモリーのレイテンシーと帯域の範囲内で最適化しなければならない。そして、このハードウェアアーキテクチャーとソフトウェアアルゴリズムに関する深い識見が先に挙げたもう1つの資質にフィードバックされ、新しいリアルタイムレンダリング手法を生み出す礎となる。

つまり、優れたゲームプログラマーの2つの資質とは、数学や物理の才能と、コンピューターサイエンスの才能とをそれぞれ表象しており、その2つの直交軸をアイデンティティとする世界としてゲームプログラミングがある。これら2つの資質を兼ね備える人々とは、優れた研究者であると同時に優れたコーダーであり、最も低レベルな位置でコンピューターに寄り添いながらグラフィックスやサウンドを含む人間の五感に訴えかけるデータを効率的に生成する術を知っている人々だ。

ゲームプログラマーの社会階層は、この最先端の技術競争に取り残されずに付いていける少数の人々と、その先頭集団から相当の距離を置いた、その他大勢の人々から成り立っている。中途半端な中間は存在しない。

何故なら、少数の人々がゲームエンジンの形式でよくできた再利用可能な成果物を公開すれば、その他大勢の人々の仕事は、既に敷かれたルールの上でエンジンをカスタマイズするだけの作業になるからだ。また、圧倒的に高効率な方法が特許で保護されていたり、敢えて再実装するコストが高すぎる場合は、その部分だけがミドルウェアになったりライセンスされたりすることもあるだろう。物理エンジンはその一例である。そして、中途半端なものを敢えて作ることは、車輪の再発明どころかパフォーマンスや表現力で劣る劣化版を給料をもらって作る独りよがりな行動でしかなく、教育的見地からは実のあることだとしても、商業的観点からは正当化することができない。

まともな独自エンジンを開発できるプログラマーの人件費をゲームエンジンの費用が上回る可能性があるのは、Unityのように開発者ごとに費用が発生するモデルで開発チームに非常に多数の開発者が属している場合か、Unreal Engineのようにゲームの収益をエンジン開発元に一定割合支払うレベニューシェアモデルでゲームが非常に大きな収益を上げた場合のみである。そして今や、Lumberyardのように、大資本が開発を支援する、オープンソースで無料の高品質なゲームエンジンが存在する時代なのだ。

創作物に対して100%のコントロールを保持したい、サードパーティに依存するリスクを排除したい、との意識はもっともだが、しかしそこにこだわっていてはできるものもできあがらない。ゲームエンジンが持つ真にユニークな機能に依存して全てのアセットやスクリプトやシェーダーが構築されているならともかく、現代のゲームエンジンが提供する機能は多くの場合似たり寄ったりで、代替可能な汎用性を意図的に持たせてあるものだ。従って、あるエンジンより別のエンジンが意図した仕様を実現するにあたって優れていると思われる場合は乗り換えも選択肢となる。

また、1度作ってリリースすれば終わりの、かつてのコンソールゲームと異なり、インターネット上に継続的サービスとして公開されているオンラインゲームは、継続的に進化して時の審判に耐えなければならない。そのようなときに、専門のR&D部門を擁する大企業やミドルウェア開発会社によって開発され長期的に維持されることがコミットされているゲームエンジンではなく、いつ異動したり退職したりするかわからない数人のプログラマーによって作成されたエンジンを用いることは、外部のソリューションを採用した場合にかかる費用とプログラマーの人件費とを天秤にかけただけでは判明しないリスクを抱えることを意味する(もちろん、大企業が開発しているゲームエンジンだからといってリスクがないとは限らない)。

かくして自然淘汰の結果、ゲームプログラマーの2極化は止まること無く進展していく。ゲームプログラマーのアイデンティティとも言える評価軸によって構成される社会階層の上部に一握りのエリートがいる一方で、社会階層の下部に属するプログラマーは、純粋なプログラマーとして存在し続けることを許されない。アーティストの役目とも重なる、コンテンツを生み出すアート制作側に回ることになる。

しかし実際には、テクノロジーとアートは2つに綺麗に別れるものではなく、テクノロジーを用いてアートを生成することは現代のゲーム開発のテーマの1つとなっている。そして、数学的才能がある者がこの分野をも制していくことになる。

残った仕事は、アーティストのためのUIを作ったりアセットを変換したりするツールプログラマーの仕事くらいだ。しかし、ツールや簡単なシェーダーを作っているようでは、全く地位は安泰ではない。アーティストがコーディングを学んでテクニカルアーティストとなり、ゲームプログラマーのお株を奪うこともある。

Unityによるゲーム開発の民主化の逆説とは、Unityの使い方を知っているだけだと、プロの開発者としては待遇は改善しないということだ。民主化の過程で斬首刑に処される貴族もいたかもしれない。社会階層の下部で、かつてのゲームプログラマーは、「Unityプログラマー」となり、ゲームエンジンの末端オペレーターとなって、スクリプトを書くレベルデザイナーやmod作者とほとんど変わらない存在となってゆく。サーバーサイドにあっては、かつてのインフラエンジニアはクラウドの末端オペレーターとなってゆき、そのような単なるオペレーターではないと自負する抵抗勢力がサイトリライアビリティエンジニアと称するようになるが、そのようなエンジニアが社内にいなければ競争力を維持できないほどのビジネス要求を真に有する企業は少ない。

いずれにせよ、マネージドサービスの領域は拡大する一方だ。よくできたプログラムのほうがその辺にいる並の人より信頼性が高いのだから当然である。社内で開発したフレームワークが世界標準になってしまうFacebookのような会社のエンジニアリングと、その他大勢のエンジニアリングは性質が異なる。どんどんエンジニアの仕事は便利なツールに奪われてゆく。エンジニアがエンジニアを駆逐する競争が常に起こっている。

このような展開は、ゲームの分野に限った話ではない。工業化の本質が、機械による自動化であり、ITの本質が、自動化のための制御システムとプレゼンテーション層の低コスト化であってみれば、既に1世紀以上続いている古典的な傾向の反復の1バージョンに過ぎない。ゲームエンジンが2つの層から成り立っていること、ソフトウェアがシステムとアプリケーションの2つの層から成り立っていること、そのような類型は枚挙に暇がない。それら、特権リングで保護された階層は、1つのコンピューターで複数のアプリケーションが動作する社会状況を反映した政治的要請と、共通処理が最小限の空間を占有する効率性とを両立させるものだ。

1つのアプリケーションだけが最大の効率で動き続ければよいのなら、複数の層が存在する構造は必要なく、かつてのゲームコンソールのように、個々のゲームタイトルが直接的にコンピューターのハードウェアを駆動する形式で良い。しかし、コンピューターの機能が複雑多様化し、また開発人員も増加し多様化すると、そこに政治的な調停のための構造が求められるようになってくるのだ。その中で、技術的ノウハウが結集する部分とそうでない部分とが分離してきて、前者は高度な専門性を要するものとなり、そこを押さえることが勝利の鍵となる。ゲームエンジンやOSなどのプラットフォームが、勝者総取り的な人間社会の縮図となっている、そこに普遍的な構造がフラクタルのようにして現れてきていると考えると面白くはないだろうか。

道具としての絵筆それ自体を作れる者と、絵筆を用いて絵を描く者がいたとして、どちらが偉いわけでもない。しかし、ゲームプログラマーの世界では、前者、それも良質な絵筆を作れる者が圧倒的に稀少なのだ。そして、その稀少なエリートが、エリートでない他の連中の存在意義を奪い続ける。民主主義の中から現れる矛盾としての「寡頭制の鉄則」は、コンポーネントのコピーと再利用が可能なコンピューターの世界では、より純粋な傾向として顕現してくる。

エンジニアリングは、1つの自動化によって1000の手作業を無くすことに等しい。それはエンジニア間でも同様で、自分がやっていることは自分にしか出来ない唯一無二の仕事であるとの実感は持ちにくい。どこかにいるスーパーエンジニアの縮小再生産としての作業をやっているのにすぎないのではないかという疑心暗鬼に襲われることもある。

そうして存在意義を奪われた連中が頼れるものは、保護主義だ。構築したシステムにコピーを妨げる人為的制限を設けることにより、車輪の再発明を促進するのだ。疎結合のSoAは非効率な再発明を多数発生させる副作用もある。かくして、似たようなシステムは既に世に存在するにも関わらず、繰り返し繰り返し同じようなものが別々の人々によって作られ続け、それによって生活している者も多い。それに対し、フリーソフトウェア運動やオープンソースソフトウェア運動は一石を投じるものであり、集合的な人間社会を、進歩はさせないまでも、無駄の少ない状態へもってゆく。

しかしここでは、エリートの話をしたいわけではない。私自身、ゲームプログラミングの世界でのエリートを目指す意欲も能力もない。そういうところの第一線で活躍している人たちは『ゲームアプリの数学』に書いてあるようなことを中学生や高校生の時点で熟知した上で頭角を現しているものであり、そこからさらにプロとして研鑽を積んでいる。私は幸い、第一線で活躍している人々がどんなことをやっているか、成果物を読んで理解し楽しめるだけのリテラシーを獲得することはできたが、その分野を進歩させる貢献ができる気は全くしない。

また、先に私は、大衆に向けたアクセシブルな表現活動に興味があると書いた。それはゲームと関係のないプログラミング全般についてもあてはまる。知的興味から、ある時点から私は低レベルなコンピューターの仕組みにも関心を持つようにはなったが、入り口はあくまで、参入障壁の低いスクリプト言語によるプログラミングであったり、それによって生み出される成果物から得られる喜びだった。より多くの人に、物を生み出す能力が備わることは、とても喜ばしいことだ。

しかしそのことは同時に、労働市場において、その能力の需要が低下することを意味する。これは、需給の問題なのだ。株式投資に親しんだ人なら馴染み深い事象として、どんな胡散臭い企業の株でも、何かの拍子でその企業の関連思惑に追い風が吹き誰もが欲しがるようになって、市場においてその稀少性が高まれば、際限なく高騰する。つまり、物事自体の本質絶対的な価値などというものは金銭的価値を測る上では2次的なものであり、市場での需給こそが全てなのだ。

需給の問題を頭では理解していても、正面から向き合うことを避けている人も多いのではないか。市場の相対性に正面から向き合うと、自分の絶対的な価値などあたかも存在しないかのような不安を覚え、自己を否定されるように感じるからだ。好きだから現在の仕事をやっているはずなのに、その仕事によってはいつまで経っても報われる気がしない、そんな諦めの感覚に陥ることすらあるかもしれない。

とはいえ、市場は開かれているのだから、1度くらいはこの市場のルールに則ってゲームをプレイしてみるのも一興だろう。労働市場での稀少性を高めるには、世間で難易度が高いとされていることができるというのが1つ。前述のゲームプログラマーとしての資質を2つとも満たすことは一例だ。人のやりたがらない辛いことだが必要とされることを請け負うというのが1つ。朝から晩まで人の生老病死にまつわる苦悩や穢れに付き合わなければならない医師などはその一例である。

また、雇われ者の立場で労働市場での稀少性を上げるということは、時給ないし時間単価を上げるということだ。単価を上げてスケールアップできないなら、起業し、プロセスを自動化するかあるいは他の人間にノウハウを伝授しつつ低賃金で使役して、スケールアウトする道がある。

そして、結論から言うと、モバイルゲームを開発する会社で、レベニューシェア契約などの有利な条件のない一般的サラリーマンとしてエンジニア職で副業もせず働きつづけることは、そのようなスケールアップやスケールアウトの機会を最初から諦めていることなのである。もちろん例外はあろうが、大半においてそういう状態であり、しかも競争環境は厳しさを増しているのだ。

こうした話は、いかに成功し、それによって待遇を引き上げるか、といった個人の課題であり、つまるところ金銭の問題であるとも言える。しかし、金銭面の話ばかりしていると、結局は金かとうんざりする向きもいるに違いない。

特にゲームに関しては、成果物としてのゲームタイトルとはアート作品であり、表現手段であり、金銭では推し量れない崇高な価値を体現するものであると考えている開発者も多い。ゲーム業界ではない一般のIT業界にいる人からすれば、Webサービスを開発した人々の名前が表に出てこないことは不思議でも何でもないことだろう。ゲーム業界人は違う。

ゲームは単なるユーティリティではなくアートであり、作品性があり、作者なくして成り立たない。ゲームは作品であって、開発に参加した人々は正当にクレジットされなければならない。かつての暗黒未開時代には社員引き抜きを恐れてニックネームしかクレジットしない慣行があったが、現代ではまともなゲームならスタッフの名前がエンドロール等でクレジットされるようになっている。海外では、クレジットデータベースMobyGamesにゲーム業界人の活動履歴がきちんと記録されてゆく。

また、AAAタイトルを擁する大手スタジオのエリートプログラマーであっても、本当に造りたいものを自分の手で造りたい人々は会社を辞め、独立して自分たちのスタジオを立ち上げてインディーゲームシーンを華やかに彩っている。現代では、PC向けのSteamやモバイルプラットフォーム上のアプリストアなどの配信手段に加え、資金調達手段も多様化してきているため、アイデアが持つ崇高性が広く共有され支持を集めることができれば、資金は後からついてくるのだ。そのようにして資金を調達する場合の助けになるキャリア上の実績がない場合でも、プロではない開発者たちにより7年かけて開発され、自前で工面した資金で人を雇って製品レベルまで制作し大ヒットとなった"Cuphead"のようなゲームもある。

作品を世に問う使命感に突き動かされてゲーム開発に邁進している開発者であれば、たとえ職業がソフトウェアエンジニアでも、仕事がテクノロジーの追求というよりアーティスト寄りになっていったとしても、むしろ作品性の実現こそが究極目的なのだから、願ったり叶ったりと考える幸福な者もいることだろう。それが本望なら外野がとやかく言うべきことはない。

しかし逆に、やむにやまれぬ創作の欲求に従ってゲーム業界に就職したものの、若い頃に志した目標と、自分が現にやっていることとがずれてしまっていたとしても、蓄積したしがらみによって気がついたら抜け出せなくなっているケースもあるはずだ。サンクコストの問題で、自分がそれまで人生をかけて打ち込んできたものが否定されてしまったら明日から生きていく気力がなくなるかもしれない。そうならないように、自分の魂の声に嘘をつきながら日々を過ごしている人もいるのではないか。

現在自分が参加しているプロジェクトは、子供の頃の自分に対して恥じることのないものか。自分のやっていることが、ゲームの世界地図、ゲームの歴史の中で何か意味のあることなのかどうか。あるいは、家族の食い扶持を稼ぐためだけの日銭稼ぎの道具なのか。自問自答してみればよい。アート作品としてのゲームなのか、最大多数の観衆に向けた娯楽を提供し金銭を稼ぎ出すための装置としてのゲームなのか。この容赦なく辛い世界で生き残るために、選択や妥協を強いられていると感じている者も多いことだろう。あるいは、ゲームでないITの世界でも、拝金主義者的に金を稼いで下らないことに使うこと自体を目的とするのではなく、「世界を変える」こと、社会的意義のあることを成し遂げることこそが最重要であると考えている者もいるに違いない。

しかしながら、自分が携わっているものが世界を変えていけるようなインパクトをいずれ持ちうるものかどうか問われた場合に、100%自信を持ってYESと言い切れる者がどれだけいるだろうか。先行サービスの単なる模倣であれば、プラモデルを弄ぶような楽しみはあるのかもしれないが、世界を変えるなどと標榜するのはおこがましいだけだ。もし、世界を変えているかどうかが火を見るよりも明らかでないのなら、では何を判断基準にするかというと、最も明白なものは、成果物が上げた収益である。市場原理によって、需要の高いものは多く売れる。市場の支持が、金銭的な収益の数字に現れる。それが高ければ、それなりに多くの人々に影響を与えていると想定できる。

だが、そこで高い収益を会社が上げたからといって、それに比例して社員の報酬が上がるわけではない。社員の報酬は、会社が上げた収益とも緩く相関しているが、それよりもむしろ労働市場での価格に相関性が高いというのが私の見解だ。

日本のコンソールゲーム業界では儲けをプロジェクト内で分配する文化のある会社もあったが、広く日本のITの分野では、上場企業が従来水準に比べ破格の給与を社員に支払う例を聞かない。払わなくても同業他社と同水準の社員が獲得でき、競争で勝てるなら、給与を可能な限り低く抑えることに合理性がある。既に述べたように、技術力の高さが高収益の決定的要因ではないとみなされているのならば、尚更だ。日本のIT業界の問題はそこにある。

そして、現代日本のモバイルゲーム業界に限定して述べるならば、ゲームアプリ開発における、開発の進捗を律速する最重要なボトルネックは、アーティストによるコンテンツ制作の人件費である。ここは純然たる人月ビジネスだ。そこはエンジニアリング上の問題と異なり、圧縮できない問題として残されている。現時点では、エンジニアリングの進展によって解消されうる問題ではない。

ゲーム産業は構造的にまだオートメーションを徹底できない。アセット制作は人件費のかかる絶対的コストである。フォトグラメトリーで取り込んだオブジェクトが後処理もなしにそのまま自然に動くような世界は数十年後に来るかもしれないが、それまではゲーム制作はコストの掛かる高いギャンブルだ。この事実を悟ったことが、私がモバイルゲーム開発エンジニアという職業を諦めた最も大きな理由の1つである。

ゲーム開発は、財宝獲得を狙う船に乗って3年の旅に出るようなもので、成果無しで船が沈むことも十分ありうる。資本集約、労働集約、知識集約という言葉があるが、労働集約型の業界ではできることも限られてくる。人月商売で、賃金の低い若者を教育コストをさほどかけずにどう使い捨てるか次第の暗澹たる現場もそれなりにあるはずだ。

プロジェクトの成否は、ゲーム自体のエンジニアリングではなく、アートパイプラインに圧倒的に大きく依存している。そうであってみれば、予算の範囲内に限定された投資を圧倒的に多くアートへ振り向ける決定が行われても当然なのだ。巨大なリスクと化したゲーム制作事業での1回のチャレンジのリスクを下げるには、コストを押し下げるしか無く、そこでエンジニアリングが割を食うことは想像に難くない。誰が努力したとかしていないとかいった倫理的な話や精神論とは全く無関係に、単にそういう構造が資本主義的に最適であるだけの話だ。

もちろん、収益を第一目標とするのではなく、アートとしてのゲームづくりを貫いており、収益は二の次であるとする企業も存在する。そして、エンジニアリングはその表現を研ぎ澄ますにあたって不可欠な要素である。John Romero曰く「プログラミングとは論理を基礎とした創造性」であり、プログラマーもまた、論理を道具とするだけで、アーティストの一員なのだ、と捉えることもできるだろう。成果物は高度なアートとして認知され、その評判によって一定の商業的成功を収めている。例えば"INSIDE"のアーティスティックな方向性は、Unityのスクリプタブルレンダーパイプラインがまだ公開されていなかったころに、Unityのソースコードライセンスを得て描画をカスタマイズして実現されている。開発には実に6年が費やされた。テクノロジーがアートへ昇華する、そんな技術開発への投資を行う企業が、プラットフォーム企業を除くと、日本のゲーム業界にどれだけあるだろうか。

そして私自身はといえば、そんな長期間にわたり続行するプロジェクトに主体的に関与することには興味がない。人生の大きな部分を占める時間と労力とを1つのプロジェクトに費やすことによって労働市場での稀少性を高める手法は、私は取らないし取れない。私の脳は既に、超高速でコンテンツが生産され消費されるネットのスピード中毒に冒されてしまっている。

また、問題解決がエンジニアの存在意義だとすると、エンジニアのところには辛い課題ばかりが積まれてくる。それをパズルで遊ぶようにひたすら解き明かすのを楽しむ仏のような人もいるかもしれないが、実際にはなかなかきついものがある。さらに、ゲームというクリエイティブな活動あるいはアート作品と、自分の内なる感性とが摩擦を起こすようになると、尚更辛い。機械のように問題を処理するのが難しくなる。ゲームのテーマに興味がゼロの状態でゲーム開発に参加し続けるのはなかなか困難な苦行だ。

GTAが好きな人間が現在の日本のスマホゲームのランキング上位を占めるゲームに興味を持てるだろうか。そのゲームは、なにか間接的にでも新しい構造を含んでいるか? 単なる既存ゲームのノスタルジックな焼き直しではなく、新規の要素があるか。「世界を変える」というモットーに何か貢献しているか。

美味しいからといって、同じ味のパンを毎日毎日焼き続けることに人生の時間を費やしたいわけではない。模倣が溢れているモバイルゲーム市場であるならば、事前登録どころか開発過程からファンに公開して、ファンと一緒に造り上げるような方式のほうがリスクが低いのではないだろうかと思ったりするのだが、残念ながらそんな心の余裕のある会社はほとんど無いようだ。

ゲーム業界で、コンテンツを作成したり、同じようなシステムを再発明する作業が、エンジニアをエンジニアたらしめているスキルが相対的に低いエンジニアの役割となってきていることは先に述べたとおりだが、同じようなことはゲーム以外のIT業界でも起こっている。

アルゴリズムやデータ構造といったコンピューターサイエンス上の問題のジャグリングに長けたエンジニアたちや、機械学習やAIのような数学的理論を解して操れるエンジニアたちが一方にいるとすれば、対極にはデータフローのI/Oをつなぐだけのエンジニアたちがいる。そのようなエンジニアを、私はIT土方ならぬ配管工と呼んでいる(マリオは配管工を辞めていた)。

要求仕様どおりに右から左にAPIやデータベースの出力と入力をつないでいくことが配管工の主業務で、かつての電話交換手のようにいくらでも替えの効く存在だ。日本のIT業界の停滞の象徴とみなされて久しい旧来のシステムインテグレーター(SIer)企業で働くシステムエンジニア(SE)とは、おそらくそのような作業を行う人々なのだろう。ゲーム開発で言えば、ノードベースの開発環境でノードのエッジをつないだり簡単な制御構造を付けたりするだけの作業に等しい。

配管工は、アーティストではない。要件を自分の解釈で表現する余地が極めて小さいか存在しないからだ。また、配管工は、プロダクトマネージャーでもない。要件定義ならぬ要求定義を行うことができないからだ。要求定義ができないという意味では、SIerのITアーキテクトも、ハイレベルな配管工の一員といってよいだろう。

時々、Webブラウザーのような基盤上だったりOSが提供するウィジェットやUIフレームワーク上だったりのフロントエンドや、コンテナのフレームワークを、あれこれと品定めしているようなWebエンジニアの人々が、IT業界と呼んでSIerと自分たちとを一緒くたにしてくれるなとSIerを馬鹿にするような論調を目にする。しかし、私から見るとどんぐりの背比べでしかなく、SIerの人月商売を笑ってはいけない。

単に今はWeb業界の平均年齢が若いだけで、「『猿の惑星』は荒廃した未来の地球の姿であった」とのストーリー同様に、現在のSIerの姿が日本のWebエンジニアたちの未来の姿、他山の石となる公算が高い。何故なら、配管工ではないエンジニアたちですら、その地位は安泰ではないからだ。特に、コンピューターサイエンスの問題を解く能力が高いことでその存在意義を勝ち得てきた類のエンジニアは、機械学習の発展によって地位を脅かされようとしている。vectorとlistのどちらを使うのが適当か、などといった最適化の問題を、人間が解くより機械が解く方が効率的であるとされるようになる時代は近い。そのようなエンジニアたちですら地位が危ういとすれば、配管工に未来があるとは到底思えない。

そのうち、Webエンジニアの仕事が、古臭くてつまらないありきたりなものに堕するときがやってくる。あるいは、既にそうなっているのかもしれない。延々とWebフロントエンドやインフラにこだわり続け、経済発展の表舞台から取り残されていく。政治的理由から存在しているだけのI/O機構を、配管工として、どう配置しつなげるか、それだけのためにあくせくと働いている。そんな全ての悲しいシステムのために、哀悼の意を表したい。

決済システムや個人のデータの扱いなど、怪しい部分が1つでもあっては困る類の処理はあるので、必ずしもSoftware 2.0AutoMLのようなものが主流になるとはいえないが、ゲームのグラフィックスなど、少々の精度のずれがあってアーティファクトが出たとしても妥協可能で整合性がどうにか取れる問題については、機械が人間の仕事を奪っていく流れが止まらないだろう。

人工知能がシンギュラリティに目覚めた瞬間、人類は滅びるのかもしれないなどと危機を煽るつもりは毛頭ないが、ハイレベルのC言語を書きコンパイラで翻訳するようになり少量のインラインでしかアセンブリを書かなくなったように、アルゴリズムを人が直接記述する時代は早晩終わるのではないか。あるプログラミング言語が廃れオワコンになる、のと同様に、プログラミングというアート、職人芸がオワコンになる可能性がある。いずれ、囲碁のチャンピオンが機械に敗北した時に感じた虚脱感を、プログラミングのチャンピオンも知ることになるのだろう。プログラマーという職種があった、という時期が、人類にとって特殊な時期であった、と後年振り返られるのかもしれない。

近い将来に、まずは、最高峰のエンジニアがグラフィックスレンダラーやクラウドのような高度なシステムを開発して提供し、中途半端なエンジニアは不要になる。終局的には、夢みる機械が機械学習によって、現実世界に似せたシミュレーションを最高速で実行するアルゴリズムを編み出すようになる。

コンソールゲーム開発の黎明期、ゲーム開発者はゲームデザイナーであり、プログラマーであり、アーティストでもあった。機械学習によって、ゲーム開発は、原初の状態へ先祖返りしてゆく。その時生き残るのはプログラマーではない公算が高い。AIを従えたアーティストが、最高のツールを使い思うままに創造すればよい。その未来のヴィジョンが見えてしまう瞬間から、1エンジニアとしての自分の今の歩みは、耐え難く遅い、志半ばで倒れることが明らかな道に思えてくる。焦燥感と一抹の寂しさが伴う悟りだ。

もちろん、私は、紙とペンが無くならないように、配管工の仕事そのものが無くなるとは思わない。ただ、難易度が高いと思われている仕事がなくなっていくと、仕事の稀少性が下がり、単価が下がっていく。猫も杓子もプログラミングができるようになり、プログラミングが掛け算九九並に一般的なスキルになれば、単価の低下は避けようがない。このことは、笑い話にされることもあるが、真実を突いているところもある。雇用流動性が米国より低い日本では調整がより緩やかに、密かに起こっていくというだけだ。

そして、プログラミングスクールが盛況な米国ではプログラマーの単価が下がりそうなものだが、実際にはそうはなっていないところを見ると、そもそも米国の市場と日本の市場とでは、性質が違うのだと結論づけざるを得ない。それが、青天井の世界と、局所的な市場との違いだ。

どこか他の場所に、新しい、モバイルゲーム開発競争ほどには混んでいないブルーオーシャンの市場で、かつ大きな可能性を孕んでいるものはないものだろうか。その前に、ゲーム開発をやっているエンジニアが問題解決の際に何をやっているのか、他に応用可能な能力はないか、考えてみたい。

エンジニアがゲーム開発に際しグラフィックスに関する問題を攻略するには2つのアプローチ方式がある。1つは、光を含む物理現象のシミュレーションを簡略化したり近似させたものを工夫して効率的に動かす方法を理論的に研究すること。もう1つは、経験的に人間の認知機能や感性に訴えかける力があるとされてきた照明など、演出上の特殊効果を学ぶこと。後者は、アーティストがやっていることとほぼ同じだ。人間の認知機能の解明が遅れているので正解が存在せず、人海戦術的な試行錯誤しかできない。逆に言えば前者の理論的研究ができない者でも職人的経験知によってどうにか暫定的な解に辿り着けるというわけだ。

そして、近年盛んなVRも、同じような構図の中にある。現在の大半のVRコンテンツ制作活動は、従来の3Dゲーム開発と本質的に変わるところはなく、3D空間でリアルタイムにグラフィックスを描画するにはどうすればよいかという問題に毛が生えた程度の単なる延長にすぎない。現在利用可能なハードウェアの性能や機能が、人間の精細な認知機能を満足させるだけの出力を行える水準に程遠い不十分なものであるのが現状だ。その現状を取り繕うために、従来のレンダリングパイプラインの一部を省略して最適化してみたり、VR酔いを惹起しやすい内容を避けたりといった、大雑把な試行錯誤が、早くからVRに着目してきた中小規模の開発企業での活動とノウハウの大半を占める。

プラットフォーム側で解決すべき課題と、アプリケーション側で解決すべき課題がある。注意しないと、プラットフォーム側での解決の劣化版をでっち上げるところに延々とリソースをつぎ込むことになってしまう。膨大な研究開発費用を注ぎ込めるVRプラットフォーム企業による開発成果が、ハードウェアや、ハードウェアを制御するソフトウェアスタックに組み込まれ、安価に利用できるようになるブレイクスルーが到来するまで、垂直統合的にハードウェアからソフトウェアまでコントロールできていないVRコンテンツ制作側では、群盲象を撫でるとでも形容するべき実に粗雑な実験が繰り返されるのみだ。

つまり、VRと一口に言っても、先に述べたゲームエンジンの2層のような分離が業界内では起こっている。そして、早期からVRに投資する際に不十分なハードウェアを補完するべくコンテンツ制作専業の企業が積み重ねてきた対症療法的ノウハウは、ハードウェアの進化とそれに合わせたソフトウェア開発パラダイムの進化、例えばポリゴンを前提としないレンダリング手法によって陳腐化し、脆くも崩れ去るかもしれない。そして、VRハードウェアが十分に進化すると、VR化の層はプラットフォームが透過的に扱うものとなり、VRコンテンツ開発は特殊なノウハウを必要としない、現在の3Dゲーム開発と何ら変わらないワークフローになる。ソフトウェア側のインフラであるOSやゲームエンジンもVRハードウェアの進化に対応して進化しているからだ。

これは、VRの世界が、性能が頭打ちで限定されて皆が横並びで競争できていたガラケーや初期のスマートフォンの環境で起こっていた競争とは全く位相を異にする環境であることを意味する。スマートフォンのように、通話機能や音楽プレイヤー機能を組み合わせることによりコンピューティング性能が未熟なままで膨大なインストールベースを得るまでに普及することが期待できない市場なのだ。VRに代わって、似て非なるARが注目されているのは、この点による。ARのコンテンツはVRほどのハードウェア性能を一見要求しないように見えるし、エンターテインメント性よりは実用的なアプリケーションが期待されている。VRのように現実に取って代わるのではなく、ARは現実を補強するものなのだから、現実世界での応用性があるのは当然だ。

しかし、ARはVRほどの没入性は持たず、Pokémon GOにしてもARがその人気の要因であったとは言い難く、仮にARで没入性を高めようとすると、クライアントでもクラウドでも膨大な演算処理性能と現実世界の精細なデータが要る。そこが、VRの普及を一旦諦めてARに向かったエンターテインメント系アプリ開発者の矛盾であるし、私がPokémon GOが実現しているバランス(非常に簡素なクライアント側処理と、非常にリッチなクラウド側処理)に衝撃を受けた点でもある。

とはいえ、Pokémon GOもGoogle MapsだけでなくOpenStreetMapをも使い始めているとの報もあり、またAR Cloudを提供するベンダーが増えることによって、現実世界の詳細なビッグデータが将来には広く公共に利用できるようになる可能性もあるかもしれない。また、クライアント側でも空間認識処理用ハードウェアを備えた眼鏡型ハードウェアが広く普及するのは時間の問題だろう。しかし、まだ少なくとも3、4年はかかる。スマートフォンは毎年新製品がリリースされ買われてゆくほどに既に成熟しているが、一般的には、VR HMD同様に新しいハードウェアは導入に時間がかかる。ハードウェアの刷新サイクルやインストールベース成長予測については、コンソールゲーム機の世代リフレッシュ戦略を参照するとヒントを得られるかもしれない。

ではそれまでに何をするべきか? 企業に就職することは、自分の身を賭けてその企業に時間という財を投資することに等しい。投資というからには、成長こそが全てだ。私が2017年にベットしたテーマはAIである。そして、AIに関連する企業の中でも、AIと一般に呼ばれうるものを製品化しわかりやすくIoT機器として普及させているのがAmazonだっただけのことだ。だから、付与されたRSU現物株の売却制限期間は別としても、この先3年はAmazonで勤める動機が自分にはある。

現状、AIはAIでも、良いAIを錬成するには膨大なデータ、ビッグデータが要るので、ビッグデータ収集手段を欠く中小企業はバズワードとしてのAIに関する情報格差を利用して稼ぐことしかできない。その点、Amazonには必要な資源が垂直統合的に、また同時に幅広い水平方向にも、揃いつつある。今の私はAIの専門家ではないから、直接的にAIに関わることはできないが、間接的に恩恵を受けることはできる。

先に挙げたゲームプログラマーとしての資質、数学的才能とコンピューターサイエンスの才能とを兼ね備えたエリートたちの中で、NVIDIAがゲーム用GPUの会社からAI分野へ業態を拡大したように、現在はリアルタイムコンピューターグラフィックスの分野からAIの分野に転じた人々もいる。コンピューターグラフィックスが最終的に出力機器にそれらしいフォトンを出力して終わり、となるのが虚しくて、何か次につながる社会的意義のありそうなAIに転向する、といった思想的背景で分野を移した人もいるかもしれない。

しかし、私の場合はそんな思想的整合性があるわけではなく、祭り好きなので、単に面白そうな祭りの起こっているところの中心へ、見物のために近付くべく出かけていっているだけのことだ。面白いテーマとしてはブロックチェーンの分散システムでもなんでもよいのかもしれないが、Amazonの持つ資源にアクセスできる機会を運良く得ることができたので、まずはそこから新しく勉強を始めてみたいと思っている。

そして、そのように、自分の元々の強みに新しい縦軸のテーマを足して、水平方向に自分の面積を拡げていくことが、労働市場での稀少性を高めるためのもう1つの手法である。先に挙げた、難易度の高いとされていることをやりとげるような稀少性の高め方がスペシャリストの道、配管工を脱してエリートに至る垂直方向の道であるとすれば、水平方向の道は、できることを拡げていくジェネラリストの道とも言える、との構図は一般によく指摘されるところだ。

しかし私としては、水平方向の道を、ジェネラリスト、あるいは専門性を持たない汎用の何でも屋、と結びつけることは、世界的なITの労働市場で実際に起こっていることをうまく表現してはいないと思う。私が目撃していると考えているのは、既存職種のディシプリンからの水平方向への発展による、新しい専門職種の発生と勃興である。

米国での状況を伝える2017年9月のGlassdoorの調査によれば、ソリューションアーキテクトも新しい専門的なポジションの一翼を担い、給与面ではIT技術系ポジションで最も高い中央値を得ているという。ピンからキリまでいるソフトウェアエンジニアの場合、引く手数多のAIエンジニアのようなポジションで年収1億を超えるプレイヤーも含むアスリート的世界が展開されているはずだが、こと中央値になると、経験が物を言うソリューションアーキテクトのようなセールス/マーケティング系ポジションが堅いといえるだろう。ソリューションアーキテクトの場合、実績を積み業界経験を買われて就任する場合が多いので、『ウィザードリィ』でいえば、NinjaやらSamuraiやらLordやらBishopやらの上級職へのクラスチェンジ的に捉えられているのかもしれない。

そうした比較的新しい職種の先駆的なものとしてテック界隈で取り沙汰されてきたものでは、グロースエンジニアやグロースハッカーと呼ばれる人々が脚光を浴びたことは記憶に新しい。さらに近年では、2017年2月発表のHiredの調査によれば、企業のサイズが大きくなるにつれプロダクトマネージャーやデータサイエンティストといった職種が重要性を増してきたとされる。この調査では他にもサンフランシスコの高い物価を基準として調整した各地のソフトウェアエンジニア給与も載せており、例えばシカゴは16万9000ドル(1894万円)で、かなり高く見える。そこで、シカゴのソフトウェアエンジニアの平均給与の実際の値を見ると、10万8000ドル(1210万円)である。

そして、シカゴと東京の家賃が同程度であることを考慮すると、日本のソフトウェアエンジニアが稼いでいる平均の2倍以上の額をアメリカのソフトウェアエンジニアたちは稼いでいるのだ。非常に大雑把な試算による比較ではあるが、誤差レベルの僅差ではなく2倍も差がついているとなると、当たらずとも遠からずだろう。最早別の職種と呼んでもよいレベルだ。これを仕方のないことと見るのか、あるいは何か自分にできることはないか考えるか、それだけのことである。

GlassdoorPaysa等のサイトが収集した給与情報では怪しいと考えるならば、アメリカ政府が開示している公式資料をあたってみればよい。例えば、カリフォルニアでのIT職業従事者の給与の平均は1000万円を超えている。また、アメリカに就労にやって来る外国人専門技術者が取得するH1-Bビザ応募の開示資料を検索可能なH1B Visa Salary Databaseに会社名とポジションを入れて検索すると、そのポジションの実際の給与額を窺い知ることができる。

以上が、転職に際し、業界のトレンドをめぐって私が思案したことになる。

ところで、ここまで散々、配管工の仕事について貶していると一見捉えられかねないことを書いてきたが、しかしそのように解釈されることは本意ではない。問題は、特に日本で、ソフトウェアエンジニアの職業を選んでサラリーマンとして働く人々が、既に存在する仕様を実装する配管工としてのみ働く限り、待遇の伸びが頭打ちを迎えるポイントが早々と、あまりにも早々と訪れることなのだ。青天井モデルではない、飽和が早い環境では儲からない、というのは、モバイルゲームのビジネスモデル設計では常識だ。それを、自分のキャリアをハックする際にも当てはめるべきだ。

このように書くと、金銭のことばかり書いていてエンジニアらしい技術へのリスペクトが無いとか、冷めた見方だとか捉えられるかもしれない。しかし、他者の運命に無責任な扇動家の熱狂に一方的に心踊らされる情報弱者でいるよりは、現実を直視し、納得してから物事を考えたほうが良いに決まっている。特に若者には、これからどんな世界が待ち受けているのか、覚悟を持って生きて欲しい。

また、特に仲が良い人がどちらかの会社にいるわけでもなく、仮に同じようなことをやるのであれば、賃金が高い方に行くのは当然である。賃金が高くて仕事も面白いとなれば、行かないほうがおかしい。優れた仲間と働く機会も、賃金が高い方に行ったほうが見つかりやすい。賃金が高いだけではなく、働く時間は短く生産性は高く、時給換算だとさらに割がよいかもしれない。

逆に、下らない作業を何回繰り返しても、より高度なことができるようにはならないものだ。いくら洗い場の仕事をやってもそれだけではどうにもならず、次のステージに進ませてもらえない限り寿司が握れるようにはならないのである。組織に属する会社員とはいっても、スペシャリストとしての側面が強調されるソフトウェアエンジニアはその点で他の営業やらマーケティングやらといったポジションとは異なっている。実のない作業のループにはまりそうになり、そこで学べるものがもう何もないのなら、さっさと逃げるべきだ。その退屈な作業を繰り返すことに対しての迷惑料が支払われないのなら尚更。

ゲームアプリの数学』のテーマは、配管工の層から深層を覗き込むことだ。壁を破り、深層へのディープダイブをやってみたい、あるいはやらねばならないと感じた人々が、第一歩を踏み出せるように書いている。世の中にこの本の内容を本当に必要としている人間がいるだろう(かつての私のように)と思ったから書いたのであって、配管工の立場や趣味の日曜大工で満足な者を一番の読者として書いたつもりはない。だから、この本は自分には要らない教養だと述べる読者の方がいるのも想定内である。

もちろん、本が多くの人に売れることも大事だし、なるべく多くの人に現代のゲーム開発とはなにか、その本質的理解を得てほしいと思ってはいる。しかしながら、誰でもがその理解を何も努力せずに得られるかというと、現実はそこまで甘くはないというのもまた真実である。従って、私も後押しはするが、本人も少しくらいは努力する意思があるのが前提となっている。

ゲームアプリの数学』韓国語版に推薦文を寄せて下さったUnity Technologies韓国支社のエンジニアの方の表現を借りるならば、プロのレーサーがレーストラックやレーシングカーの構造を熟知していなければならないように、Unityゲームエンジンが裏で何をやっているか理解していないと困る時、例えば最適化の時や、Unityが肩代わりしてくれていた処理を自前で再構築するかあるいはUnity側の処理と共存しながら拡張していかなければならないシェーダー開発の時など、プロの開発者を志す人々が遭遇する、最も困難な障害を乗り越えたい、生き残りたいとの切実な思いを助けたい一心で書いた。そのように、対象のことを骨の髄まで知っておきたいと欲しない人は、私は対象に対する愛が足りないのだと思っている。

エンジニアでなくアーティストであっても理論を理解しシェーダーを書いて一人前になってゆくのが現代のゲーム開発であってみれば、『ゲームアプリの数学』の内容はせいぜい高校数学プラスアルファ程度なのだから、読んで損はない。1冊にまとめた本として誰でも手に入る状態になっている以上、この程度の内容は知識として押さえているようでなければプロのモバイルゲーム開発者として働くのが難しい状況になるかもしれない。

また、エンジニアは実装はできてもユーザーのことを考えた設計はできないとの偏見は馬鹿げている("Some believe only business people can do this-- that hackers can implement software, but not design it. That's nonsense.")。自分で仕様を策定して自分で実装していけるはずの能力を持った人々や、他の場所で才能や知識経験をより求められる需要のあるはずの人々が、情報格差や人為的/恣意的なしがらみによって狭い分野での配管工に留まっているとすれば、悲劇的なことである。

物言わぬ職人風に、持ち場に留まる諦念を美徳化するようなマゾヒスティックな傾向が、日本のITエンジニアのサイレントマジョリティには存在するように思う。しかも、単に自虐的傾向ならその人だけで済むが、出る杭は打たれる的に集団心理化することがあるとすれば始末が悪い。しかし、その同調圧力的な空気も徐々に変わりつつあるようだ。

宝の持ち腐れともいうべき、人の配置が最適化されていない状況は、スタートアップだろうが大企業だろうが関係なく発生している。しかも、日本で働く日本語しか使えない配管工は、米国で働く配管工に比べて待遇が低いとくれば尚更だ。米国のエンジニアが優れているか、日本のエンジニアが優れているか、といった議論は無意味で、優れている人は優れているし、そうでない人はそうでない。それだけのことだ。問題にしたいのは、ある人が別のところで仕事をすればより高い報酬を得られるのに、機会損失しているそのことだけだ。

日本とアメリカの給与の違いもまた、単なる需給の問題である。IT技術者に対して日本の企業はアメリカの企業に比べてカネを払わないのは、日本の企業が不実なのではないかとか経営者が強欲なのではないかとか「悪貨は良貨を駆逐する」といわれるようにどこかに良い企業があるが隠されていて一般には悪い企業ばかりが跋扈しているのかもしれないとかいろいろ考えたが、どのように考えたとしても、そこに金をつぎ込んでも効果が得られないと思われている需給の問題でしかないとの結論に帰着せざるをえない。雇用流動性の低さがこの傾向を後押ししている。そしてそのような市場のセンチメントを変えることは極めて困難だ。それでも、前に進むためには、個人が行動を起こさなければならない。

労働者個人としての主体的には、日本的美徳としての清貧や「武士は食わねど高楊枝」のような精神論も結構だが、グローバライゼーションの潮流は否応なしに武士を去勢してしまい、勝負を放棄していては武士として生きることすらかなわないのだった。この潮流に逆らうことは天から降り注ぐ雨を振り払うようなもので、意味をなさない。

21世紀初頭、Slashdotを読んでいて、アメリカのソフトウェアエンジニアの間ではインド脅威論がしばしば取り上げられていた。オフショア開発に関する議論がよく行われ、続いてクラウドが来た。AWSは2006年からだ。しかし、実際には、アメリカの内部に世界各国から優れたソフトウェアエンジニアが集まり、今日トランプ大統領が指摘するように、アメリカ土着民の機会と既得権益が結果として奪われているのは事実であるように見える。翻って日本はどうか。日本は、移民を受け入れる体制が相対的に整っていないので、仕事は出てゆくばかりである。

先端技術開発でもない限り、日本でIT開発業務を行う理由はなく、アウトソーシングのプロトコルも洗練されてきていることにまともな企業は気付いているので、日本の配管工の待遇は苦しくなっていく一方である。機械に仕事を奪われるどころか、その前に給与の原資が国外に流れていくというわけだ。「カルネアデスの板」のように、すがりつく板に1人の者しか支える余裕がない、稀少な資源を奪い合う状況が日本のITならびにWebならびにゲーム業界に訪れようとしている。

また、日本の若者が多くの時間を費やす国境なきインターネット上で、アメリカの企業が日本のメディアを支配していたり、韓国の企業が日本の通信を支配していたりする現状を、20年前に誰が予想しえただろうか。日本の企業が守っているのはゲーム分野だけだが、そこも中国や韓国の企業が侵食しつつある。我々が海外のサービスばかりを使っている事実そのものが、ローカルなエンジニアの存在価値を否定しているのだ。センセーショナルな言い回しを敢えて用いるならば、ここ10年の間に、日本という国は2度目の敗戦を喫していた。

インターネットの時代、物ではなく文化が伝播する。そこではアメリカのプラットフォームが勝利している。グローバライゼーションと、それに続く開国。かつては、喋らないハードウェアや寡黙なマリオを輸出できる時代があった。しかし、インターネットの時代になり、ハリウッド映画コンテンツが世界を席巻したのと似るが実態は異なる現象が起こっている。

歴史は繰り返す。1回目は、まだVTRやCDやDVDとして日本の会社がプラットフォームに関与していたが、2回目の今回は部品レベルでしか絡んでいない。そして、OSであったり、SNSであったり、それらのシステム自体が今回のコンテンツだ。それは、プラットフォームそのものであり、サブジャンルを生み出すメタコンテンツなのだ。同時に、ある文化、ライフスタイルを表現するソフトウェアでもある。

文化、文脈を表現しない、ただ便利なだけで特色がなく馴染みもないハードウェアやサービスは、今日の消費者の求めるところではない。言い換えると、ハリウッド映画俳優は全世界で人気があるが日本の芸能人は日本でしか受けない、その非対称性が、そのままプラットフォームにも持ち込まれるようになった。

WebエンジニアはSIerを未来の姿として見るべきだと私は書いたが、さらに先には、現代日本のアニメーターのような労働環境が待っているかもしれない。キラキラしている若者たちのスタートアップで今現在働いている者も、10年20年先も同じようなことを自分がやっていられるのかどうか、やるべきかどうかをじっくり考えておくべきだろう。

あなたから若さを奪い取ったら何が残るだろうか? この先生きのこるには何をするべきか。未来から逆算して現在の行動を考えることも時にはやっておいた方がよい。明るくない未来に真摯に向き合うことは、苦痛であるかもしれない。しかし、やっておく価値はある。私は全員を敵に回してでも、空気を読まずに、何が現実なのかについて言及せざるを得ない性分だ。そして、ここに書いてきたことは、私自身が向き合ってこざるを得なかった現実である。

人間には、自分に都合の良い部分を選択的に取り上げ、都合の悪い部分から目を背けたがる、認知バイアスが存在する。そんなバイアスが欠落している、ある意味非人間的な、機械のような人間が結局は勝ち、最後に人間的に笑う権利を獲得する。そのために手軽にできることは、徹底的に批判的思考を重ねることだ。配管工の立場で踠く自分を、客観的に捉えて批判してみることだ。私が自分で自分にそうしたように。

GREEでの体験にしても、単に私は自分の身に起こった事実を書き記した上で、自分自身をサンプルとして分析を加えているだけであり、そこではGREEという企業は単なる背景なので批判する意図も称揚する意図もない。

その企業は自分が胸湧き踊る体験ができる場所だったか? その意味では、遊園地のライド並に高低差のあるスリリングな道のりで、十分に期待に応えてくれた。私にとって必ずしも喜ばしくはないこともあったが、そういう事柄については、自分が愚かだったせいでしてやられた、次は用心しよう、とゲームでミスって失点した程度の思いしかない。そう来ないとつまらない。

私が座っていたのは、給料をもらいながら、時代の風を肌で感じ面白いものをたくさん見られる特等席だった。そして終わったことは終わったことであり、ここで語り尽くした上でアーカイブし、postmortemの解剖を行い、ケーススタディとして分析し後世に生かすべきと考えている。

1つだけ確かなのは、世界を変えられるかどうかは別として、私が働いていたのは、人の人生を変える力を持った企業であったということだ。

Life is just a game, we're all just the same - do you wanna play?

ただの配管工を脱する、あるいは配管工でありながらうまく立ち回る方法は、複数あると思っている。ここからは、自分のことは棚に上げて、現状を打破したいと思っているエンジニアの皆さんに私が推奨したいこと、私が知り得たことを、本音かつ無責任に書く。

私と同年代の人にも関心を持って頂けるトピックではあると思うが、より多くの可処分時間を持っていて決断をしやすい若い人にこそ読んでほしい中身だ。エンジニアのキャリアについて何年も考え様々な転職エージェントと散々話をしてきた経験を活かし、コンサルティング料金を出してくれる方がいれば転職相談業をやりたいくらいである。

まず、実現性は別として、やや過激なことを書くとすれば、現状に不満を覚えた会社勤めのエンジニアは、立ち上がって反乱を起こすべきだ。1人だけでできないなら、不法行為とならない範囲で連帯し、部署の仲間を誘って部署ごと別の会社に移籍するのもよいだろう。起業するのもよい。外国に行くのもよい。

とはいえ、いきなり思い切った決断はできない人が大多数なのではないか。それでも、自分を犠牲にして他人の夢を護るのではなく、自分自身の夢を掴めるように、毎日少しでも歩を進めるしかない。先を見通すヴィジョナリーとしてのエンジニアには、その資格がある。

ここまで、エンジニアの世界の様々な局面に存在する2層構造について考えてきた。その中で、IT系技術職のどんなことをやるにせよ、常に問題になってくるのが、英語というスキルである。アメリカの企業とそれ以外で、待遇のレベルが全く異なってくる、名前は似ていてもほとんど別の職種に近いことは、繰り返し述べてきた。アメリカのソフトウェアエンジニアと日本のソフトウェアエンジニアとを分けるものとは、英語でしかない。

プログラミングのやり方を知っているということは、20世紀末、21世紀初頭のIT運動の成果を内部から味わう資格を有していることを意味する。母語の日本語に加え、英語を知っていることによって英語のコンテンツにアクセスできることも、プログラミングを学ぶのと似たような話として考えれば、情熱を持って英語を学べるのではないか。ソフトウェアエンジニアなら誰しも、後天的にプログラミング言語を習得してきたはずで、自然言語はまた違うとか細かい理屈にこだわらずに、ハッカーとして同じ姿勢で学習に取り組めばよいだけだ。

まず、英語が読めること。今日日まともなソフトウェアエンジニアなら、英語の文章をろくに解さない者はほぼ居ないだろう。SDKに付属するドキュメントも読めないようでは危なっかしくて話にならないし、github上のオープンソースプロジェクトやUnityのようなコミュニティが発達した環境では英語の情報をとにかく追うことが必須になってくるからだ。

次に英語を書くことだが、まずは沢山文章を読んだ上で、Stack Overflowの海外版やらgithubのissuesやら適当な海外のフォーラムやらで英作文を重ねて慣れるしかない。あまりおすすめしないがヒートアップする論争や喧嘩の類でもやってみれば意地で衝動的に書き込みの応酬をやりたくなるので手っ取り早いだろう。自分の書いているものが正しいかの検証と軌道修正は、Googleでフレーズを検索してヒット件数を見たり、英語学習者のSNSで添削してもらったりなど、いくらでもやりようがある。それに、英語の文章が少しくらい下手くそでもいいのだ。ソフトウェアエンジニアなら、最終的にはコードで筆談できるのだから。

そして、実際に就職に関係してくるところでは、英語を聞いたり話したりできなければならない。海外で就職したり、外資系企業へ転職するには、英語の面接を経ることになる。外資系企業でも、地域密着でローカライズが進んでいる部門や、職位が低い場合は英語不要のこともあるようだが、私の場合Amazon Japanのポジションを受けていた時はビデオ会議を含む英語での面接が複数回あった。

別に発音の上で流暢な英語は話せなくてもよいが、語彙はあって困ることはない。また、文法があやふやであったとしても、語彙より大きなまとまりとしてのフレーズをそのまんま覚えていればそれらしくなるものである。さらに、日常的に働く場では、口語表現にも慣れなければならないし、敬語に近い丁寧表現だってある。肯定的な言葉や相槌にしても、"Yeah" "Sure" "OK" "No problem" "Right" "Got it" "Sounds good" "Exactly" "Definitely"  "Awesome" "Perfect"などなど大体言うことは決まっているが種類はそれなりにある。Filler wordsと呼ばれる、使いすぎると頭が悪そうに聞こえてしまう弊害はあるが、会話時に口調を和らげ間を埋めて沈黙を減らすために枕詞的に挟まれる言葉群もある。今時は知らないが、そういうものは私が学校に通っていた頃には教科書では教えてくれなかった。

今ではいくらでもネット上で動画に英語の字幕を付けたものが無料で転がっているし、外国人と話す機会を作ることも、リアルでもネットでも昔に比べたら圧倒的に容易なのだから、誰しもが非常に恵まれた環境にあるわけで、それを活かさない手はないだろう。最早やらないことが馬鹿げていると言ってしまってもよいくらいで、投資に対して得られるリターンの効率が極めて高い。英語を少し使えるだけで、圧倒的に大きなチャンスが広がってくる。また、別に投資効果を考えなくても、単純に海外の事物に明るくなれることは楽しい。

その上で、英語がそれなりにツールとして使えるようになってきたら、あとはいかに図々しく振る舞えるかだけだ。恥ずかしがったりキョドってしまったりという奥ゆかしい日本人的習性を崩すには一杯酒を飲んでしまえば早いが、常にアルコール漬けになっているわけにもいかないので、そこは場数を踏むしかないのだろう。私もいまだにそうだが、グループで話す場だとナーバスになり発言しづらかったりするので、話しやすく、かつ相手が100%自分相手に耳を傾けてくれる1対1での会話で慣れていくのがよい。1対1なんて怖いとの感覚があるかもしれないが、実際は逆で、1対1の方が遥かに簡単である。

英語はまず前提のようなもので、世界には英語を話せる人間など腐るほどいるのだから、英語を学ぶのは労働市場において自分の弱みを補完する作業でしかない。対して、どんなことをやりたいか、仕事で扱う分野を選り好みしたいのであれば、そのための修練を積むことになる。

まずゲーム開発の分野でのエンジニアとして、会社勤めで活躍してみたい人には、私から単刀直入にアドバイスを贈りたい。それは、コンソールゲーム開発会社で、何年かコンソールゲーム開発のプロジェクトで働け、というものだ。モバイルゲームの開発にしか興味がない場合でもだ。

これは、私の経験を踏まえて書くことだが、若い人で何年か禁欲的な日々を過ごしても良いからとにかく修行して、大手スタジオがひしめく業界内でいっぱしのゲーム開発者として認められるようになりたい、と思い切れるのであれば、私のアドバイスに従うべきである。モバイルゲーム開発しかやった経験がないという経歴上のスティグマは、モバイルゲーム開発の世界においてすら圧倒的に不利で、まず覆せるものではない。

だから、ゲーム開発に骨を埋める覚悟だがモバイルゲーム開発しかやったことがない若人は、給与などの条件には目を瞑って直ちにコンソールゲーム開発に携わらせてもらえるスタジオに転職すべきである。良いプロジェクトに参加することが死活問題であるゲーム業界では、それくらいのことはやってしかるべきだ。

コンソールゲーム開発会社に入ったとして、モバイルゲーム開発プロジェクトではなくコンソールゲーム開発プロジェクトに携わり、さらにその中心で活躍できる確率を上げるには、大学へ行って関連する研究をし、学位を取っておかなければならない。そうして経歴を育てていくのが理想的である。

先に、労働市場における自分の稀少性を高めることの重要性に触れたが、モバイルゲームの勃興期によくあった、コンソールゲーム開発会社からモバイルゲームの会社に天下り的に移ってくるパターンの転職も、稀少性を意識した活動だったと見ることができる。

現代のコンソールゲーム開発プロジェクトでは、パイプラインの末端の作業者と設計者とでは全くやっている仕事が違う。コンソールゲーム開発者の世界こそ、一枚岩ではない、絶対的な階級社会なのだ。そして、元の会社ではラインの末端の作業員であったとしても、モバイルゲームの会社に入った途端に、稀少人材として扱われる時代があった。その前後でその人の絶対的な価値に変化があったわけではなく、あくまでも相対的な価値の変動があっただけだ。そのような越境の機会を見逃してはならない。例えば、日本進出を伺っている海外の企業に英語が少し話せて日本語がネイティブな人間が行けば、直ちに日本市場に関するエキスパートの水先案内人になれるかもしれない。

誤解のないよう書いておくと、私自身はモバイルゲームにはモバイルゲームの勘所があるし、独学で学べることも非常に多いと思っている。しかし、コンソールゲームでは一般的な大規模プロジェクトには大規模プロジェクト固有の問題も多く、また座学よりは経験が物を言う局面も無いとは言い切れず、スマートフォンゲーム開発プロジェクトの規模拡大に伴い、餅は餅屋とばかりにコンソール業界のベテランの需要が高まる。

もちろん勘違いも多いだろうとは思う。そもそもコンソールゲームの作り方をそのままコピーしただけでスマートフォンゲーム開発が成功するならば、コンソールゲーム業界発祥の企業が制作したオリジナルIPゲームアプリがもっと当たってもよいはずだ。

ゲームの分野でない一般のITの分野でも、スタートアップで働いた経験もないのにスタートアップにアドバイスをする大企業出身者もいるほどで私からすると失笑ものだが、世間に蔓延する、大は小を兼ねる的な幸福な幻想は、利用しておくのが頭の良い人間なのかもしれない。

もちろん私も、Amazonの私が勤めている部門の内部環境を知ってみると、これまで働いてきたどの環境より快適に仕事できるとは感じるので、同様の風通しの良さが日本の会社でももっと一般的になってほしいとは思う。しかし、企業それ自体の力量や、所属している素晴らしい人々といった前提条件抜きに、同じようなシステムを他の会社で運用したからといって、それがうまくいく保証は全く無い。

一般のIT分野のオーソドックスなソフトウェアエンジニアについていうと、日本が海外に勝っている部分は日本の消費者のニーズをそこそこ理解していること以外は今のところ1つもないので、私としてはやはりアメリカを目指せと言う他無い。若く健康なソフトウェアエンジニアに対しては、日本人や日本の事物に愛着がなく、家族の事情も許すならば、アメリカで働くことを目指してほしい。決してアメリカはユートピアではないが、経験の少ないうちの方が日本との給与ギャップもより大きいはずなので、若いうちに出稼ぎ感覚で行けばよい。何かあれば日本に戻ってくればよいのであって、アメリカで仕事をしていたというだけで箔が付くこと間違いない。

そのために、まずはコンピューターサイエンスをきちんと系統的に学び、情報処理技術者試験をクリアし、Topcoderにエントリーして研鑽を積むという、正統的な道を勧めたい。それが、アメリカの企業が実施するコーディングインタビューへの対策になる。オンサイトでのインタビューではホワイトボードに板書することになるだろうし、それ以前のビデオや電話でのインタビューではオンラインでコードを書かされ、その対策サイトも有る。

私は何も関連学位を持っていないので自分も学位があったらと考えることはあるが、コンピューターサイエンスの学位はあるに越したことはないにせよ、あった方が良いと私が考えるのは学位それ自体より、大学で学ぶ時間の方だ。大学で学んでいれば、普通にコーディングインタビューに役立つ知識の訓練に時間を費やし、自然な流れで就職できることになるからだ。特別な才能を持っていない限り、アスリートが練習を怠らないように、インタビュー対策には継続的に取り組まなければならず、そこに秀でることは必ずしも実務とオーバーラップしない。

とはいえ、いずれアメリカに居住してソフトウェアエンジニアとして働きたいのであれば、GREEでの元同僚で現Facebookの坂本一樹氏が詳述するように、大学の学位が就労ビザ取得に重要であることはよく知られている。その点が心許ない場合、いきなりアメリカで働くことを目指すのではなく、日本に支社のあるアメリカ企業に勤めてチャンスを伺うというのもよく取られる戦略だ。AmazonやGoogleの本社での採用を勝ち取ったがビザの問題でしばらく日本や他の支社で仕事をする羽目になった、なんて事例は私の周囲でも時々聞く話ではある。

あるいは、今後機械学習の発展によって地位を脅かされ10年後は滅んでいるかもしれないオーソドックスなソフトウェアエンジニアではなく、機械学習の専門家になりたいとかいったことであれば、近道はない。とにかく大学、大学院で学位を取り実績を積むしかないだろう。米国だけでなく、中国でもAIエンジニアに年収1億円以上を与える企業は存在し、機械学習の専門家にとっては日本の企業にサラリーマンとして勤めることによる機会損失を無視するのが極めて困難なところまで日本と海外との格差がついている。

学位のほかに、LinkedInでリクルーターの目に留まったり1次書類選考をクリアするには、名の通った企業に在籍した経歴があることがスクリーニング上圧倒的に有利であることは間違いない。私がLinkedInのプロファイルを整理して維持しているのは先述の通りだが、Amazonに入ってから忙しかったので更新せず前職のまま放置していたところ、Amazonのリクルーターからも複数回、ソフトウェアエンジニアを含む異なるポジションの打診があった。

そして、コーディングインタビュー以外のインタビュー対策については、Glassdoorで対象の会社とポジションを調べれば、詳細な口コミ情報が入手できる。グローバル企業であれば、特定ポジションの口コミだけでも大量に投稿されているので、面接対策に役に立つ。私の場合、ソリューションアーキテクトのようなポジションで求められる、ソフトウェアエンジニアに要求されること以外のソフトスキルについての職務要件に関する知識が乏しかったから、Amazonでの話が来る遥か前から、そういうサイトでひたすら情報を仕入れて来るべき試験に備えていた。

以上のようなことはテクニカルな試験対策であって、転職のときにだけしかあまり価値を発揮しない事項もある。英語は転職活動に限らず非常に応用範囲の広いツールだが、他は、大学入試の勉強をするようなもので、試験をパスする目的以外の何かの役に立つことがたまにあるかもしれないが、人生にとっては副次的なものでしかない。本当に大事なのは、仕事の中身だ。そして仕事の中身とは、業務で何をするかだけではない。私の考えでは、通勤時間や休憩時間も含め、過ごした時間の価値の全体を見なければならない。

例えば、私がGREEに勤めていた頃に、GREEで働くことの最も大きな価値と考えていたのは、六本木ヒルズに毎日自転車で通うことだ。オフィスの場所が六本木ではなく、かつ私が近くに住んでもいなかったら、確実にもっと早くに辞めていただろうと思う。

そして、六本木で働くことで得られる価値、特権はなんだろうと考えた時に、私が考えついたのは、毎日昼間に、昼飯を食べにいろんな店に行けることだった。そこで、六本木、麻布十番、西麻布、時には東麻布、広尾、表参道にまで歩いて店を巡り、料理と店の写真を撮った。5年前から、いつか職を辞して六本木を去るときのために記録をしておこうと思って続けてきた。

もう10数年以上昔に見たblogで昼飯の料理の写真を載せている人が居て当時はバカじゃねーのと思っていたものだが、今では自分がFacebookにそういうものを載せていたりする。私はいろいろな場所の写真を撮るのも好きだ。明日テロリズムや自然災害が起こって全てが吹き飛んでいるかもしれないと思うと、崩壊していく風景を保全せずにはいられない。

風景やら食べ物は、私が主観視点で見ているものだ。そんな写真をFacebookにアップロードする。その行為は、主観視点の共有だ。他者からしてみるとウザいノイズでしかないだろう。ともあれ私としては、自分という存在は自分の内部で完結していないようにクラウドへバックアップしていきたいとの意欲がある。私の記憶がいつか損なわれた時に、他者が、私の視点を覚えていてくれるように、また私という存在が綻んでいったときに、他者がかつての私がどうだったかを補足してくれるように。

歳を取ると頭が固くなると言うが、自分に関しては、固くなるより、こだわりが溶解していっているような気がする。年齢を重ねるにつれ図太くなり感受性が鈍くなって、我を忘れ感動するような機会が少なくなるが、反面、こだわりが弱くなり、他の人と交流するのが楽しくなり、自己がほぐれ、ほつれていっている。死へ向かう滅びの過程なのだろう。私から見たかっこいい老人というのは細かいことにこだわらない、飄々としたところがある。

六本木で働いていた頃は、よく晴れた、風の心地良い日に坂道を歩いていると、俗世間のくだらないことを忘れることができた。写真を撮ってある、無くなってしまった店のことのほうが、もう2度と行けないだけに印象に残っているかもしれない。東麻布の住宅街の中にあった、看板が無い薮原十区の独特な空間で店主の解説付きで焼き魚を食べたり、Lunascape時代から通ったじゅうばん弁当の店内で麻布十番最安のランチを食べたり、TSUTAYA TOKYO ROPPONGIの上にあったL'ESTASIのテラスで夏の風に吹かれながら明るい日差しの下で同僚たちと談笑したり。

私はあまり酒飲みではないから、六本木の夜に飲み歩くよりは、白昼に仕事の合間に寛ぐことのほうが好きだったのだろう。時間の使い方に融通が利く職業を目指すという考え方もあってよい。あとは身なりで、奴僕の制服の首輪たるネクタイを締めなきゃいけないとかサンダルで来てはいけないとかいったところでは働けない。

身なりのような、カルチャーや精神的な面でその組織が自分にフィットするものかどうか、それは非常に重要な点であるにも関わらず、その組織に実際に入る前に知ることはなかなか困難である。そのようなときには、その企業が社会で表立って果たしている役割やその企業を動かしている人々への共感を持てるかどうかが自分を納得させるための1つの手がかりになるだろう。その組織を回している人間は馬鹿ではないか、自分の上司や同僚になる人は仕事を楽しんでいるように見えるか。

私がAmazonに入るずっと前から気に入っていたJeff Bezosのエピソードが2つある。

1つは、コミュニケーションに関するものだ。Bezosは、2枚のピザで足りない人数のチームは大きすぎて非効率である、との今では有名になったルールを提案する。同時に、部門間でより密にコミュニケーションを取るべきだとの一見当然のように見える意見を、コミュニケーションは非常に悪いものだとして却下している。ここでは、並列処理のパフォーマンスを最大化するためにはスレッド同士の同期ポイントは最小に抑えるべきとか、オブジェクトの相互依存性を小さくして疎結合とし別個に開発できるようにするためにオブジェクトの内容を公開せずカプセル化するべきとか、ソフトウェアエンジニアにとってはおなじみの概念をそのまま人の組織にも適用しているように思える。大企業であっても、小さなチームや個人が独立性を保って効率を最大化して働けるようにする、分散システムの論理である。

もう1つのエピソードは、リモートワークの強みを説く『強いチームはオフィスを捨てる: 37シグナルズが考える「働き方革命」』の著者の会社Basecamp(Ruby on Railsはここから生まれた)に投資しているBezosがBasecampを訪れた際に、AmazonのOLPにも登場する"Are Right, A Lot"(正しい判断を行う者)とはどのような者か、との質問を受けたときのことだ。Bezosは、正しい判断を多く行ってきた者は、よく考えを変える人であることが多かった、と言った。賢い人々は、一旦解いたはずの問題を考え直し、常に理解を改め続ける。彼らは、新しい視点、新しい情報、矛盾、自分の考え方への異議、全てに対し寛容である。現在の私の職務は、勝つためなら手段を選ばず何でもやるとでもいうべき非定型性が求められるものであるので、変化を自分の強みに変換し、形勢をコントロールしていかなければならない。生き残りのためには、自分自身を炎で焼いて窯変させることも厭わない。

Amazonでは旺盛に新しい社員の採用が行われており、オープンなポジションがたくさんあって、分野も多岐にわたっている。今のところは私の居る部署にもオープンポジションがある。職種でいうとエンジニア系/非エンジニア系、勤務地でいうと東京/海外、どんなパターンでも私にお声掛け頂ければ社員紹介制度を経由して推薦可能なので、我こそはと思う方は私に連絡して頂きたい。英語で基本的な意思疎通ができて、ご自分の専門分野における経験やエピソードを説明しつつ応用もでき、適合するポジションがありそうな方なら、推薦差し上げられるはずだ。英語といっても、留学経験などが何もない私にもどうにか務まっているので、練習次第、努力次第、どれだけ強く望むか次第である。

もちろん、業務遂行の作法だけでなく、業務で何をするかといった仕事の中身は、依然として重要だ。そんなときは、一貫性のあるストーリーができているか、ストーリーとして構想するときに筋が通るか、考えてみるとよい。LinkedInに自分が経てきた職業やプロジェクトを書き下して並べてゆく時、それは客観的に見て、1つの物語として成立するものかどうか。自分がこれまでやってきたこと相互の関係でも、あるいは現在の仕事と次の仕事との関係でも。

もし、物語としてつまらないものだったときはどうにか現状を変えることを意識したほうがよいし、あるいはそれが難しければ、ストーリー自体ではなく、語り方としてのナラティヴを工夫することになる。つまり、転職活動をするときくらいは、人に自分の価値を伝えなければならないので、自分のやってきたことを並べた時に何らかの意味があるかのように再解釈し再構成しなければならない。1つの、できるだけ簡潔で理解しやすいメッセージの形式に落とし込まれているのが理想的である。

私が自分について語っているこの文章も、実装方法はともかくとして、メッセージを表現することを目指している。先に述べた、自分自身を代表するセールスパーソンになるとはつまりはそういうことだ。営業努力無くして、誰もあなたのことなど見てくれないものだ。

現実とは複雑で豊かなものなのに、それを無理に矮小化しようとする人間の習性がある。そちらのほうが、1人の人間の頭の中に物事が収まりやすいからだろう。人間の人生など何の意味もないのに、何か物語のように意味があると思い込もうとする傾向が人間にはある。神の意志を前提とした宗教とは、そういうものだ。人はメッセージやサインに惹かれる動物だ。

物語は世の中に溢れているが、それを親近感を持って読むか、遠い世界の話として読むか。自分という駒を動かせるだけ動かして、物語を作ってみるゲームも面白いかもしれない。ゲームは、コンピューターゲームだけではないのだ。逆に、コンピューターゲームのシミュレーションがリアリティに十分に近づけば、現実の中でローカルなルールを定義して鬼ごっこやかくれんぼをやるように、メタゲーム/メタバースの内部に沢山のゲームが存在する状況が普通になるかもしれない。

この文章の題名は、『ガリア戦記』をもじって『GREE戦記』にしようと始めは思っていたが差し障りがありそうなのでやめた。戦記というフォーマットは戦争の記録であり、『ガリア戦記』の場合は、著者のカエサルによる、当時の辺境の地方であるフランス(ガリア)、ドイツ(ゲルマニア)、イギリス(ブリタンニア)への遠征の記録である。カエサルは、『ガリア戦記』に記録されたガリア平定後、後戻りのできない決断を表明する「賽は投げられた」の言葉とともに、軍を率いてローマに帰還し内戦へ突入する。

私にとっての後戻りのできない決断とは、プロのゲーム開発者や、ソフトウェアエンジニアの道からのドロップアウトだ。将来、ゲーム開発ツールが飛躍的に発展したらゲーム開発にまた意欲が出てくるかもしれないが、今のところその予定はない。1エンジニアとして誰かのために働くことにも興味はない。

しかし、私は1ゲームファンとしてはよくやった方だと思っているし、よいタイミングで潔く自決できてよかった。今も、クライアントであるゲーム開発者の皆様にお付き合い頂き、収益化のお手伝いをさせて頂いている立場にあり、引き続きゲーム業界の1ファンとして見守らせて頂く。そして一旦は、慣れ親しんだコンピューターの空間から半身を乗り出して、私自身は外に広がる世界を見に行こうと思う。

エンターテインメントは、その華やかに見える仮初めの姿の裏に、蕩尽の儚い炎に照らされた人間的苦悩が有るものだと学んだ。その分野の中にあって、ゲームは、自分の操作で、局所的ながら世界を変えられる可能性を知らしめてくれる、人の心の薬である。『エンダーのゲーム』が描写したように、ゲームは単なる逃避ではなく、架空の構造を心でなぞっていく、いわば練習のようなものだ。そして、可能性を単なる可能性のままに留めておくかそうでないかは、あなた自身にかかっている。

真に世界を変えることができるのは、科学者だけ。そんなことはわかっていつつも、世界を変える夢を見ることはできる。『ゲームアプリの数学』の終わりに書いたとおり、ゲーム開発者は魔術師だ。私はといえば、いつか、私の文章を読んで何かを得た若者が、私に声をかけて、成し遂げたことを教えてくれるのを楽しみに待っている。



May the Android be with you



コメント