第2章: 趣味と労働
16進数
小学6年生の僕は、ポケモン以外にもいろいろなゲームで遊びました。最新のゲームは持っていなかったので、いつも友達の家で遊んでいました。プレイステーションやセガサターンを持っていた友達の家には特によく遊びに行きました。『チョロQ』、『カルドセプト』、『ファイナルファンタジー Ⅶ』などよく遊びました。あるとき、いつものようにその友達の家に『モンスターファーム』を遊びに行きました。よく一緒に遊んでいたので、その友達がどんなモンスターを持っていたかは知っていたのですが、その日はいつもと様子が違っていました。その友達のモンスターはすべてのパラメーターが最大になっていたのです。もったいぶる友達にせがんで、その秘密を教えてもらいました。その秘密は『アクションリプレイ2』という、ゲームのデータ(正確にはメモリ上のデータ)を改ざんできる非公式な周辺デバイスでした。このデバイスをプレイステーションにつないで、「3009AED1 0064」のような改造コードと呼ばれる文字列を入力していくと、プレイヤーのレベルが100になったり、隠れたキャラクターが出てきたり、ゲーム中のアイテムをすべて手に入れられたりする魔法のようなデバイスでした。
ただ、実はこうやってレベルを100にしたりして遊んでみると、ゲームはすぐにつまらなくなってしまいました。今まで一生懸命プレイヤーを育てて、強い敵に何度も立ち向かいながら遊んでいたときの快感がまったく感じられなくなってしまいました。ただ、ゲーム自体の楽しさよりも、この『プロアクションリプレイ』が動く仕組みにすごく興味を持ちました。この文字の羅列がどういう仕組みでキャラクターのレベルを100にするのか不思議だったのです。『ゲームラボ』という雑誌に改造コードのことが載っていたので、よく本屋さんに立ち読みに行きました。そうして手に入れたいろんな改造コードを友達と入力していくうちに、なんとなくパターンみたいなものがわかるようになりました。ゲーム内のパラメーターを100にするには0x64を入力する、255にするには0xffを入力すると覚えました。この妙な文字の羅列は『16進数』と呼ばれるもので、ゲームやコンピュータの仕組みを形作っているものだと次第にわかりました。ゲームラボを読んでいるうちにどうやらゲームはパソコンを使って作られている、パソコンを使うとゲームの改造コードを見つけることができるらしい、インターネットというものがあって、そこではどんなゲームの情報も見つけられるらしいということもわかってきました。僕は次第に自分のパソコンがほしいと思うようになりました。
最初のアルバイト
僕には1つ年上の姉がいます。年子なので小さい頃からいつも一緒に遊んでいました。日本に来た最初の頃は一緒にゲームをやっていたのですが、このとき姉はすでに中学1年生で、テレビゲームには興味を持っていませんでした。ある日のこと、突然姉は新聞配達を始めると話してくれました。うちは相変わらず貧乏で、僕も姉もお小遣いをもらっていませんでした。中学生になり、前よりもお金が必要になった姉は自分で稼ぐ方法を見つけてきたのです。これはいいと思い、僕も姉と一緒に地元の信濃毎日新聞社で新聞配達を始めることにしました。最初は近所の家を80軒ほど任されました。毎朝5時に近所の公民館の玄関に販売店が事前に積み上げた新聞を取りに行きました。自転車の荷台とかごに新聞を詰め込み、集合住宅がほとんどない地域で一軒一軒1時間ほどかけて回りました。日曜日はチラシの量が増えるので、新聞の嵩がいつもの倍になります。そうすると1回では回りきれないので、新聞を半分だけ積み込んで、半分配り終わってからまた公民館に戻って残りの半分を取りに行きました。朝6時半を過ぎると新聞がまだ来ないと販売店に電話がかかり始めるので、その前に終わらせなければなりません。早起きももちろん大変でしたが、それ以上に犬にいつも吠えられるのが嫌でした。雨の日には新聞が濡れてしまうことがありました。そうすると、クレームが出るので、そのお宅の新聞はビニールに包んで届けなくてはなりませんので、新聞の嵩はさらに増えました。僕が子供の頃の長野は冬になると大雪が降ったので、その中での新聞配達は特に大変でした。元旦は特に大変で、新聞の嵩はいつもの3、4倍にもなり、そこに豪雪が加わるのです。しかし、元旦に新聞を配ると、5000円のお年玉がもらえたので、それを楽しみに何度も霜焼けになりながら頑張りました。休みは週に1回と、月に1度の休刊日だけでした。給料は月に1万5000円ほどでした。次第に慣れると、配る軒数を増やしてもらえました。最大で1日120軒ほど回って、月に2万〜3万円ほどの収入がありました。これを小学6年生後半から中学3年生まで続けました。
新聞配達を始めたばかりの小学生だった僕にとって1万円はとんでもない大金でした。給料日になるといつもゲームを買いに行きました。そうやって稼いだお金をほとんどゲームに使っていましたが、ゲームの仕組みをもっと知りたいと思ってからは、次第にパソコンがほしいと思うようになりました。しかし、パソコンは高価なので新聞配達の給料を少しずつ貯めることにしました。
自分のパソコン
2000年1月、前年に地元の東部中学校に入学し、中学生になっていた僕は新聞配達で貯めた7万円と父に助けてもらった3万円を握りしめ、パソコンショップのラオックスに向かいます。目当ては以前から目をつけていた格安パソコン、ソーテックのPC STATION M250です。
好評の ¥99,800PCにニューモデル登場
INTEL®CeleronTMプロセッサ500MHz搭載
「PC STATION M250」
8倍速DVD-ROMドライブ、HDD 10GB、
グラフィックシステムATI RAGE PRO TURBO、VRAM 8MB搭載、
15インチモニタ・モデム・スピーカ・ジャストホームをはじめとする
各種アプリケーションソフトをセット
(OSはWindows98 Second Edition搭載)
こんな謳い文句に心を躍らせながらラオックスに入ると、僕は脇目も振らずパソコンコーナーに直行しました。通いつめたラオックス、何がどこにあるかは新入りの店員よりもよっぽどよく把握していました。パソコンコーナーに到着し、いよいよ一世一代の大勝負。「今度、Windows 2000が出るんだし、これもっと安くなりませんか?」。PC STATION M250を指差しながら、僕は念入りに準備をしてきたセリフを店員にぶつけます。「ああ、Windows 2000は普通の人には関係ないですよ」。僕の準備も虚しく、あっさりあしらわれてしまいました。喉から手が出かかっている僕にはこれ以上勝負を続ける忍耐があろうはずもなく、固く手に握った10万円を店員に渡し、それと引き換えについに夢にまで見た自分のマシンを手に入れたのです。
初めてのパソコン、「インストール」を「インスール」と読み間違えたり、クリックとダブルクリックの違いに苦しめられながら、僕とコンピュータの長い付き合いが始まりました。
「パソコンも、ネットがなければ、ただの箱」これくらいのことはすでに予習済みでしたので、パソコンを手に入れた僕はすぐにインターネットプロバイダーの契約をします。父親名義ですが、料金は自分で払いました。小さい頃からあらゆる家の手続きを任されていたので、このくらいはお茶の子さいさいでした。当時のインターネットはダイヤルアップ方式で、電話回線を通じて接続するものです。「ピー・パパパ・ピー」のような音をモデムが出しながらインターネットに接続していたことを覚えている方も少なくないと思います。家族が寝静まった深夜11時、翌朝まで電話料金が一定になるテレホタイムは僕にとって黄金の時間帯です。夜遅くまでインターネットにつなぎ、ゲームの情報を調べながら、朝には新聞配達に出かけるような生活を続けました。やがて我が家のインターネットはISDNになり、ADSLになっていき、僕のコンピュータに関する知識も徐々に深まっていきました。
ゲームとプログラミング
パソコンを手に入れてからは、主にゲームをしたり、ゲームの情報を探すのに使いました。ゲームを改造するために、プロアクションリプレイの仕組みやゲームの仕組みを調べていくうちに、次第にプログラミングというものに興味を持つようになりました。プログラミングができるとゲームを作れるらしいと知ったのです。今でこそIT教育の重要性が叫ばれるようになり、専門家ではない人でもプログラミングという単語を知っている人が少なくないですが、当時はまだインターネットがやっと一般家庭に浸透し始めたような時期でしたので、周りにプログラミングのことがわかる人は一人もいませんでした。そんな中、本屋さんで手に取ったPerl (パール)というプログラミング言語の本が僕にとって初めて触れたプログラミングに関する確固たる情報でした。Perlは無料でできて、初心者でもわかるという触れ込みだったので、この本を参考にしてPerlを開発するための環境を準備し、学び始めました。誕生日を出力するプログラムや、マルバツゲーム、本のISBNコードをチェックするプログラムなどを作りました。どのプログラムも文字ベースのもので、グラフィカルなことができなかったのが不満でした。そのうち「Visual Basic」略して「VB」という別のプログラミング言語を知りました。「Visual」の名のとおりグラフィカルなものを簡単に作れました。VBの無料版を使ってもぐらたたきやインベーダー風の簡単なシューティングゲームなどを作りました。ただ、無料版は実行ファイルが作れないなどの制約が大きく、お金を出してソフトを買わなければいけないと思うようになりました。調べていくうちに、プログラミングの開発環境は学生や教員向けのアカデミック版があり、2万円ほどで購入できることを知りました。2万円と言えば僕の1カ月分の給料にあたる大金です。はじめはVisual Basicを買うつもりでいましたが、さらに調べていくうちにBasicは簡単な言語で、本格的な開発をするにはもっと難しいC言語を学ばなければいけないということを知りました。C言語を学ぶのであれば「Visual C++」略してVC++という開発環境があることもわかりました。高いお金を出すのですから、難しくても有用な方を買おうと思い、中学2年生のときに、「Visual C++ 6.0 Standard Edition アカデミック版」を購入しました。同じ「Visual」と名前がついているのだから、VBのときと同じようにできるに違いないと高をくくっていましたが、そううまくはいきませんでした。今になってよくわかるのですが、VC++はプログラミング初心者がいきなり触ってわかるような代物ではありません。VC++を理解するためには膨大な知識が必要です。なので、ソフトに付属する本の内容をとりあえず打ち込んでみるものの、内容はほとんど理解できませんでした。そのうちインターネットで『猫でもわかるプログラミング』というウェブサイトを見つけ、そこでC言語を勉強しました。しかしやはりグラフィカルなプログラミングができるまでには至らず、テキストベースのプログラムをいろいろ書いて遊ぶことにとどまりました。
中学3年生のときマイクロソフトからVisualファミリーの新メンバー「Visual C#」が発表されました。VC#はVBの手軽さでVC++同様の複雑なことができることが売りで、僕はすぐにこれに飛びつきました。なるほど、広告に偽りはなく、C言語がある程度書けるようになっていた僕はVC#ですぐにグラフィカルなプログラミングができるようになりました。このときに、はまっていた『Ultima Online』略して『UO』というオンラインゲームがあって、それを解析するためのプログラムなどを書いていました。公式に『UOに』で遊ぶためには僕の1週間分の給料にあたる3000円を毎月支払う必要がありました。それは払えないので、『UO』のサーバーになりきるプログラム、UO「サーバーエミュレーター」なるプログラムを運営していた個人サーバーにつないで遊びました。これは公式に認められない遊び方なので、決しておすすめするものではありません。ただ、このサーバープログラムは公開されていて、設計書であるソースコードも公開されていたので、それをダウンロードして改造して遊びました。『UO』の内部の画像などを解析するためのプログラムなども書きました。
そのほかには当時遊んでいた『メタルギアソリッド』のゲーム内に無線通信で登場するキャラクターの画像を取り出すようなプログラムも書きました。数字の羅列を眺め、画像データの種類を予想しながら解析を進めるのは「ハッカー」になったような気分でした。東京のような都会にいたら、もしかしたらもっと早いうちに指導してくれる人を見つけられたかもしれませんが、僕の周りにプログラミングがわかる人がいなかったので、独学でいろんなことを学びました。
僕はプログラミングと同時にコンピュータグラフィックス、CGにも興味を持っていました。当時プレイステーション2では『ファイナルファンタジーⅩ』が発売され、同シリーズのグラフィックスの進化を目の当たりにしていた僕は興味を持たずにはいられませんでした。CGのことがわかる人はもちろん周りにいなかったので、本屋さんで『CG World』をよく立ち読みしました。自分でもCGを作ってみたいという思いが強くなり、『Shade (シェード)』という日本初の3DCGソフトを購入しました。『Shade』はそれほどメジャーなソフトではなかったのですが、簡易版の値段が3万円程度でしたので、お金をはたいて購入しました。3DCG業界で標準ソフトだったのは『3D Studio Max』や『Maya (マヤ)』といったソフトウェアで、数十万から数百万円したのでとても手が出るものではありませんでした。結局なにもうまく作れませんでしたが、そのとき学んだCGの基礎は今でも日々の仕事に活かされています。
もう1つ当時はまっていたことに、年賀状作りがあります。パソコンを手に入れてから毎年パソコンで年賀状を作りました。この年賀状は少し変わったもので、『ハリーポッター』、『メン・イン・ブラック』、『座頭市』、『ラストサムライ』など、旧年に流行った映画のワンシーンに自分を合成した年賀状でした。
この年賀状はグーグルに就職するまで10年間ほど続けましたが、毎年楽しみにしてくれている家がたくさんあったと聞いています。そうやってものを作ったり、それで人を驚かすことが好きでした。
【コラム】 中学時代に遊んだゲーム
中学生のときは新聞配達で稼いだお金をほとんどゲームとパソコンに費やしました。『ファイナルファンタジーシリーズ』、『ゼノギアス』、『メタルギアソリッドシリーズ』、『鉄拳シリーズ』、『オレの料理』、『シーマン』、『シェンムー』などのゲームをよく遊びました。
スクウェアソフト(元スクウェア・エニックス)の『ファイナルファンタジー』は6から10まで全部遊びました。ゲームシステムもさることながら、進化していくグラフィックスに毎回驚かされました。中でも特にファイナルファンタジー8の衝撃はよく覚えています。オーケストラの演奏を背景に、フルCGで始まるオープニングムービー。等身大で動き回るキャラクターを見て、こんなにリアルなゲームがあるのが信じられませんでした。一度クリアした後も飽き足らず、攻略本を読みながらゲームを隅々まで遊びました。
同じくスクウェアソフトの『ゼノギアス』にもハマりました。このゲームはそんなに大人気ではなかったのですが、宗教や社会問題、SF、哲学とかいろいろな要素を取り込んだ「中2病」的なストーリーを持った作品でした。このゲームの主人公は解離性同一性障害を持った青年で、温厚な人格、孤独な人格に凶暴な人格といろいろ持っていて、何が本当の自分なのかいつも悩んでいました。この設定は多感だった中学生の僕に刺さりました。同時期にダニエル・キイス著『24人のビリー・ミリガン』という24人の人格を持った青年の話を読んでいたので、人格とは一体何なのか、自分は何なのかとよく考えました。
セガの『シェンムー』は発売前から楽しみにしていたゲームでした。たまたま買った中古の『バーチャーファイター 3』の付属ディスクで予告編を見てからすぐにファンになりました。この予告は何度も何度も繰り返し見ました。その予告編で、当時セガのプロデューサーだった鈴木裕さんが語る「このゲームはRPGではない、FREEなんだ」という言葉を聞き、一体どんなゲームになるのか楽しみで仕方がありませんでした。ゲームシステムも楽しみでしたし、ゲームの舞台が中国大陸と関わっていることも僕が『シェンムー』に期待した理由の1つでした。パソコンを買うよりわずか前の1999年末、新聞配達を済ませた直後に、いよいよ発売された『シェンムー』をセブン−イレブンで買いました。普段は節約のために、新品のゲームを買うことはしませんでしたが、このときは特別でした。学校は冬休みだったので、一日中家にこもって『シェンムー』を遊びました。FREEとはよく言ったもので、このゲームはそれまでのゲームより格段に自由度が高いことがすぐにわかりました。街の中にはいろんな人がそれぞれのリズムにあわせて生活していて、自分もその一員になって、街を探検したり、自販機でジュースを買ったり、フォークリフトでレースをしたり、街のゲームセンターで遊ぶことができます。ゲームの中にあるゲームセンターでゲームを遊ぶ、これは革命的でした。今どきのオープンワールドと呼ばれるジャンルのゲームの走りと言えるゲームでした。そのあとに発売された『シェンムーⅡ』もまた発売と同時に購入しました。2016年にセガを離れた鈴木裕さんが続編の『シェンムーⅢ』制作のための資金作りのクラウドファンディングを行っていることを知り、迷わず出資しました。2017年5月現在、開発は順調に進んでいるようで、プレイできるのが楽しみです。
コナミの『メタルギアソリッドシリーズ』もよく遊びました。『メタルギアソリッド』は、核の発射を止めるためにスパイになって敵地へ潜入するという内容のアクションゲームです。ゲームシステムはそれまでの戦うゲームと違い、敵に見つからないように潜入する斬新なものでした。ゲームをクリアすると、最後に次のようなメッセージで締めくくられます。「核不拡散条約が締結されて数年経つ今でも世界にはなお二万六千発の核兵器が存在している」。ゲームを通じてこういったことを発信することもできるのかと衝撃を受けました。ちょうどその時期、2001年9月11日にアメリカで同時多発テロが発生し、飛行機が世界貿易センタービルに突入するのをたまたまつけていたテレビで目の当たりにしていました。対テロ戦争の名目でアメリカがアフガニスタンに侵攻していくのを見て、世界はどうなっていくのかと子供ながらに不安になりました。後日、僕のアイディアで街頭募金をクラスみんなですることになり、僕のグループは2日間駅前に立ち20万円ほどを集め、国際連合難民高等弁務官事務所を通じてアフガニスタンに寄付しました。当時国連難民高等弁務官だった緒方貞子さんから感謝の手紙を頂いたのを覚えています。
パソコン博士
新聞配達のアルバイトは中学3年生の途中でやめました。もっと払いのいいアルバイトを見つけたのです。1つ年上の姉は中学時代に年をごまかして近所の中華料理屋さんでアルバイトをしていました。僕もそれを真似て、地元のマクドナルドに「高校浪人」だといってアルバイトを始めました。マクドナルドでは時給680円から始め、10円ずつ上げてもらいました。平日は6時から10時までの4時間、学校が休みの日は8時間入りました。月に6万円から7万円ほどもらっていたので、お金の心配はほとんどありませんでした。高校受験を経て、2002年4月、中学を卒業した僕はこれまた1つ年上の姉が通っていたのと同じ、家の近所にあった長野吉田高校に入学しました。その頃から僕の遊び相手はアルバイト先の人や、高校の友達が中心になっていきました。カラオケや河原でバーべキューをしたり、外での遊びが中心になり、誰かの家に集まってゲームをすることはほとんどなくなりました。高校のときに一緒に遊んだ友達はその後も連絡が途絶えることはなく、大学に入ってからも、社会人になった今でも大切な友人としての関係を続けています。
この頃からゲームは少しずつ遊ばなくなりましたが、パソコンやプログラミングには相変わらず夢中でした。繰り返しパーツを買ってはアップデートをしていたので、中学1年生のときに買ったソーテックのPC STATION M250は15インチのモニター以外、ほとんど跡形もありませんでした。メモリ、ハードディスク、グラフィックカードなどを次々に買い足して、終いにはマザーボードとケースも替えてしまいました。この頃になると、僕はパソコン博士を自任するようになっていて、知り合いのパソコントラブルをよく解決したりしました。中国人コミュニティーの間の口コミで、僕がパソコンを自作できることを聞きつけた人に、よく頼まれて少ない予算でパソコンを組んであげました。
九死に一生
高校1年生が終わる頃、僕は死にかけました。4月生まれの僕は16歳になってすぐに免許を取って、原付きに乗るようになりました。やがて、原付きでは飽き足らず、免許もないのに250㏄のバイクを乗り回すようになりました。暴走をしていたわけではなく、ただ単に250㏄バイクのパワーを楽しんでいました。しかし、楽しいことはそう長く続きません。ある晩、事件は起きます。その日、アルバイト終わりに少し遊んだあと、いつものように家に向かいました。少し雨が降っていて、僕は早く家に帰りたい一心でアクセルを煽りました。信号のある大きな交差点に近づいたとき、黄色信号が見えました。中国にいた頃には意味を知らなかった黄色信号でしたが、このときはもちろんその意味を十分にわかっていました。信号がまもなく赤になる。3車線の真ん中を走っていた僕はアクセルをさらに煽ります。右折車線にいた車が少し動いたのが見えた次の瞬間、僕は自分がどこにいるかわからなくなりました。左目が開かない、誰かが話しかけているようだ、「大丈夫?大丈夫?」そんな声が聞こえました。「どうしよう、免許を持っていない」。そのことばかりが心配で、「大丈夫です」と脊髄反射のように返事をしました。意識がまた遠くなります。どのくらいの時間が経ったのかわかりません。次に目が覚めたとき僕ははっきりと自分がどこにいるかわかりました。車に激突し、バイクと一緒に交差点のど真ん中に投げ出されたのです。車の運転手だったのでしょうか、声をかけてくれた人はもうそこにはいませんでした。交差点の真ん中で僕は手を振って助けを求めますが、深夜に顔から血を流して手を振る者に関わろうとする人はいませんでした。必死にバイクを起こし、なんとか歩道まで運ぼうとしますが、大きく変形した200キロ近くあるバイクは思うようには動きません。そのとき、遠くの方から赤い光とともに、サイレンの響きが耳に入ってきました。「警察だ、終わった」。そう思い、観念した僕は近づく光を待ちました。血で曇った目でやっと識別できる距離まで近づいた光は救急車のものでした。助かった。救急隊員の力を借りて、バイクをなんとか歩道まで動かします。救急車に乗るように催促する救急隊員に、僕は自信を持って言いました、「大丈夫です、家に帰ります」。自分が命を失うことよりも、救急隊から警察に連絡がいき、無免許が発覚するのを恐れたのです。人間はパニックになると正常な判断ができなくなることを身をもって学びました。もっとも、無免許でバイクに乗ること自体、法に違反する間違った行為ですが、血気盛んな16歳の僕にその自覚はありませんでした。今でこそよくわかりますが、無免許運転は絶対にしてはいけません、自分だけでなく、人を傷つけることにもなりかねません。
そのまま家まで帰りましたが、両親に知られたくなかったので、自分の部屋に朝まで閉じこもりました。まだ隠し通せるつもりでいたのでしょう。一晩中顔から血を流していたので、寝ることはできませんでした。朝、両親が仕事に出かけたあとで、トイレで血を吐きました。このとき、「もうこのまま死ぬのかな」と思いました。起きてきた姉はその状況に驚き、すぐに救急車を呼びました。診断名は『左眼窩底及び眼側壁骨折』でした。フルフェイスのヘルメットをかぶっていたので、目の骨折だけで済みました。病院に駆けつけた両親に怒られると思っていた僕の予想を裏切り、両親は声を出して泣きました。このとき初めて自分がどれだけ親不孝なことをしたのか、痛みを持って全身で感じました。治療には腰の骨を一部切り取り、目に移植する手術が必要でした。2003年4月16日、17歳の誕生日の日に僕は手術のために入院しました。手術は無事成功し、2週間後に退院しました。視野も視力も徐々に回復し、数カ月で目の腫れも取れました。しかし、そのとき左目が少し奥に沈んでしまい、右目より少しだけ小さい左目は、馬鹿なことをした教訓として一生残ることになりました。
モバイルアプリ
高校時代、ドコモのi‒モードの普及によって、携帯電話でゲームをすることが一般的になっていました。i‒モードでは誰もが自由にアプリを開発できたので、僕も自分でアプリを作ってみたいと思いました。しかし、僕の携帯は学割の効くAUで、誰もが自由にアプリを開発できる環境ではありませんでした。僕が高校3年生になった頃、AUのEZアプリが一般の開発者に開放され、誰でもアプリを開発できるようになります。僕は携帯ゲームで遊ぶことにはそんなに興味はありませんでしたが、ゲームを作りたい、プログラミングをしたい思いはありましたので、EZアプリの開発に挑戦しました。EZアプリは『J2ME』という『Java言語』の一種で書かれていたので、このときJava言語を勉強しました。ファミコンにあった『ロードランナー』のようなゲームを作ろうと思いました。『ロードランナー』はプレイヤーキャラクターを操作して、追いかけてくる敵を穴に埋めながら金塊を集めていくゲームです。孤軍奮闘の末、キャラクターを動かすところまではできたものの、結局最後まで作り込むことはできませんでした。ゲームプログラミングをするためのアルゴリズムやデータ構造の知識が足りなかったのです。指導者がいない、周りに同じ趣味を持っている人もいなかった、僕の独学の限界でした。
言いようによれば、僕は高校生のときからモバイルアプリを開発してきたとも言えます(……いや、言えないか)。