2011-12-30

最近のゲームのグラフィックに思う

グラフィックは、ゲームの面白さの本質ではない。しかし、やはりグラフィックは重要である。私が始めた遊んだPCゲームは、Mafiaであった。Mafiaは、当時としては素晴らしいグラフィックであり、私のGeForce 4 Ti4200で快適に動作した。

今から思うと、惜しいことをしたものだ。私はもっと早くからPCゲームに目覚めているべきだったのだ。DoomやWolfenstein 3DやDuke Nukem 3Dなどといった往年の名作ゲームが、今となっては楽しめない。もし当時、これらのゲームに触れていれば、楽しめたはずなのだ。しかし、私の最初のPCゲームはMafiaだったので、それより以前の時代のゲームを楽しめないのだ。これは実に残念なことだと思う。私はThe Elder Scrollsシリーズが好きだが、ArenaやDaggerfallは楽しめない。どちらも、今、公式に無料で提供されているゲームである。また、DOSBoxのようなx86上で動くMS-DOSエミュレーターを使えば、当時とほぼ変わらずに遊べるゲームである。それなのに楽しめない。実に惜しい。

ともかく、最近のゲームのグラフィックの流行は、スクリーンスペースのポストプロセスだろう。なにしろ、どんなシーンでも負荷が予測できる範囲なので、化石並の低スペックなコンソールでも使いやすいのだ。

SSAO(Screen Space Ambient Occlusion)

SSAOは最も有名であろうと思う。Crysis以降、多くのゲームはSSAOを採用した。nVidiaなどは、ドライバー側でSSAOを適用する機能までリリースしたのだ。また、DirectXのラッパーDLLをかませて、既存のゲームにSSAOをかける手法も開発されてきた。Depth Bufferの各ピクセルと、周囲のピクセルの差を比較して、それに応じてやや黒くするポストプロセスである。もちろん、いくらスクリーンスペースと入っても、大まじめに実装しようとするとパフォーマンス上厳しいので、大胆な手抜き方法を使う。見た目に分かりやすい結果としては、面と面が角度をつけて重なり合っているような部分が黒くなる。面白いことに、この効果は、実にうまく人間の脳を騙してくれる。SSAOを古いゲームに適用してみると、急にグラフィックの品質が大幅に向上したように感じる。

ただし、最近は、以前程SSAOが喧伝されなくなっている。代わりに、SSAOっぽい影をテクスチャに最初から書き込んでおく手法もみられる。

ポストプロセスによるアンチエリアス

具体的な名称としては、nVidiaの考案したFXAAが一番有名だが、Crysis 2で使われているSMAA: Enhanced Subpixel Morphological Antialiasingもなかなか面白い。基本的な考え方はどれも同じで、ジャギーをごまかすフィルターである。

そもそも、アンチエリアスの一番分かりやすい目的は、縁のギザギザ、つまりジャギーを目立たなくするというものである。最初に実装されたAAの手法は、目的の解像度より高い解像度で描画して、しかる後に目的の解像度までダウンスケールするというものである。これは原始的だが、最も効果的な方法である。問題は、パフォーマンスが最悪だということだ。今の最新のCPUをつかって、大昔のゲームがやっと動くというほど、パフォーマンス上の問題がある。近代的なゲームに使うことはできない。次に、MSAAというものが実装された。これは、頂点処理だけ高解像度で行い、ピクセルに落としこむ際には、目的の解像度で行うというものである。すくなくとも、ジャギーはだいぶ解消できる。問題は、これも最近のゲームに使うには、ややパフォーマンス上問題がある。

結局、やっていることはジャギーの低減なのだ。ジャギーは縁に発生する。静止画の縁を判定する方法は、大昔から研究されている。だったら、縁を判定して、その部分だけ賢くぼかせば、ジャギーはごまかせるではないか。ということで、FXAAなどのアンチエイリアスは、縁を判定して賢くぼかすピクセルシェーダーのコードで実装されている。

Screen Space Global Illumination、あるいはReal-time Local Reflection

Unreal Engine 3のSamaritanデモで、この技術が披露されている。

また、Crysis 2にDirectX 11パッチを当てると、Real-time Local Reflectionと称して、この技法が使われる。

これも、スクリーンスペースによる反射の実装である。水たまり、テーブル、壁などに、周囲の風景が写り込んでいる。

