IT開発に大切なことは、ほぼ格ゲーから学んだ! e-sports時代の波を「Javaエンジニア×格闘ゲーマー×α」のスキルセットで乗りこなす

ITエンジニアとして大切なことは格闘ゲームから学んだ──e-sportsの波に乗ろうとする「格闘ゲーマー × エンジニア」

はじめまして、谷本心@cero_tと申します。

Acroquest Technology(アクロクエストテクノロジー)株式会社でアーキテクトやITコンサルタントの仕事をするかたわら、Javaのコミュニティ活動として国内外で登壇などをしています。そのつながりから日本で3人目の「Java Champion」にも任命されたほか、書籍『Java本格入門』を執筆しました。

この原稿もそういうコミュニティリーダーの話かな……と思わせつつ、格闘ゲームについて話したいと思います。昨今「e-sports」という言葉とともに、改めてゲームの波が来ていることは皆さんもご存じのことと思いますが、……えっ、ご存じない?

2019年に開催される第74回国民体育大会(いきいき茨城ゆめ国体)で、e-sports枠として正式に『ウイニングイレブン』が競技タイトルとなったり、日本野球機構(NPB)がKONAMIと組んで『実況パワフルプロ野球(パワプロ)』のプロリーグ(eBASEBALL)立ち上げたり、任天堂と組んで『スプラトゥーン2』の大会「NPB eスポーツシリーズ スプラトゥーン2」を実施したりすることがニュースなどで話題になっています。

e-sportsは、その枠組みやプロのあり方などに賛否さまざまな意見が出ていますが、とにかく大きな波が来ているのは間違いありません。そんなゲームの波に乗ろうとするエンジニアの、これまでと、これからのお話です。

対戦格闘ゲームに明け暮れた学生時代からエンジニアへ

今でこそエンジニアである私ですが、学生時代には対戦格闘ゲームに心酔していました。ゲームの攻略サイトを作り、そこに集まった人たちでコミュニティを形成し、日夜対戦をしたり、攻略について議論をしたりしていました。

それらが高じて、アーケードゲーム雑誌『ゲーメスト』に体験ライターとして記事を執筆する機会や、格闘ゲームのコンボ(連続技)を収録したビデオを作って販売する機会にも恵まれました。

GAMEST
ゲーメストに執筆した記事がこちら。かの有名な石井ぜんじ編集長とも対談しました!

そのままゲームの世界に身を投じ……たわけではなく、社会人になるときにはゲームのコントローラーをPCのキーボードに持ち替えて、ITエンジニアの道を選びました。子供の頃からプログラミングをたしなんでいたことや、格闘ゲームの活動を通じて得たIT知識を生かしたかったため、エンジニア以外の道は考えられませんでした。

エンジニアになったらなったで、プログラミングに関するブログを作り、エンジニアのコミュニティに参加し、自らコミュニティを立ち上げてエンジニア仲間と議論をするようになりました。ソフトウェア関連の雑誌に連載したり、書籍を執筆したりするところも含めて、学生時代とちっとも行動が変わっていません。

再び格闘ゲームの世界へ戻り、世界が広がる

そうやってエンジニアとして過ごしていたさなか、大好きだった格闘ゲームの続編『FIGHTING EX LAYER』が出ると聞いて、格闘ゲームを再開しようかと考えました。しかし、十数年も格闘ゲームから離れていて、いまさら手が動くはずがありません。

それでも格闘ゲームを遊びたい……と悩んでいたとき、「そうだ、自分にはプログラミングスキルがあるぞ」と気づき、格闘ゲームを自動操作するマクロプログラムを作ることにしました!

Goで格闘ゲームのマクロを実装してみた - 谷本 心 in せろ部屋

……というのは、実のところほとんど冗談です。やはり格闘ゲームの目標は、機械に頼ることなく、人対人の対戦で勝つことに外なりません。

そこで、ゲームのコミュニティを改めて立ち上げ、定期的に対戦会を行っています。この活動のおかげで、自分の腕前が上がるだけでなく、ゲーム好きの芸人さんと知り合ったり、アメリカのゲーム大会に招待される機会に恵まれたりもしました。


対戦会によく来るお笑いトリオ「はなび」の皆さんや「ひより」さんたちと一緒に。伸びしろがすごいぞ!

大切なことはゲームから学んだ

そんな学生時代や最近の格闘ゲームの経験が、実はエンジニアとしての仕事にかなりプラスに働いていると感じています。私の持論なのですが「何かの分野に特化したスキルを持つ人は、他の分野の習得も概して早い」と思っています。

