プログラミングで世界を変える

ゲームプログラミングと技術のこと

小6でゲーム作りを夢みて大学4年間をプログラミングに費やした僕のゲームが、あした全国のゲーム屋さんに並ぶ話

今の会社に入って1年半が経った。入社してからずっと取り組んでた大きなタイトルが公開されて、それが明日大きな節目を迎える。会社にとっても大きなことだし、僕個人の人生にとってもひときわ大きな出来事かもしれない。 これは、小6でゲーム作りを夢みて大学4年間をプログラミングに費やした僕のゲームが、あした全国のゲーム屋さんに並ぶ話。


1番古いゲームの思い出は『ポケットモンスター クリスタル』だった。

f:id:splas_boomerang:20210414151229j:plain
引用元: https://amzn.to/2OCXGlR , https://www.nintendo.co.jp/3ds/pokemon_crystal/index.html

当日のゲームボーイ用のカートリッジは内蔵してある電池を使ってセーブデータを保持してたのだが、僕が持っていったクリスタルはこの電池が切れていたためセーブができなかった。その上、幼い頃に1日中ゲームをやっていて怒られたことがあったらしく、物心付いた頃の僕の家庭では「ゲームは1日1時間まで」だった。だから、いつも最初のジムリーダーまで行ってはリセットされるというを繰り返していた。RTAでがんばって先まで進めようとする毎日は、今にして思うとなかなか変わった子供時代だったと思う。

そんな環境だったので、一度家族で親戚の家へ遊びに行ったとき、親が親戚と話していある間に4,5時間くらいゲームをできたことを今でも覚えている。今まで見ることのできなかったポケモンやジムリーダーと出会うことができて、すごく濃密な時間だったように思う。結局そのデータも最後には消えてしまう訳だけど。


小学校にあがり、ゲームボーイアドバンスで色々なゲームを遊んだ。

くるりんパラダイス
本編よりもフラッピーバードみたいなミニゲームが難しくてめちゃくちゃ苦戦した

f:id:splas_boomerang:20210414152024j:plain
引用元: https://amzn.to/39Xf3W7 , https://www.nintendo.co.jp/titles/20010000014488

コロコロパズル ハッピィパネッチュ!
カートリッジ内に内臓された加速度センサーで傾きを検知して遊ぶパズルゲーム(今にして思うとなかなかすごい)

f:id:splas_boomerang:20210414152157j:plain
引用元: https://amzn.to/3wWBaWC , https://refuge.tokyo/gameboyadvance/gba/00381.html

ポケットモンスター サファイア
小学生の遊び盛り、長野県の信号機が4機しかない田舎で、通信ケーブルを持ち寄って友達と遊んでたいた日々、ヒミツキチも楽しかった

f:id:splas_boomerang:20210411225301j:plain
引用元: https://amzn.to/3fVYvl8

PlayStationとの出会いもこの頃だった。父親が中古で買ってきたことを覚えている。この頃には両親が別居していて、1~2ヶ月に一度くらいのペースで週末は父親がいる愛知県岡崎市へ遊びにいっていた。たまにしか会えないので色々な場所に連れていったりもしてくれていたんだけど、家でのんびりする時には一緒にゲームをすることも多かった。その頃やっていたのがPlayStationソフトの『ぷよぷよSUN 決定盤』と『タイムボカンシリーズ ボカンGoGoGo』だった。

f:id:splas_boomerang:20210414151412j:plain
引用元: https://amzn.to/3d7389X , https://amzn.to/3a2bldA

どちらも対戦ゲームだが、小学生の頃だとなかなか父親には勝てなくて何度も挑戦しては負けていた。でも完敗するようなこともなかったので、もしかしたら上手く手加減してくれていたのかもしれない。


小学校6年生になり、詩を書く授業があった。自分の好きなことを詩にしてみようと言われた。それまで自分の好きなことなんて考えたこともなかったが、僕はゲームについて書くことにした。

「ぴこぴこぴこ あーたのしい かちゃかちゃかちゃ あーおもしろい」

確かこんな感じだった。くだらない内容なんだけど、自分がゲームを好きなことや、漠然とこういう楽しいものを作る仕事をしてみたいと意識するようになったのは、この詩がきっかけだったと思う。


大学に進学した。「なんとなくプログラミングをしてみたい」という理由で、愛知県の国立大学の情報工学科に入学した。