何にしても、化石スペックのコンソールが足を引っ張りすぎている。テッセレーションを活用したゲームはほとんどない。もっとも、テッセレーションは、その可能性あふれると裏腹に、普通に使っても、それほど見た目にはインパクトがない地味な機能なので、仕方がないのかもしれない。それに、ほとんどのゲームでまともに使っていないので、GPUベンダーもあまり力を入れていないのだと思う。ただし、将来に期待できる。個人的には、Normal MappingやBump Mappingには全然感動できないので、Parallax mappingやDisplacement mappingがもっと使われてほしいものだ。

変わり種としては、Rageが上げられる。伝説のプログラマーJohn Carmackは常に変わったことをする人である。ただし、常に主流の技法からは外れているのだ。今回、Carmackがこだわったのは、テクスチャーだ。Rageでは、使い回しのないテクスチャーを実現している。もちろん、テクスチャーの構築には、デカールを使い回しているが、テクスチャ自体はユニークである。Rageのグラフィックは、序盤の廃墟がすばらしい。ただし、ユニークなテクスチャーは、デザイナーにかなりの負担を強いるらしい。プレイ動画をみても、中盤以降はマップの構成が雑になっているし、ついには長いマップ作成を諦めて、狭い部屋に閉じ込めて、周囲から延々と沸く雑魚敵を相手に戦うような演出でごまかしている。残念なことだ。もう一つ残念なことに、テクスチャーを使いまわさなかったせいで、あんなに短いのに、DVD三枚ほどの容量を必要としている。もちろん、PCならばいまどき20GB程度のサイズは問題にならないが、博物館に陳列されるレベルの低スペックな現行コンソールではかなり問題になる。そして、今時Bump Mappingすらないのだ。まあ、個人的にBump Mappingは価値がわからないのでどうでもいいのだが、やはりないと寂しい物がある。Rageは色々と惜しいゲームであった。

2011-12-29

マリオカート7が劣化していた

たまたま、3DSのマリオカート7に触れる機会があったので、遊んでみたのだが、全然面白くなかった。レースゲームなのに疾走感がまるでなかった。

まずグラフィックが糞だ。加速時にFOVを狭めたり、ブラーをかけたりするなど、レースゲームならではの表現手法は、もう考案され尽くしているはずなのに、なぜこの2011年で、こんなにもしょぼい表現なのだろう。それに、マップが無駄に広い気がする。何故こんなに広いのだろうか。こんなに道が広くては、コースアウトして溝に落ちるとかダートに突っ込んで減速するといったスリルを味わえない。ただ惰性で操作しているだけで完走できるヌルい作りになってしまっている。こんなゲームのどこが面白いというのか。

結局、マリオカートというゲームは、スーパーマリオカートでその可能性を示し、マリオカート64で完成されたゲームなのだろう。これ以上何を付け足しても蛇足というものだ。マリオカート7をやるくらいなら、スーパーマリオカートやマリオカート64をやったほうが、よっぽど面白いはずだ。

なぜこうなってしまったのだろう。今や、ポータブルゲーム機ですら、ニンテンドー64をはるかに上回るスペックを持っているのだ。それなのに、なぜ当時よりつまらない劣化続編しか作れないのだろうか。そして不思議なことに、ゲーム市場は、当時よりはるかに大きく、売上本数も増えていることだ。これは一体どういうことだろう。世の中はクソゲーを望んでいるのだろうか。

2011-12-28

Intel、ネットワーク越しに電源を入れる特許を取得

Intel Receives Network-Power-On Patent

Intelが、ネットワーク越しに電源を入れる特許を取得したらしい。はて、そんなのは自明ではないのだろうか。すくなくとも、この特許が出願された2007年以前にも、そんな装置は山ほどあったと思うのだが。

2011-12-27

鬼を笑わせる

今年も残り少なくなってきたところで、鬼を笑わせるような未来予測をしてみたい。ところが、どうも今は、さっぱり希望がでてこない。というのも、PCの進化がどんどん遅くなっているようなきがするのだ。

たとえば、CPUの処理能力は、ここ数年、驚くほどの向上はない。少し向上はしているものの、その向上が目にみえて実感できないのだ。もはや、我々はMP3のエンコード速度を気にする必要はない。ゲームなど、もはやCPU依存ではなく、GPU依存になっている。動画のエンコードでは多少の実感ができるが、やはり一般的とは言いがたい。

GPUはCPUよりまだ希望がある。といっても、今のPCゲームは、低スペックなコンソールに足を引っ張られて、その性能はあまり意味がない。GPGPU(GPUによる汎用コンピューティング)は、あまりにも適用可能な範囲が限定的で、やはり一般人が直接その恩恵に与ることはない。

HDDの容量なんてもはや誰も気にしないし。SSDは値段が下がる程度の予測しかできない。