例えば、学校のテストで国語が90点だけど数学は30点ということは、あまりないのではないでしょうか。国語が90点なら、もし苦手であっても数学は70点くらいというように、他の科目の成績も良い人がけっこういると思います。これは各科目の学力とは別に「勉強の仕方」というメタ的なスキルを身に着けているからに他なりません。

つまり、私の場合は、格闘ゲームで「物事を突き詰めて考えること」を経験したことが、エンジニアとしての成長につながっているところがあります。具体的には、次の3つの習慣が身に着いたことがプラスになっていると、実感しています。

  • システムを解析する習慣
  • コミュニティを活用する習慣
  • 本質をつかもうとする習慣

1. システムを解析する習慣

コンボのビデオを作成するためには、格闘ゲームの世界の「物理法則」を解き明かすことが欠かせませんでした。「なぜ、この技からこの技がつながるのか?」、逆に「この技からこの技は、なぜつながらないのか?」

そんな小さな疑問に対してひとつひとつ「仮説」を立て、その仮説に従って「それならば、この技からこの技もつながるのでは?」「この技からこの技はつながらないのでは?」という検証項目を作り、ひとつずつ検証する。検証結果を見て、考察する──そんなプロセスを繰り返すことで、そのゲームの仕組みを明らかにしていきました。

ちょうど実験系の理系学生がやっていることにも近いと思います。この経験は、エンジニアになってから、特にトラブルシューティングの領域で生かされました。

システムの障害が起きた場合、比較的すぐに原因が分かる単純なアプリケーションの実装ミスや設定ミスならまだしも、OSやミドルウェア、アプリケーションなど広い範囲のどこで問題が起きているか分からないケースでは、簡単には解決しません。そんなときは闇雲に調査するのではなく、きちんと問題原因の仮説を立て、立てた仮説をひとつひとつ検証し、考察するのが解決への近道になります。

この「筋立てて解析すること」が自然とできるのは、先に書いた格闘ゲームのシステム解析の経験を積んでいたおかげだと思っています。

2. コミュニティを活用する習慣

当たり前の話ですが、格闘ゲームは一人では強くなれません。また、システム解析やコンボのビデオ作成も、一人では限界があります。

そのため、学生時代にはコミュニティを作って、仲間を集めたのです。オフ会と称して、遠方のゲーセンに集って対戦をしたり、友人たちを自宅に招いて徹夜で対戦したり、ゲームのシステムについても毎晩のように議論を積み重ねました。

エンジニアになってからもコミュニティ活動に参加したのは、同じ課題意識を持った人たちと議論をしたかったからです。もちろん、コミュニティに所属していれば、スキルが自然と上がるというものではありません。コミュニティで知り合ったスキルの高いエンジニアたちと話して知見を得たり、彼らが「当たり前」だと思っていることが自分に足りていない場合は、こっそりと必死に勉強したりしました。

また、よく言われていることですが、自分から情報を発信することが、自分自身のスキルを高める近道になります。そのため、ブログや登壇などを通じて発信し、コミュニティからのフィードバックを受けて、自分のスキルを伸ばしていきました。

3. 本質をつかもうとする習慣

最後に、格闘ゲームの経験から得た最も大きなものは「本質をつかもうとする習慣」だと思っています。

この習慣を得たきっかけは、ある有名プレイヤーによる「ゲームを突き詰めて考え、そのゲームはいったい何なのかを見出す」という発言を耳にしたことでした。例えば、対峙しているゲームが「1発だけ技を当てて99秒逃げ続けるゲーム」なのか、「攻め続けてずっと自分のターンを継続するゲーム」なのかについて考えることです。

かなり極端な言い表し方なのですが、それが目指すべき戦い方であるという「本質」を示唆しています。もちろん、ゲームの本質の捉え方は人それぞれですし、唯一の答えなんて存在しないかもしれません。ただ、こうやって本質をつかもうとすることで、自分が目指す先を明確にできるのです。

エンジニアとして、この「本質を考える習慣」はとても役立っています。「このフレームワークは何なのか」「このミドルウェアは何をするものなのか」など、シンプルにひとことで言い表すことで、手持ちの道具の使い道が明確になります。逆にそれを明確にしていなければ、うまく合わないところにも無理に道具を使うことや、道具に振り回されてしまうことにもつながります。

また、「この業務は何なのか」「このサービスは何をするものか」「このクラスは何か」……そういう本質を考える習慣があるかないかで、システム設計の良し悪しはずいぶん変わります。この習慣が身に着いたからこそ、格闘ゲームの経験が一生の宝であると言えると実感しています。