ゲームを作るのが夢だという女の子と仲良くなった。その子に連れられてゲームを作る部活へ見学にいった。入ってみたいと思った。しかしこの部活は例年入部希望者が多く、入部試験があるらしい。大学1年生で習うプログラミングの授業の範囲が対象で、試験の日程は5月頭。1ヶ月弱で一通りのプログラミングを習得しろという話らしい。むちゃくちゃだ。

2人で一緒にプログラミングの勉強を進めること1週間、自分はプログラミングが向いていると感じた。コンピューター上の黒い画面に"Hello world"と表示されたことに喜びを感じた。プログラムは書いた通りに動き、意図しない動作も自分が記述した結果。白黒のはっきりする分かりやすさが好きだった。相手の子は苦手だったらしく、名古屋のマクドナルドで泣き始めてとても困ったことを覚えている。その後、無事入部することができた(その子は落ちた)。*1

f:id:splas_boomerang:20210414164329j:plain:w400
プログラミングをしながら寝落ちしている僕

この部活では年2回のゲーム制作が義務付けられていた。U22という22歳以下を対象としたプログラミングコンテストと大学の文化祭であるU22は7月頃が締め切りなので、5月に入部した新入生は3ヶ月程度でゲームを一本完成させる必要がある。なかなかのスパルタぶりだったと思う。

初めて作ったゲームはタワーディフェンスだった。主人公自身で攻撃できることが特徴。

2作目はシミュレーションゲーム。画面外の野良モンスターも食物連鎖を繰り返して成長していくゲーム。勇者のくせになまいきだ。に影響を受けている。

大学2年になってからはUnityという、今ではかなりメジャーなゲームエンジンの学習を始めた。この部活ではWin32 APIというフレームワークを使ってWindows向けゲームを作ることが慣例となっていたが、もともとiPhoneのタッチパネルを使ったゲームを作りたいと思っていた僕は独学でUnityを学び始める。

f:id:splas_boomerang:20210412014944p:plain:w400
Unityで初めて作ったゲーム。当時話題になっていた量子将棋を作ろうとするも、物理エンジンが楽しくなり別ゲーになってしまう。

f:id:splas_boomerang:20210414152640j:plain
初めてiOS/Android向けにリリースしたゲーム。西洋妖怪 vs 日本妖怪のタワーディフェンスゲーム。タイトルやUI画像は付き合っていた彼女に描いてもらった。


この頃からゲームが学校の外の活動と繋がるようになってくる。きっかけは先輩の紹介で入ったソシャゲ会社のアルバイトと、そこで出会った一つ上の橋本さんという方だった。勉強会の文化や、即席チームでゲーム開発をするハッカソンというイベント、インターンの存在など、色々なことを教えてもらった。部活の完結したコミュニティの中だけでゲーム開発をしていた僕にとっては知らないことばかりだった。

f:id:splas_boomerang:20210412091945p:plain:w400
初めて参加したGlobal Game Jamで作ったランゲームとリズムゲームを掛け合わせたゲーム。プログラマが複数人いる開発はこれが初めてでかなり苦労した。

f:id:splas_boomerang:20210414152400j:plain
初めてのハッカソンに参加し、8時間で必死に作ったミニゲーム。

f:id:splas_boomerang:20210414151722j:plain
僕がリリースしたゲームをみたカジュアルゲーム会社の人が連絡をくれて、初めて受託開発で作ったゲーム。時給とは別にレベシェアもあって嬉しかった。

f:id:splas_boomerang:20210414155321j:plain
エイチームインターンで作ったモック、パズルゲームのロジックを組むのが大変でチームのプログラマと相談しながら進めた思い出。

f:id:splas_boomerang:20210414154839j:plain
サイバーエージェントのインターンで作ったゲーム、スワイプで勢いよく進む気持ちよさに、属性やキャラスキルの要素を盛り込んだ。

f:id:splas_boomerang:20210414155125j:plain
友達と作ってたメンヘラ彼女を育成するゲーム、こえ部で声優さんを募集して初めてお金を払って収録してもらった。リリースはできなかった。

www.youtube.comピコカセットというスマホ用ガジェットのハッカソンで優勝して公式にリリースしてもらえることになっていたが、ガジェットの企画自体が頓挫したため世に出ることはなかった。

公開できないもの含めて他にも色々なゲームを作った。同じ部活の友達とは帰り電車で面白いゲームを作るためのアイデアをよく一緒に話していた。

