見出し画像

六本木戦記

(2022年1月記)
本稿の大部分は、2017年12月28日に他ウェブサイトで公開された。当時、全部読むには長大すぎる(14万文字)という率直な反応も頂いた。そこで、『Googleのソフトウェアエンジニアリング』の作業が終わってから行ったnoteでの今回の再掲にあたり、Amazon入社に至るまでを語る前半のみ公開とし、後半にあたる、Amazonに入って間もない頃の感想や、IT/ゲーム業界のキャリア論と当時の業界展望は、本当に読みたいと思う方のみに届くよう有料コンテンツとした。それに伴い、有料コンテンツの最後に、本稿初出時から丸4年経過後の2022年初頭から本稿の内容を振り返る、答え合わせとも言うべき節を新たに追加している(本稿を久々に見返し、後半で、SF好きなら元々知っている単語ではあるものの、「メタバース」に2017年時点で自分が言及していて驚いた)。

公開部分である前半は、それだけでも十分な量があるとはいえ、あくまで考える材料としての一事例でしかない。筆者が読者に本当に読んで頂きたいと考える、自己の経験から導き出した教訓や、これからキャリアを進めようという若者に認識しておいてほしい知識は、全て後半部分に含まれている。筆者に一杯おごってでもそのような話を聞いてみたい方に、後半部分をお勧めする。

私がGREEことグリー株式会社を退職したのは2017年5月末日だった。ここ(2022年1月注: 本稿初出のblog)に最後に投稿したのはGREE入社の直前で、2017年末の今日から7年前のことになる。今回書くのは、私についての以下の事項だ。

  • 直近10年の仕事

  • 直近半年の仕事

  • 仕事を通じてわかったこと

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

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

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

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

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

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

画像1
GREE最終出社の日に、六本木ヒルズ森タワー12Fにて

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

そういうわけで個人blogにおける7年分の空白をこの文章で一気に埋めることになり、相当に長くなる。小説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人頭につき月に*億円の利益を叩き出しているのだ、とほろ酔いで思い巡らす。この戦列に、自分が加わることになるのか。一体これから何が起こるんだろう? 何も知らないなりに、興奮と戦慄とが同時にあった。

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

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

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

画像2
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を使う時間が以後長くなりMacにも慣れてしまい、渋々ながら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の次の一手を最先端で目撃するべくモバイルゲーム開発者達が世界中からLAに集ってきていた。

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

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

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

画像3
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ネイティブゲームアプリで、日本から全世界向けにリリースした初のネイティブゲームアプリでもあった。

画像4
羽田空港国際線出発ロビーを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日に複数回行われる。

画像5
Gamescom 2012 GREEステージリハーサル風景
画像6
Gamescom 2012 GREEブース
画像7
MONPLA SMASH展示

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

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

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

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

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

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

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

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

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

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

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

画像8
ステージイベントでグッズを観衆に投げる習慣

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

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

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

画像9
2012年のe-sportsとの邂逅

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

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

"Ryu, smile :)"

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

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

画像10
幅広い年齢層のプレイヤー

途中、午後がまるごと自由な日が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が車でアウトバーンをぶっ飛ばしてケルンのホテルまで私達を送ってくれた。

画像11
オランダはマーストリヒトのOnze-Lieve-Vrouwepleinにて。兎料理を撮る

Gamescomの全ての日程を終え、体調はこの頃にはかなり回復しており、最後に出発前の朝に時間があったのでケルン大聖堂まで歩いていって聖堂の内部を見てから尖塔の頂上まで登り、すぐに降りた。ケルンで観光らしい観光ができたのは、その数時間だけだった。

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

画像12
東京ゲームショウ2012 GREEブース オープニング
画像13
東京ゲームショウ2012 GREEブース オープニング

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

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

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

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

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

画像14
東京ゲームショウ2012 MONPLA SMASHステージ
画像15
東京ゲームショウ2012 MONPLA SMASH展示
画像16
こんなこともやってました

