PR

ゲーム開発環境「Unity」の日本での普及の立役者である大前広樹氏。以前はゲーム開発企業でゲームやゲームエンジンの開発で活躍していた。プログラマーとしての経験やゲーム開発への思いを聞いた。

(聞き手=大森 敏行)

[画像のクリックで拡大表示]

ゲームとの出会いを教えてください。

 ゲームと出会ったのは6歳くらいのときです。隣の家に任天堂の「ファミリーコンピュータ(ファミコン)」があり、ゼビウスをプレイして「なんだこれは」と思ったのが最初です。それで小学1年生の誕生日にファミコンを買ってもらい、それからずっとゲーム三昧の毎日でした。

 中学2年生のときに自宅のMacでゲームプログラミングを始め、卒業する頃にはプロのゲームプログラマーになりたいと考えていました。

 その頃「英語ができるようにならないと新しいテクノロジーに何年も遅れてしまう」と強く思っていて、中学卒業後は米国コネチカット州にある高校に入学しました。飛び級して3年間で卒業し、南カリフォルニア大学(USC)でコンピュータサイエンスを専攻しました。

 結局、大学は2年で中退してしまいました。「実践の場で手を動かして勉強したい」という気持ちを抑えきれなくなったのです。日本のゲーム産業で働きたいという気持ちが強く、日本に帰ってきました。

 しかしいきなりゲーム業界には入りませんでした。知り合いに誘われ、動画配信サービスを提供するベンチャー企業でJavaを使ってシステムを開発しました。

 仕事に手詰まり感があったこともあり、この会社は2年くらいで辞めました。そろそろゲーム開発に本格的に戻りたいと思ったからです。

 そこからは1年半くらいニートをして、技術を磨いていました。Javaのシステム開発で自分のスキルポートフォリオがかなり変わってしまったので、ゲーム開発でよく使われるC++の最新事情に追いつきたかったのです。巨大なシステムを作り上げた経験をゲーム業界で生かしたいとも思っていました。

 そのためには、自分の中でテクノロジーを1回きちんと消化する必要があります。そこで、それまでのシステム開発のノウハウを注ぎ込んだゲームエンジンを、時間をかけて自分の手で作りました。

 また、自分はハードウエアへの理解が弱いと気付いていたので、その強化をやりました。ベクトル幾何などの3次元(3D)グラフィックス系の数学も徹底的に勉強しました。

 このニート期間を経て、2004年1月にゲーム開発会社のフロム・ソフトウェアに入社しました。最初にやったのは、発売前の新しいゲーム機向けのプロトタイプゲームの開発です。その後は、PlayStation 3とXbox 360が発表されたときに、マルチプラットフォームのゲームエンジンの開発を会社に提案して、その開発を任せられました。

App Store登場に強い衝撃

[画像のクリックで拡大表示]

Unityに出会った経緯は。

 米国のゲーム開発のイベントに行ったり開発者向けの英語の雑誌を読んだりして新しいツールの情報を集めている中で、Unityを知りました。2008年頃のことです。

 2008年に「iPhone 3G」が出て、App Storeが立ち上がりました。アプリを誰でも作って世の中に配信できることに強い衝撃を受けました。この時代の流れに乗りたいという気持ちがすごく強く、会社にiPhoneアプリの開発を提案しました。しかし、反応が今ひとつ悪かった。

 そこで自分でやろうと思い、iPhone向けのアプリやゲームを開発する「KH2O」を2009年8月に設立しました。Unityで本格的にゲームを作ってみることにしたのです。

 その後、米ユニティ・テクノロジーズと直接の関わりができ、創業者のデイビッド・ヘルガソンと当時のビジネスのトップであるトニー・ガルシアから直接、日本でのUnityの普及活動をやらないかと誘われました。

 最初は乗り気ではありませんでした。ただ、Unityでゲームを作っていたときにつらかったのは、Unityに習熟した人があまりに少なかったことです。自分がラクにゲームを開発できるように、Unityの開発者が簡単に集まる世界になってほしい。そのために、ちょっと遠回りだけど普及活動をしようと考え、自分の会社を整理してジョインしました。

Unity普及のために、どんな活動をしているのですか。

 1つはUnity自体を広めることです。ゲーム開発の障壁を下げることだと言い換えてもいいでしょう。ゲームエンジンはゲームの開発を牽引する存在です。

 日本はゲーム開発には強いですが、ゲームエンジンの開発には日本の開発者がなかなか参加できていません。日本に開発チームを作ってそのチームをUnity本体の開発に参加させるというミッションもあります。

 自分たちがやりたいことを海外と共有するための共通のプラットフォームづくりにも注力しています。その代表的な例が「ユニティちゃん」というキャラクターです。

Unityをプログラミング学習に使うという動きもあります。

 少し前に、「Unityはプログラミングを始めるのには向かないのではないか」という議論がありましたが、そんなことはないと思っています。どのようにプログラミングを学ぶのが正解ということはありません。

 Unityのような開発環境なら、すぐにグラフィックスが表示されるし、楽しいことがすぐにできます。より深いプログラミングを学びたければ、深掘りすればいいだけの話です。

 あとは、誰がやっても同じことをどれだけ強く学ぶ必要があるかという話もあります。「誰がやっても大差ない」という部分の開発に多くの人のリソースを使うよりも、同じものを共有するほうがいい。そのうえで、個々の結果が異なるクリエイティブな成果のバリエーションが多いほうがいいのではないでしょうか。

 すべての画家が絵の具から作らなければならないとしたら、みんな絵の具を作るのに疲れて絵を描くほうまで気が回らなくなるでしょう。絵の具が最初からあればみんな絵に集中できます。プログラミングは道具にすぎません。