ゲーム開発が、プログラミングが、僕の大学生活の中心にいつもあった。


進路のことを考える時期になった。理系大学だと院進学がほとんどだが、僕の場合はゲームを通じて開発の楽しさや適性を感じていたため就職を選んだ。在学中はゲーム以外にも競技プログラミングやWeb開発、アプリ開発などさまざまな分野に手を出していた。その上で、やはり自分に向いているのはゲーム開発だと思った。

インターンで気になっていた会社を中心に数社のエントリーをし、若手で活躍している人が多いサイバーエージェントのゲーム部門に入社することを決めた。


転機が訪れたのは入社前の12月だった。大学で卒業研究に打ち込んでいたある日、サイバーエージェントにVRの子会社が設立されることを知った。心が揺らいだ。

www.cyberagent.co.jp

実を言うと、大学2年生の冬頃に参加したイベントでVRに出会い、かなりのめり込んでいた時期があった。

その頃のVRというと、Oculus Rift DK2という開発者向けのデバイスが一部のエンジニアの間で盛り上がっている程度のもので、僕が参加したイベントも名古屋で行われた20名程度の勉強会だった。しかし、実際に体験した時の感動はすごかった。

その勉強会で出会った人に、「名古屋で一般の人向けの展示イベントをやるので、よかったら出展しないか。1ヶ月後に」と誘われた。体験したのも今日が初めてなので当然開発したこともないし、ましては開発に必要なWindows PCも持っていなかった。

その場で「参加する」と伝えた。この後の人生を大きく変えた4週間が始まった。


まず機材を買った。DK2とハイスペックなデスクトップPC*2、それとディスプレイだ。大体25~30万円弱かかったと思う。大学生にはかなり痛い出費だったが、金銭感覚を麻痺させるほど魅了されていた。

大学の部活の友達に声をかけた。一緒に開発してくれることになった。機材が送られてくるまでの数日間、大学近くのファミレスに集まってどんなコンテンツを作るか話し合った。そこから3週間は機材一式を大学の部室に持ち込み、授業が終わってから終電まで開発をするような日々だった。完成は、展示イベント当日の朝のことだった。

f:id:splas_boomerang:20210414165209j:plain
体験中の様子(引用元: http://kako.com/blog/?p=4238

タイトルは『VR通勤電車』で、VRでしか出来ない体験をさせるというコンセプトで制作した。駅のホームで電車を待っているシーンから始まる。体験者ができることは体を傾けて前に進むことだけ。しばらくするとホームに電車が入ってきて乗り込むことができ、発車するとフェードアウトで元のシーンに戻ってくる。これを繰り返すだけというサラリーマンの日常を揶揄した内容だが、一つだけこれ終わらせる方法があって、体験者にはその方法に気がついてもらうというオチのコンテンツになっている*3

余談だが、このコンテンツは僕が通学に使っていた実在する駅がモデルになっており、実際の駅の環境音を使用していた。かなりリアルに仕上がっていたため駅でぼーっとしている時にふとデバッグ中の行動(オチのやつ)をしかけたことがあり、めちゃくちゃバーチャルリアリティだった。

初めてのVR開発だったが、3週間という短期間に勢いで作ったものなので決して出来の良いものではなかったと思う。しかし、今までのスマートフォンの画面の中の世界を作っていた感覚から、空間全体を生み出せる感覚は全然違っていて、新鮮で、どんどんとのめり込んでいった。

www.youtube.com顔面に飛びついてくるクモを、頭を振って振り落とすゲーム。当時はVR用のハンドコントローラーがなかったため、色々な入力方法が模索されていた。当時のOculusでアプリを公開するサイトで配布をしたら、海外の方から「Very Crazy」などたくさんのコメントが寄せられてグローバルさを感じた。

www.slideshare.net学生向けの勉強会を開いて布教活動もしていた。部活の人にもめちゃくちゃ体験させて回っていた

www.youtube.com放課後の学校の教室で女の子とロッカーに閉じ込めれるゲーム、VRなのに閉塞感のある体験ができる

この作品はコンセプトデザインがかなり上手くいったと自負していて、その話を『VRエンジニア養成読本(技術評論社)』という技術書で執筆させてもらった。

好きな感想ツイート


話を戻そう。このように、僕はVRにかなり強い思い入れがあった。しかし就職活動をしていた2016年当時にVR開発ができる会社なんてほとんどなかったし、新卒採用している会社も知らなかった。VRは趣味として続けると割り切ってゲーム系の会社に入る決意をしたのだが、その入社を決めた会社にVR部門ができる。運命だと思った。

その子会社のCTO(技術の1番偉い人)の稲村さんという方に話を聞きにいった。面識もない状態で流石にいきなり会える訳がなかったので、稲村さんが参加する採用イベントを見つけてきて人事の方に「お手伝いしに行きます!」と言って潜り込んだ。休憩時間に話をすることができた。稲村さんは本業の傍でVRに出会ってのめり込み、社内で布教活動をしていた人らしい。VRが好きな気持ちが伝わってきたし、VRの魅力や未来についての話が本当に楽しかったことを今でも覚えている。一緒に働きたいと思った。

その後は人事の方とも相談して入社直前の3月にインターンをさせてもらったりして、入社後の6月ごろに無事配属してもらうことができた。


配属後は『AbemaTV VR』の開発をメインのエンジニアとして担当した。VR空間で大画面の番組を視聴できるというアプリで、AbemaTVの特徴であるザッピング(チャンネルを切り替える操作)をVRならではの形で実現した。

f:id:splas_boomerang:20210414175823j:plain:w400
引用元: 「AbemaTV」がスマートフォンVRプラットフォーム「Daydream」に対応を開始 | 株式会社サイバーエージェント

ゲームではなかったが、すごく楽しかった。新卒ですぐエンジニアのリーダーを任せてもらえたことや、ストリーミング動画の著作編保護の仕組み(DRM)を扱う技術的な好奇心もありつつ、やはりVRで今までにない体験やインターフェースを作っていくことが何よりも楽しかった。一緒に働いたデザイナーの方もユーザー体験デザインが大好きで、2人で議論しながら作っては壊してを繰り返した。反省することもたくさんあったけど、自分たちが最も良いと思う状態でリリースできたことがとても嬉しかった。

www.mdn.co.jp試行錯誤の歴史がわかるインタビュー記事


その後は株式会社メルカリに転職をし、VRの研究開発に携わった。

kohki.hatenablog.jp

VR技術を将来のメルカリに活かす方法を模索するための部署だったので、海外のイベントに行って最新技術の視察をしたり、色々なデバイスを購入して様々な仮説検証を行った。技術漬けの日々で、自分の興味があることをかなり自由にさせてもらえる環境だったけど、フリマサービスの会社なので、流石にゲームだけは出来なかった。


今の会社に入るきっかけは一昨年の秋頃、色々な事情があってVRの研究開発部署がなくなることになった。社会人3年目にして2度目の転職をすることになった。Twitterで転職先を探すことにした。

この時は相当いろいろなことを考えた。実は1社目も2社目もVRの部署自体がなくなっていた。VRはここ数年で急成長している分野ではあったが、お金に繋がるビジネスはまだまだ難しいのかもしれないと感じていた。そのためVR以外にも、VTuber系やゲーム系など幅広く色々会社に話を聞きにいった。社会人になってからずっとVRに携わっていた僕だが、最後まで迷っていた会社の中にはVRではない会社もあった。

そんな中で出会った今の会社は「VRゲーム」を作るスタートアップだった。元々会社自体は知っていてリリースされていたタイトルも遊んでいたが、それだけ。代表の岸上さんという方とは一度VRSNS上で会ったことがある、程度の接点だった。

入社を決めるまでに不安もたくさんあった。VR分野の先行きもそうだし、今までいた2社が大きな会社だったので初めてのスタートアップで働くことも不安だった。しかし、会社の人とやりとりを重ねるにつれ、すごい人たちがすごい情熱をもって作っていることが伝わってきた。世界を変えるような挑戦をしている人たちの前で、自分の抱えている不満がとても恥ずかしいものに感じた。最終的には自分の中の「VRのゲームに挑戦したい」という想いに突き動かされて入社を決めた。

kohki.hatenablog.jp転職の時のあれこれを綴ったエントリ


今の会社に入って1年半が経った。入社してからずっと取り組んでた大きなタイトルが、明日大きな節目を迎える。会社にとっても大きなことだし、僕個人の人生にとってもひときわ大きな出来事かもしれない。

そう、PlayStation VR版が発売される日だ。

小学校の時、父親と遊んでいたPlayStationプラットフォームに僕の作ったゲームが加わる。全国のゲーム屋さんの棚に僕の作ったゲームが並ぶ。小6の僕は、大学生の僕は、こんな未来を想像できただろうか。

タイトルの名前は『ALTDEUS: Beyond Chronos』(通称アルトデウスBC) 、VRを最大限生かした物語体験ができるゲームである。400年後の未来を描いたSF世界でロボットに乗り込み巨大生物と戦うパイロットのお話。

この作品のすごいところは、一方的に見るだけではなく、「VRゲーム」であるところだと思う。プレイヤーは確かにその世界に存在していて、登場人物はプレイヤーの目を見て話しかけてくるし、自分の選択で物語は大きく変わる。プレイヤー自身が最前線で物語を作り出す作品になっていると確信している。

搭乗シークエンスの動画がめちゃくちゃバズってた

他のプラットフォーム(Oculus Quest, Rift, Steam)には既にリリースしていて、ユーザー投票型の「ファミ通・電撃ゲームアワード2020」にてアドベンチャー部門の最優秀賞に輝くなど、高い評価をいただいている。自分の作品が、実際の多くのユーザーの心に届いて得られた評価、何事にも替えられない喜びを感じた。

kai-you.net


この1年半を振り返ってみると、"答え合わせ"のようだと思った。1年半は決して楽しことばかりじゃなくて、さっきの搭乗シークエンス一つとっても0.1秒単位の調整を何度も何度も繰り返して、本当に良い体験を届けられるようにがんばってきた。ユーザーのテンションが最高潮になって欲しいところ、逆に物語へ入り込んでもらうために極限までノイズにならない自然さなど、本当に色々なことを考えて、議論して、試行錯誤をして、形にしてしてきた。その結果、本当に素晴らしい作品に仕上がったと思えるようになった。

これは、大学生の自分にも、社会人1年目の自分にも出来ないことで、今まで、VRとゲームに真剣に向き合ってきた僕だからこそ出来たことだと思った。そう自分で思えるような仕事ができて嬉しかった。もちろんこれは僕だけの力じゃなくて、一緒に作ってきたチームの人たちがいたからこそできたことだ。みんな能力が高いだけでなく、本当に作品作りが好きな人ばかりだ。いつも色々な作品の話をしているし、その情熱が異常な密度でアルトデウスBCに注がれている。ただ、その一員に自分がなれていると胸を張っていえる今の自分を、本当に誇らしいと思う。

f:id:splas_boomerang:20210415102107p:plain
スタッフロール


もしこの記事を読んで興味を持ってくれた人がいたら、僕たちの想いがこもったこの作品、ぜひ体験してみてください! PVを見ると作品の世界観が伝わると思います。

www.youtube.com

VR機器を持っていない方は「Oculus Quest 2」がおすすめです。37,180円で買える現状コスパ最強のVRデバイスで、有名なタイトルは大体これで遊べることが多いので、この機会によかったらぜひ。


最後に、出来すぎた話かもしれないけど、初めてPlayStation向けにゲームをリリースすることを意識したのは勉強会で東京クロノス(今の会社の一つ前の作品)の開発の話を聞いた時だった。

当時は今以上に小規模なスタートアップだったので、失礼な言い方かもしれないが、そんな会社がPlayStation向けにタイトルを出せることに驚いた。その時少しだけ羨ましく感じたのは、自分にPlayStation向けの作品を出したいという感情が生まれたからだと思う。

あれから2年経った明日、今度は自分の作ったゲームがそこに加わる。

f:id:splas_boomerang:20210414203257j:plain
アルトデウスBCのグッズ


以上が、小6でゲーム作りを夢みて大学4年間をプログラミングに費やした僕のゲームが、あした全国のゲーム屋さんに並ぶ話。

明日は早起きをして、ゲーム屋さんで「この光景は夢じゃない*4」ことを確かめに行きたいと思う。

twitter.com

*1:プログラマ以外にも入部する枠があり、その子は得意だったイラストを生かしたグラフィックスの枠で入部した

*2:VRヘッドマウントディスプレイでは両目の映像をそれぞれ描画すること、高いリフレッシュレートで描画することから、かなりスペックの高いPCが必要

*3:電車が来る前に前進し、飛び込み自殺することで体験が終了する

*4:アルトデウスBCを象徴するセリフ