2013-02-07

John Carmack、Linux環境のゲームについてコメント

伝説のゲームプログラマー、John Carmackは、Twitter上で、Linuxネイティブに移植するより、Wineの精度を上げたほうがマシだと発言して、物議を醸していた。

このtweetを参照するredditの投稿に、John Carmackがコメントを残している。

id_aa_carmack comments on John Carmack asks why Wine isn't good enough

Linuxがまともだといいのだけれど、現実としては、まあ僕の優先度のトップテンにも入らないね。Armadillo AerospaceのフライトコンピューターにはLinuxを使ってるけど、日常作業のデスクトップには使ってない。RageがWineで動くと聞いたので嬉しい限りだが、特にサポートのための努力はしていない。

技術的な理由から、Linuxへ移植したい衝動にかられる。Valgrindをまた使いたいし、Nvidiaの言うことには、興味のある実験的GPU機能をR&Dで使うにはLinuxの方が色々と都合がいい。時間があれば、オープンソースのLinuxのOpenGLドライバーにもまた参加したいものだ。

でも、今のメインストリームのゲームで公式にLinuxをサポートすることにビジネス上の利点があるとは思えないし、Zenimaxには、Idのような、「非公式バイナリ」というポリシーはない。僕も利点は色々と主張してるのだが(主に実験的なWindowsの機能利用だが、Linux向けのものもある)、まあ僕としてはId Softwareのオープンソースコードのリリースの方が、未サポートLinuxバイナリよりはよっぽどマシだと思う。

Zenimaxはどうにもならない。奴らはMac用ゲームはやらない(Aspyrとパートナー結んでる)。そんなわけで、彼らが公式にLinux用ゲームをやるなんて言い出す日にゃ驚きだね。単なる移植は一週間か二週間ででっち上げられるだろうけど、公式なサポートというレベルには、もっともっと多大な労力が必要だ。今のところの通説としては、ネイティブのLinuxゲームは、あまりうまい市場ではないということだ。Id Softwareはこの通説に、Qake ArenaとQuake Liveで二度挑戦した。通説は正しかったことが証明された。この二つの例では十分ではないというハンロンもあるだろうが、まあ真面目に試したのだ。

もしLinux移植にまともなビジネス上の機会があると信じるなら、パブリッシャーに提案すればいい。ちゃんと仕事してサポートすればいい。AspyrがMacで、LokiがLinuxでやったのと同じだ。でも、売上六桁保証できなきゃ、トップテンのパブリッシャーはメールの返事すら返ってこないだろうね。まあ、おかしいと思えるかもしれない。「2万ドルを見逃すのか?」。でも、現実としては、法務、経理、管理、サポートの労力と釣り合わなきゃならないわけで、一千万ドル単位の仕事の時間を減らす価値はないね。

Linuxにおけるゲームは、何らかのエミュレーションの方が技術的にまともな方向だと思うね。サポートするにも現実的だし、特に技術的にダメなわけでもない。ネイティブ移植にしたって特に変わらないよ。僕らのゲームはOpenGL使ってるし、winsockは単にBSDソケットだし、windowsのスレッドはpthreadになって、入力やオーディオインターフェースだってそんなに変わらないし(XInputとXaudio2はよさげなAPIだよ)。ドライバーの品質に比べれば、良いシミュ・レイヤーの方がはるかにパフォーマンスへの影響は少ないよ。

D3DからOpenGLへの変換は非効率的なこともあるけど、違いをしっかり認識して、何らかの形でOpenGLのD3D interop拡張なんかを作れば、完全にリファクタしたハイパフォーマンスのネイティブ移植より簡単になる。

理想の上では、正しいガイドラインに従えば、開発者がLinux版をサポートするのは、例えばWindows XPをサポートするより簡単になる。適切に啓蒙して、Steamという商用流通プラットフォームがあれば、まあこの辺が現実的な方向だね。

John Carmack

まあ、John Carmackが何と言おうとも、もはやWindowsは死につつあるOSだ。今後ますますWindowsのシェアは激減し、誰からも省みられなくなるだろう。もはや、Windowsに将来がない以上、Windows用のソフトウェアにも将来はない。

No comments: