開発におけるプログラマーの考え方は日本と海外とで異なる
ゲーム開発を仕事とするデザイナーにとって、必須といってもいいのがプログラマーとの連携です。私自身は大したスキルのないすちゃらかデザイナーなのですが、長くゲーム業界に居ることもあり、プログラマーさんとはずっと一緒に仕事をしてきました。
デザイナーという職種でも、グラフィックデザイナーやプロダクトデザイナーは、プログラマーと一緒に仕事をすることはほとんどありません。Webデザイナーの場合は、サーバーサイドを担当するプログラマーと一緒に仕事をすることは時々あるようです。
ゲーム業界のデザイナーはプログラマーと一緒に仕事をすることは必須です。作ったデータをプログラマーに組み込んでもらわないと仕事にならないのです。
今回はゲーム開発の仕事をしていて、日本と海外出身のプログラマーとで、考え方が違う点について書いてみたいと思います。
ご紹介するお話は私個人の経験を基にしています。世間一般のプログラマーが全てそうなのかどうかは、お約束できないことをご了承いただければと思います。
ハードを叩くところまでやる日本のプログラマー
私はデザイナーなので、率直にいうと「ハードを叩く」という表現がどういうプログラムのことなのかは分かりません。
私自身の解釈を書いておくと「ハードウェアに密接したプログラムで、そのハードウェアでは高速に動作するが汎用性がない」という認識です。
そして私が過去に在籍したゲームメーカーでは、この「ハードを叩く」ようなプログラムを割とよく行っていました。
ちょっとこのシーンの処理が遅いみたいやね。画像データは重くないはずなんやけど・・・
じゃあ、ちょっとハードを叩いてゴリゴリやるわ
といって、プログラムで何とかしてくれることもよくありました。もうプログラマー様様、といった感じでした。
スポンサーリンク
外国人プログラマーとのある会話
先日、海外出身のプログラマーさんと仕事で話をすることがありました。ゲーム内容はお話しできないのですが、ある機種で同時リリース予定のあるアクションゲームの打ち合わせでした。
プロト版を触っていると、あるシーンだけ処理が遅くなることがありました。別の機種ではなんともないので、グラフィックの容量には問題なく、プログラムの問題かと思われました。
このシーンがこの機種だと必ず遅くなるみたいなのですが、対応はできますか?
専用のライブラリを持つことになるので対応はしない。
・・・・。
ライブラリとは「再利用するプログラムの小さなまとまり」です。彼はライブラリを共通化しておきたいので、対応はしないと答えたのです。
もちろん、処理がゲームプレイに影響するくらい極端に遅くなったりする状況であれば、彼も汎用性を犠牲にして修正対応してくれたのでしょう。今回は少し処理が遅くなる、くらいだったので、ライブラリの共通化の方を優先する、ということのようです。
家庭用ゲーム機とPCとの文化の違いなのか
プログラムの知識はさっぱりなので、そういうものなのかと納得したようなしてないような心地でした。
そのときにふと考えたのが、日本と海外のゲーム文化に起因しているのかも、ということでした。
日本では家庭用ゲーム機と呼ばれるゲーム専用機がゲーム文化の土壌を作りました。そのゲーム開発は「ハードを叩く」ようなプログラムは当たり前で、各ゲーム機に最適化されていました。
高速でユーザーにとっては快適だけれども、移植は難しい(もしくは最初から考えていない)ゲーム作りの文化でした。
ところが海外はそうではありません。海外でゲーム文化の中心を担っていたのは常にPCです。AppleIIに始まりWindowsやMacなどのパソコンが常にゲーム文化の中心だったのです。
最大プラットフォームのWindowsでも、PCメーカーによってスペックは様々です。当然のことながら「ハードを叩く」ようなことはなく、どのPCでも安定して動くことが重要視されました。
そういう開発文化の違いが影響しているのかもしれません。
まとめ ー どちらが正解というわけではない
上記はどちらが正解というわけではありません。ちょっと曖昧なまとめで恐縮ですが、ケースバイケースというのが一番正しい対応になるのでしょう。
それに海外でももちろん数多くの家庭用ゲーム機が販売されているので、私の考えは的を射ていない可能性もあります。
ただ、日本と海外とのプログラマーさんで考え方が異なるのは、ゲーム文化のプラットフォームが異なるのが原因かも、とちょっと思ったというお話でした。