54歳プログラマーが30年以上もゲーム開発の最前線に立ち続けられるワケ「技術の“仕組み”を理解すれば、時代の変化に強くなる」
自分の手でものづくりをすること、自分の作ったサービスで多くの人を喜ばせること。それはエンジニアとして働く醍醐味の一つだろう。
けれど、40~50代になるとマネジメントに専念することを求められたり、最新の技術に追い付けずに技術職をリタイアすることになった、という話も耳にする。
一方、50代になっても現役プログラマーとして活躍し続けるエンジニアもいる。ミクシィの吉田明広さん(54)はその一人だ。
吉田さんは大学卒業後、ファミコンやセガサターン、プレイステーションなどのゲームソフトウェア開発に携わり、2016年からはミクシィでスマホゲームの新規タイトル制作に勤しんでいる。ゲーム機や技術の移り変わりを経てもなお、現場でコードを書き続けているのだ。
「80歳までプログラマーとして手を動かし続けたい」と意気込む吉田さんに、“生涯現場主義”を続けることができている理由を伺った。
開発は時間制、マニュアルはほぼなし。手探りだらけのゲーム開発黎明期
そもそも、吉田さんはなぜゲームエンジニアになろうと思ったんですか?
僕が高校生ぐらいの時にファミコンが発売されて。『スーパーマリオブラザーズ』や『忍者じゃじゃ丸くん』などのゲームにすっかりハマってしまったんです。それがきっかけですね。
ゲーム好きが高じて、エンジニアになろうと思ったんですね。
はい。それで、『忍者じゃじゃ丸くん』を開発していたジャレコに入社しました。ただ、当時はコンシューマーゲームがまだ出始めたばかりですから、開発環境は今と全く違って。戸惑うことや驚くことばかりでしたね。
例えば、どんな点が?
まず、実機確認が時間制なんです(笑)。当時は開発機が会社に数台しかなかったので、「何時から何時までは吉田くんが使っていいよ」という感じで。開発機が使えるまでの時間は個別に支給されたフロッピーディスクにプログラムを書き保存して、時間になったらまたそのディスクを読み込んで実機確認、というやり方でした。
今じゃ考えられないですね。
それに開発自体も手探りなことばかりで。例えばファミコンのハードウェアマニュアルは、A4用紙で7~8枚分しかなかったと記憶してます。「ここにキャラクターが入ります」といったことくらいしか書いてなくて、それだけじゃゲームなんて作れるわけもなく。同期みんなで常に頭を悩ませていました(笑)
当時はネットで調べたりもできないですもんね。
はい。コンシューマー開発が始まってからたった数年、ジャレコでコンシューマーの社内開発が始まって2年しか経っていなかったので、先輩に聞いても先輩も知らないことがたくさんあって。ある意味みんながこの分野の開拓者だったので、お互いの情報を共有しながら少しずつ前進していきました。
そうした苦労を経てこれまで30年以上ゲームエンジニアとして働いているわけですが、挫折しそうになったことってありますか?
1994年にプレイステーションとセガサターンが発売されて、ゲームが「3D時代」に突入したんですよ。僕はセガサターンの『ファンタステップ』というアドベンチャーゲームで初めて3Dゲーム開発に挑戦したのですが、その時が一番辛かったですね。
どんな点が?
まず、当時はポリゴンでゲームを作るということ自体が、私自身にとってこれまでにない革新的な話で。3Dゲームでは複雑な当たり判定やポリゴンを表示するプログラムなどが必要になりますが、Unityみたいにコリジョン判定が用意されたりといった便利機能はありませんでしたから、全て自分で考えてプログラムする必要があるわけです。
当たり判定の計算はベクトルやら行列やらを使うことでできるので、高校や大学で使っていた数学の教科書を引っ張り出して勉強し直すところから始めて、「こう計算すると当たり判定できそうだ」といったことをプログラミングしていました。
すさまじいですね・・・・・・(笑)
プログラマーの中には3Dゲームの開発に付いてこれずに、挫折した人もいました。でも当然、全てのゲームが3Dになったわけではないので、2Dのゲーム開発を続けたり、携帯やスマホで2Dゲームが増えてきたことを機に現場復帰した方もいますよ。ドット絵とかも最近では表現方法の一つとして蘇ってきていますから。
変化に対応してこられた理由は、「技術への根本理解」
吉田さんはなぜこれまで、心折れずにいられたのでしょう。
幸い、学生時代に物理や数学が好きだったこともあり、新しいことを知りたいという好奇心も強くて。自分で調べたり試したりしながら小さいことを少しずつ乗り越えて、だんだんステップアップしてこられたことが良かったのだと思います。
ただ、これには先輩エンジニアの影響も大きかったですね。
というと?
ある時、セガで『シェンムー』を開発した鈴木裕さんの先輩だったという天才プログラマーがジャレコに転職してきたんです。
彼はある程度教えたら「あとは自分で考えて」というスタンスで。つまり、自分で考える“余白”を与えてくれていたんですよね。
あの時、手取り足取り教えてもらっていたら、自分で勉強したり工夫しようとはしていなかっただろうし、覚えたこともすぐに忘れてしまっていたと思います。
コンシューマーはハードが変われば言語や仕様もかなり変わると聞きますが、吉田さんのように開発の根本を理解できるようになると、そうした変化にも対応しやすいのでしょうか?
それはあると思います。言語や仕様が変わるといっても、プログラムの基本的な考え方は同じで、ハードウェアに合わせてカスタマイズするイメージなので。
さらに僕の場合は、ハードウェアの進化と併走してステップを踏んでこられたから、ハードごとの変化の振れ幅がそこまで大きくなくて。それはラッキーだったと思います。
例えば極端な話ですが、ファミコンソフトの開発の後にいきなりPS4ソフトの開発をやるってなったら、変化が大き過ぎて厳しかったと思います。
ミクシィではコンシューマーゲームからアプリゲーム開発にキャリアを転換されましたが、その変化にはどう対応されたんですか?
僕がミクシィで携わっているのはスマホゲームの中でもインゲーム(※)部分です。だからハードはスマホに変わりましたが、基本的な考え方はそう大きくは変わらないんですよ。
ただ、ミクシィでUnityを初めて触ったので、これには苦労しましたね。Unityは独自のルールがかなりあるので、仕組みやシステムを理解するのに時間が掛かりました。
※インゲーム:ゲームの本編部分。カードゲームなら対戦、RPGならストーリーやバトルの部分。ガチャやキャラクターカスタムといったサブ機能はアウトゲームと呼ばれる
どうやって習得したんですか?
周りの若いエンジニアたちに教えてもらいました。20~30代の人たちの方がUnityには詳しいですから。逆に、Shader(シェーダー)を書いたりすることなんかは僕が過去に経験していたので、「教えてもらう代わりにこっちやります!」って感じで(笑)
Unityに限らずこれまでの経験からも言えることですが、現場で長く働き続けることを考えるなら、やはりそのときに必要な技術を一つ一つ身に付けることが大事なのだと思います。言語や技術はどんどん進化していきますが、一定の土台ができていたら、新しい技術を習得するときも大体は応用で乗り切れますから。
なるほど。30年以上、ずっと勉強の積み重ねだったんですね。これまで学び続けられたモチベーションは一体なんだったのでしょう?
やっぱりゲームと、ゲーム開発が好きなんですよね。ゲームって、お店でソフトを買っていく人や、ゲームセンターで遊んでいる人たちの楽しそうな表情を見ることができるじゃないですか。
あと、昔は今のようにレビューサイトがなかったので、手紙でファンレターを送ってくださる方もいたんです。『ラッシングビート』シリーズのメインプログラマーをしていた時は、熱いメッセージとキャラクターのイラストが描かれた手紙がたくさん届いたりして。
そうやって自分の作ったゲームで誰かを幸せにしたり笑顔にすることができるって、素晴らしいことだと思うんです。だから定年まではプログラマーとして開発に携わっていたいし、そのために必要なことがあれば学び続けます。
それで、定年後はまたアセンブラで、ファミコンソフトの開発をしながら余生を過ごしたいなと思っています(笑)
“生涯現場”を実現するコツは、「好き」を探求し続けること
吉田さんのように、一生好きな分野に携わり、そこで手を動かし続けていたいというプログラマーは多いと思います。一方で、経験を重ねるといずれマネジメント業務に専念するよう求められることもあると思うのですが、吉田さんの場合はどうでしたか?
僕の場合、これまでもマネジメントを任されることはありましたが、幸いにも「マネジメントだけしていてほしい」と言われたことはありませんでした。
今もリーダーという肩書きで、一緒に働く9人のメンバーがいます。だけど僕はメンバーを引っ張ったり、マネジメントだけをするリーダーになりたくなくて。自分も開発をしながら、メンバーが困っていたら相談に乗る、というスタンスでチームをまとめています。
いわゆる、プレイングマネジャーなんですね。
はい。あくまでも僕は、自分が手を動かして、ソフト開発の最前線でスキルアップを続けたい。手を動かして培った技術力が、メンバーの困りごとを解決し、信頼を得ることにもつながるとも思っています。
それに、これまでずっとゲーム開発に熱を注いできたからか、おかげさまで「うちで同じポジションを担ってくれないか」とお声掛けいただいたことが多かったんです。自然と「この人はゲーム開発の現場で力を発揮できる人なんだ」と印象付けることができていたのかもしれませんね。
たしかに、周りの人に与える印象も大切ですよね。
ただ、もちろん運が良かったのもあると思います。昔の仲間からは、勤めている会社の社員構成や技術レベルによって、結局管理職になりエンジニアを続けられなかったという話もよく聞くので、今の職場はもちろん、これまでの職場にも本当に感謝しています。
ほかに、ご自身で心掛けていることはありますか?
その技術を好きでい続けることはもちろん、その分野への探究心も必要だと思います。僕も昔は、新作ソフトはすべてプレイしていました。さすがに今は本数が多すぎて無理ですけど(笑)
スマホゲームの開発がメインになった今も『モンスト』はもちろん、『ツムツム』、『キャンディークラッシュ』みたいな人気のゲームは一通りプレイしています。やっぱりどのゲームも面白いですよね。
僕は、良いプログラマーとは「企画者などの意図を理解して作れる人」であり、「ユーザーの気持ちを理解して作れる人」だと思っています。
そうなるためには、自分でもそのサービスを使って、何かを感じる、知るということが大事だと思うんです。
「自分自身もいちユーザーになる」ということが大切なんですね。
はい。あとは、幅広い趣味を持っておくのも良いですよね。僕はカメラが趣味の一つなんですが、ライティングとか焦点距離の知識なんかはそのまま3Dゲームの開発にも役立てることができたんですよ。
カメラに限らず、その分野以外の知識や技術が、その分野をもっと深く、良くする材料になり得るわけです。趣味が新しいアイデアになることもありますしね。
仕事も趣味もそうですが、吉田さんは「好き」という気持ちにすごく正直に生きているんですね。
そうですね。「好き」という気持ちがあれば何十年でも没頭できますから。
あとはアプリ開発も同じだと思うんですけど、何かを作るときに、理想通りに100%満足するものができることってないと思うんです。何かしら妥協点や課題が残って、「次はこれを解決しよう、いつかは完璧なものを完成させてやる」って毎回思うんです。
そうやって、「次はもっと良いものを作ろう」ってやり続けていたら、きっといつの間にか80歳になってるんだろうなって思います(笑)
取材・文/石川香苗子 撮影・編集/河西ことみ(編集部)
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
NEW!
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