その後、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ネイティブゲームアプリ開発専門スタジオであるWFSこと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プラットフォーマーを作ることにした。プラットフォーマー(platformer)とは、『スーパーマリオブラザーズ』のような、キャラクターが飛んだり跳ねたりすることによってステージを進んでいくタイプのゲームだ。当時の私は、スマートフォンでまだ流行っていないタイプのゲームを作ってみたいと思っていて、『スーパーマリオメーカー』がまだ発表される前に、『リトルビッグプラネット』の簡易版的なステージ作成機能とソーシャルシェア機能が付いたプラットフォーマーがあれば、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つのパースペクティブ内に同時に目にするかのような、奇妙な錯視的感覚を覚えた。そんな、私の手触りの印象とは別に、日本のモバイルゲーム業界では両方が同じくらい使われていた。Cocos2d-xが完全無料であることを考慮したとしても、一体、何故なのだろう? 理想のゲーム開発環境はどこにあるのか。

以前にも増して、私はあるべきゲーム開発環境の姿はどんなものか、これからのモバイルゲーム開発環境がどこに向かうのか、会社業務で担当する作業とは全く別個に、考え込むようになっていた。自分が夢想していることが、実際のゲーム開発プロジェクトに生きるチャンスは、もう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のメッカであるカリフォルニアのサンフランシスコ・ベイエリアで仕事をする、その字面だけを見ればわくわくするような響きがあるかもしれない。しかし、私にとっては、気分が暗くなる展開だった。

画像17
China BasinにあったGIIオフィス

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

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

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

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

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

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

IT大企業は、インドや東南アジアなど、人件費の安いところへ作業をアウトソースするのが今日では一般的であり、日本のモバイルゲーム業界でも活用されて久しい。しかし、日本国内にある企業の社員にとって、そのシステムをアウトソース先としての向こう側の役割で経験することは、受託開発専門のシステムインテグレーター(SI)からの孫請けや派遣社員の立場でもなければ、あまりないだろう。

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

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

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

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

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

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

画像18
GIIオフィスのカフェテリア
画像19
GIIオフィスのカフェテリアからAT&Tスタジアムを望む
画像20
GIIオフィスに溢れるフリーフード

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

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

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

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

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

画像21
サンフランシスコにて、ヒッピースタイル

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

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

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

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グラフィックスの課題に真摯に取り組んでいたり、コンソールゲームを含む先を見据えた技術開発を行っていたりと、商業的成果を伴いながらまさに王道を突き進んでいる印象を受けた。私が書いた本の中の理想を地で行くような会社も日本に存在していたのかもしれないと、その時思わせられた。

画像22
「第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のオフィスフロアの一角には、だだっ広い休憩室があった。私が入社した2010年頃は、休憩室は森タワー12階のちょっと広いスペースに過ぎず、毎週金曜日夜のフライデーパーティと呼ばれる無料立食パーティもそこで開かれていた。最も会社が拡大した時期に、その部屋は巨大な空間に拡張され、希望退職者募集と時を同じくしてフライデーパーティが廃止された後も維持されていた。

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

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

画像23
24時回って休憩室の広い空間を1人で使う

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

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

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

幸い私の講演は採択され、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の開発者調査の結果を見たり、転職者向け企業比較サイトであるGlassdoorlevels.fyiで調べれば、アメリカでソフトウェアエンジニアやその他の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アプリストア事業のソリューションアーキテクトとして私は在籍している。

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

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

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

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

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

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

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

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

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

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

私は怠惰な人間なので、これを達成するにはこれを学んでこうすればいいはず、というロードマップが見えた瞬間に飽きてしまっていることもあるが、外部の開発者たちが多数参加する開かれたサービスにおける仕事の1つは、新しいスターを盛り上げるマーケティングで、新星は予想だにしないところから現れてくることがあるのが楽しい。

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

国際的環境での仕事も、GREEでさわりを体験させてもらっていたので全く未知なわけでもなかったが、知らないこともビジネス英語含め実際には非常に多くあった。私自身は、日本のアプリストアに属すると同時に、国際的なソリューションアーキテクトのチームにも属している。Amazonは言わずと知れたグローバル企業だが、Amazon Japanの中でもアプリストアは最も国際色豊かな部署らしく、日本国内で活動しつつも日本企業色は全く感じない。Amazonにやってきて、これが本物の国際的環境かと思い知ることになった。

ここから先は

52,528字 / 5画像

¥ 777

期間限定 PayPay支払いすると抽選でお得に!

この記事が参加している募集

#転職してよかったこと

5,991件

この記事が気に入ったらサポートをしてみませんか?