もうPCの世界からみると、ハードウェアの進化は止まっているも同然なのだ。

ただし、これがスマートフォンになると、かなり未来は明るい。スマートフォンのハードウェアは、年々進化している。もうしばらくすれば、グラフィック性能が現行コンソールに追いつくだろう。その時、果たしてゲームコンソール、すなわちゲーム専用機は、生き残れるだろうか。今より少しグラフィック性能を上げただけでは、果たして差別化出来るだろうか。十分なグラフィック性能をもったスマートフォンを誰もが持っている世界では、ゲーム専用機など無意味である。実はPCすら危うい。もし、ディスプレイとの接続がワイヤレスになれば、果たしてPCは生き残れるのか。

もちろん、無線によるディスプレイ接続は、帯域的にまだ現実的ではないが、いずれ実現されると考えている。鬼が一番笑いそうなのはここだろうか。

ただし、スマートフォンでひとつ気になるのは、自由が全くないということである。PCならば、どのハードウェアを使うか、どのOSを使うか、どのネットワークを使うか、ということは、自由である。ソフトウェアも、様々な配布形態がある。ところが、スマートフォンでは、こうは行かない。ハードウェアとOSは固定されており、ネットワーク提供者も、大抵固定されている。ソフトウェアは統一された唯一の中央マーケットから入手しなければならない。しかも、このマーケットでは、ソフトウェアには事前に検閲が行われているし、遠隔操作によるユーザー側のスマートフォンのソフトウェアの消去も可能なのだ。これはどういうことだ? 今年は1984年か?

PCならば、ハードウェアには様々な標準規格がある。しかし、スマートフォンにはそんなものはない。ハードウェアとOSがセットになったAppleはさておき、androidさえ、ハードウェアの仕様はころころ変わるので、昔のハードウェアに最新のandroid OSを入れるということが困難である。

さらに、特許の問題がある。スマートフォンの世界では、私のコモンセンスで考えるに、自明であるようなアイディアにまで、特許が与えられている。特許はアイディアに与えられるものだっただろうか。ユーザーの利便性と普及を考えれば、機能やデザインを統一するのは理にかなっている。キーボード配列やマウスは、信号は規格化されているし、レイアウトも規格化されている。スマートフォンにはこれがない。みなてんでバラバラに実装し、それぞれ独自発明であるとして特許を取得し、市場原理に則った競争をせずに、特許裁判に明け暮れている。

もし当時、キーボードのレイアウトやマウスの形状、またはその信号方式に、今のように激しく特許を主張し、各社ともてんでバラバラに実装していたとしたら、今日のPCの興隆はあっただろうか。

これをもってこれをおもうに、あと10年ほどは、PCのスマートフォンに対する優位性は揺るがないであろう。PCがはるかに優れているためではなく、スマートフォンが足の引っ張り合いで自爆しているためである。したがって、私は今、スマートフォンについて何か学ぶ必要は一切ないと結論できる。この不自由と特許の問題が解決されてから学んでも遅くはないだろう。

SOPAガキ

Lauren Weinstein's Blog: "SOPA Lad" (The SOPA Song) - With Apologies to Gilbert and Sullivan

またLauren Weinsteinさんか。この人、本当にGilbert and Sullivanが好きなんだな。

元ネタはこれ、When I was a Lad.

2011-12-22

ブログのデザインを変えた

そろそろ、昔のテンプレートでは管理画面がまともに機能しなくなってきたので、仕方なく新しいテンプレートを使うことにした。HTMLの修正による変更はしたものかどうか悩んでいる。

2011-12-21

Winny開発者の金子勇、無罪

著作権侵害を幇助したとの疑いをかけられていたWinny開発者の47氏(最初に2chに開発宣言をしたレス番が47であった)こと金子勇が、無罪になった。当然である。ソフトウェアを開発、公開しただけで犯罪になってはたまらない。

ただし、Winnyはその仕組みからして、問題がある。ネットワーク内にたった一人の著作権侵害ノードがあるだけで、全員が推定著作権侵害になってしまうのだ。

Winnyの機能に、中継というものがある。これは、ファイルをアップロードするノードとダウンロードするノードの間にたってデータを横から横へ流す、いわばプロキシとなる機能である。この中継機能は、ユーザー外としていないデータまで中継する可能性がある。さらに、Winnyはキャッシュという仕組みによって、中継されたデータを保持し、その後も送信可能な状態におく。これが問題となる。