学生時代のゲーム仲間と一緒に、「ストリートファイターII」の生みの親である西谷亮さんと記念ショット!

学習の高速道路で身に着くスキルをセットにする

ところで、十数年ぶりに格闘ゲームを再開して驚いたことですが、ゲームの攻略スピードが以前に比べて格段に早くなっているのです。

強力なコンボや連携、トリッキーな攻め方などが、すぐにYouTubeで共有されます。また、有名プレイヤーたちの対戦の様子がTwitchでストリーミング配信され、それを見た他のプレイヤーたちが、上級者のプレイスタイルをどんどん吸収していきます。

Discord(ゲーマー向けチャットシステム)などでコミュニティを作り、動画や資料を見ながらの議論も日々重ねられています。この環境下においては、攻略スピードが上がって全体のレベルも高くなるのは間違いありません。

この話で思い出すのが、2006年~2007年に出版された経営コンサルタント・梅田望夫氏の著書『ウェブ進化論』や『ウェブ時代をゆく(いずれもちくま新書)の中で紹介されていた、将棋棋士の羽生善治氏による「学習の高速道路」という論です。IT技術やネットの進化により、将棋が強くなるための高速道路が敷かれた、というものです。

将棋といえば、若手棋士である藤井聡太氏が破竹の勢いで勝ちを重ねていますが、彼自身の高い才能やたゆまぬ努力はもちろんのこと、「AI将棋」というこれまで存在していなかったものを研究の中に取り入れたことも、強さの源になっていると私は捉えています。ITの進化が学習の速度を加速している良い例ではないでしょうか。

この論に従うと、今の時代はさまざまな分野で学習の高速道路が敷かれているため、どのようなスキルであっても、短期間である程度のレベルまでは伸ばしやすいと言えます。

梅田氏はまた、「ある程度のレベルに到達した先は渋滞しているため、そこでさらに努力を重ねて最先端を切り拓くこともできるし、そこで留めて別のスキルを習得するもよし」と述べています。私はまさに後者のタイプで、いくつかのスキルを身に着けて、その組み合わせで独自性や競争力を生み出そうと考えています。

Javaができて、アーキテクチャの設計ができて、美味しいたこ焼きが作れて、格闘ゲームの対戦ができて、コンボのビデオを作ることができる……ひとつひとつのスキルは決してトップレベルではなくても、こんなスキルセットの組み合わせの人はほとんどいないため、結果的に独自性となり、競争力につながります。

あぁ、説明が遅れましたが、私はたこ焼きにも相当のこだわりがあるんです。

先ほど、アメリカで開催される格闘ゲームの大会に招待されていると述べましたが、実はその大会の後、同じくアメリカで開催されている世界最大のJavaイベント「Oracle Code One」に参加し、イベント後には海外のJavaエンジニアたちとたこ焼きパーティーをやることまで決まっています。

「格闘ゲーム × Javaエンジニア × たこ焼き」というスキルの組み合わせのおかげで、こんな機会が得られたと言えるでしょう。


自宅でもよくたこ焼きを作ってます。素材も機材もレシピもかなりこだわってます。

まとめ:e-sports時代のITエンジニアのあり方

今、e-sportsという大きな波が押し寄せています。今後、e-sportsに関連するITシステムの開発需要が生まれる可能性は、大いにあります。

ITシステムの開発が実際に必要になったとき、そのシステムを作るエンジニアは、単にビジネスとしてシステム開発を行うだけではなく、ゲームに対する理解と愛情が伴っているべきだと私は考えています。

だからこそ、私は「格闘ゲーマー × ITエンジニア」というスキルセットを磨くため、今日も格闘ゲームをプレイするのです。

……なんて苦しい言い訳を受け入れて自由なゲーマー活動を容認している弊社は、あまりにも寛容すぎだとは思うのですけどね(笑)。

谷本 心(たにもと・しん) @cero_t / cero-t

cero-t

Acroquest Technology株式会社にて、アーキテクトやITコンサルタントに従事。仕事のかたわらでJavaのコミュニティ活動も行っており、関西Javaエンジニアの会の立ち上げや、日本Javaユーザーグループ(JJUG)の幹事を務めるほか、サンフランシスコで開催されたJavaOneなど国内外のイベントで登壇しており、日本で3人目の「Java Champion」に任命された。著書に『Java本格入門』(技術評論社)。

※記事初出時、スプラトゥーン2の大会名について「スプラトゥーン甲子園」と記載しておりましたが、正しくは「NPB eスポーツシリーズ スプラトゥーン2」でした。2018年10月4日 11:50に修正いたしました。