もし、中継機能がなければ、すなわち自分が明示的にダウンロードを選択したデータのみ、アップロードすることになる。これは、取得と公衆送信に、著作権上問題のないデータであれば、全く問題ない。ただし、中継という機能によって、意図しない著作権侵害かもしれないデータをダウンロード、アップロードしてしまう。つまり、Winnyネットワーク上にひとつでも悪意あるノードがいて、その著作権上問題となるデータをダウンロードしようという別のノードがいれば、自分が中継する可能性がある。よって、Winnyネットワーク内にひとつでも悪意あるノードがあれば、全ノードが推定有罪になってしまう。Winnyネットワークへは誰でも参加できるので、当然問題となる。

当時取るべきだった方法は、この問題を認識して、修正するように働きかけることだったのだ。それを、著作権侵害幇助などというどう考えてもおかしい理由で逮捕、起訴して、無罪判決まで七年もかける。問題のソフトウェアは修正されないまま放置されている。Winnyネットワークは中央管理サーバーを持たないので、全世界に核による絨毯爆撃でもしないかぎり、止められはしないというのに。これだから日本からはイノベーションは生まれない。

とはいえ、もし当時逮捕がなかったとしても、Winnyプロトコルが標準規格になるのは無理だっただろう。本当に普及させたいならば、まず仕様を文章で公開し、リファレンス実装をオープンソースで公開すべきだったのだ。まあ、あの当時はまだこの分野の夜明けのようなものだったので、似たようなプロトコルが乱立した。今となっては、Winnyプロトコルは、古びた時代遅れのプロトコルと言わざるを得ない。そもそも、ファイル共有自体に、新鮮な面白みもない。あの当時と比べて、ハードウェアははるかに進化した。ファイル共有程度であれば、別にP2Pを用いなくたっていいのだ。Dropboxのようなサービスが、当時よりはるかに安価で提供されている。もっとも、日本ではオンラインストレージは違法だというトンデモ判決がでているのだが。

では、今注目すべき技術は何かというと、やはりNamecoinだろう。合衆国でSOPAが議論されている今、中央管理のDNSへの信頼性が揺らいでいる。本来、名前解決のサービスに検閲や規制などがあってはならないのだ。名前解決というのは、著作権侵害や犯罪とは何の関係もないからだ。Namecoinは、ドメイン名の名前解決を、Bitcoinと同じ方法で行うものである。すなわち、P2Pで中央管理サーバーを持たず、信頼性が計算力により保証されたシステムである。

2011-12-05

Safari for Windowsの日本語版の使用許諾書がひどい

Safari for Windowsをインストールしようとして、使用許諾書を読んだところ、ひどい誤訳だらけで、何の意味もなしていないことを発見した。

たとえば、以下のような文面がある。

重要な通知: このソフトウェアがマテリアルを複製するための範囲において、使用することができます。

これを素直に解釈すると、ユーザーである私は、このソフトウェアであるSafariを使って、自由にマテリアル(?)を複製して良い、と読める。

さっぱり理解出来ないので、英語版のライセンスを読んだところ、以下のようになっていた。

IMPORTANT NOTE: To the extent that this software may be used to reproduce materials, it is licensed to you only for reproduction of non-copyrighted materials, materials in which you own the copyright, or materials you are authorized or legally permitted to reproduce.

これは分かりやすい。この文章の意図は、「このソフトウェアは、著作物を複製する可能性がある」と警告しているのだ。翻訳では、文章の途中でぶった切ってしまっているので、訳のわからないものになっているのだ。一体どこの馬の骨が、materialをマテリアルと翻訳して、しかも具体的な定義を与えないことが、いいアイディアだと考えたのだろうか。英語におけるmaterialは改めて定義する必要がない法律用語であったとしても、日本語における「マテリアル」は、そうではない。

しかし、最も問題なのは、以下の文章だ。

2.許諾された使用方法およびその制限
A. 本契約の規定に従い、お客様は、一回につき一台のApple商標が付されたコンピュータにAppleソフトウェアを1部インストールし、使用するための限定的な非独占的ライセンスを付与されます。

Apple商標が付されたコンピュータ? それはつまり、Appleが販売しているコンピューターのことであろう。しかし、このAppleソフトウェアは、Safari for Windowsである。私のコンピューターは、Appleが販売しているコンピューターではない。とすると、私はSafariの使用許諾の条件を満たしていないことになる。この条件を満たすユーザーとは、Boot CampでWindowsを使っているユーザーに限定されてしまう。

ちなみに、原文では以下のようになっている。

2. Permitted License Uses and Restrictions.
A. Subject to the terms and conditions of this License you are granted a limited non-exclusive license to install and use one copy of the Apple Software on each computer owned or controlled by you.

Apple商標が付されたコンピューターなどという文面はない。