だだもれ

2012年03月31日

ひつじこはしょくぱんまんを描くと、かわいい毛沢東になる。

2012年03月30日

やる義務がある仕事以外を全部放り出せば時間的には楽になる。 そうすることで本業はもっと進むだろうから、誰も困らないどころか その方が喜ばれるだろう。 問題は自分の精神の安定だけであり、 それは視野を狭めていればいずれ慣れる。 しかし、そうするくらいなら、もっといい選択肢がある。

2012年03月29日

外を見るといろいろ考える。

2012年03月28日

外仕事。

2012年03月27日

ボツワナ、ジンバブエ、南アフリカの3国でエイズがすごいことになっていることを知った。 世界銀行の資料を見ると、 ボツワナは1989年に64歳あった平均寿命が2003年には49歳まで落ちている。 webで調べると記事の日時がまちまちなのだが、 国民の30%がエイズ、という記事まであった。 文化的に性におおらかで、女性の地位が低いことが原因という見方が多い。 しかし、2009年には53歳まで持ち直している。 教育や女性の地位改善が効果を表してきたのだろうか。 そうであればいいなあと思う。 抗エイズ薬は年間100万以上かかる高価な薬だが、 途上国向けにはもっと安く売られている例もあるらしく、 比較的豊かなボツワナでは使える人が多いのかもしれない。

いくら特許特許言っても、命に関わるような薬に関しては製薬会社も イメージ低下を恐れて途上国向けには安売りをしたりもするわけか。 元々高くて買えない人たちに安売りしても利益は減らないのだが、 そういう国で仕入れて先進国に運ぶ人もいるだろうから 簡単に安売りはしたくないだろう。 そういった事情で利益が減るとエイズ治療薬の開発に投資しなくなる 可能性もあるわけで、 人類の幸せにつなげる特許制度の整備というのは難しい問題なのだろうと思う。

一番成果につながるところで自分の力を使いたいものだ。 私の時間をどう使うと私を含めた人類の幸せが一番効果的に増えるだろうか。

ゲーム内アイテムは財産か。財産だと思う人がいれば財産だろうが、 法的に、ということになればそれは「社会の雰囲気」が決める。 財産だと思う人が増えてくれば財産になるだろう。 あるいは、財産ではない、ということによって発生する問題が大きくなってくれば 財産になるだろう。 おそらく、ゲームを作る側にとって見れば財産でない方がありがたい。 不人気になったネットゲーをサービス停止する自由があるのは、 ゲーム内のアイテムやパラメータが財産ではないからだ。 財産だということになるとかなり厄介なことになる。 赤字のサービスも容易には止められなくなるし、 バグでアイテムが消えた時に損害賠償しないといけない なんてことになったら恐怖だ。 アイテムの種類の変更や価値の変更によって ゲーム内の経済をいじることすら危険な色彩を帯びてくる。 まあ、作る側からすれば、財産になっては困るし、 普通に遊びとして捉えている大半の客にとっても財産になるのは困る。 ゲーム開始時に「ゲーム内アイテムは財産ではないので、消えても文句言うな」 という契約書にサインしないと先に進まない、みたいなことになるんだろうか。 あるいは、もうなってるのかもしれない。 客がそこを理解した上でやっている、という前提が確保されれば、 こんなことは問題ではなくなるはずだが、 きちんと契約書を読むような人以外を客にしたい思惑もあったりするのが難しい。

pythonを好きになる日は来ないような気がする。 慣れるかどうかすらも怪しい。 慣れるためにはpythonばかり何週間もいじり続けるような状況が必要だ。 たまに使う程度では慣れるはずもなく、慣れないものは好きにはなれない。 ちなみに、perlが好きかと言われれば、やっぱり好きではない。 rubyもなんぼかやったが、 やはり慣れるほどに時間をかけていないので好きにはなっていない。 言語を選ぶ時の決め手は用途とシェアであって好みなんて二の次だ。 C++が好きかと言えば、やっぱり好きではない。単に慣れているだけだ。 JAVAは慣れた後なら好きになれるかもしれないが、 速度をギリギリまで持っていけないことをいつまでも不満に思うのかもしれんし、 わからない。

2012年03月26日

戦場の哲学者、を読んだ。 戦場に行けば大抵の人は殺せるし、 なんだかんだ言って死ねるだろう。 結局人類はそういう生き物だ。 まして、近代兵器によって殺人の生々しさが 減っている以上、人を殺すのは難しくない。 責任を問われるどころか命令される状況下では、 殺さない方が難しい。

地球のどこかに飢えてる人がいることを想像するのは難しいし、 自分が何かを買うことがいろんな人に小さな影響を与えていることを 想像するのも難しい。 結局、人間は目の前にない状況を想像できるようにはできてないんだと思う。 ボタンを押すと民間人が数万人死ぬ、みたいな状況でも、 大してためらいは感じないだろう。

商売の際にはこういう人間の性質を利用すると有利なんだろうが、 あんまり利用しすぎるのも問題だよな。 アイテム課金のソーシャルゲーはそれで成功して、それで叩かれているわけで。

垂直統合と水平分業のさじ加減についてよく考える。 買った方がいいものと、作った方がいいものの境界はどこにあるか。何を指針にするか。 概ね世界が成熟するほど水平分業に傾いていくはずだが、 水平分業ベースで始まったであろうソーシャルの人々の中には 垂直統合の率を高めていると言う人もいる。 難しいものだ。 いいバランスがあるということだろうし、 そのバランスは何を誰に向かってどのような状況で作るかによって変わってくる。

未来予測は大抵外れるが、未来予測を全く行わないで商売ができるはずもないし、 少なくとも未来は現在とは違う世界であることは間違いない。 現在の延長として未来を見ている限り、商売は確実に先細って行く。

電池は鍵になる技術だ。単に安くなるだけでいい。 それだけで発電インフラを平均使用量に合わせた規模 に落とすことができるようになるし、 不安定な風力や太陽光をまともに使える状態になる。 このことは、発電を独占企業に任せておく必要を失わせるため、 次第に東京電力のような会社から特権を奪っていくことになる。 また、政治的安定性その他から大規模な送電・発電 インフラを整備できない土地であっても、 小規模な発電所と電池の組み合わせで電気を供給できるようになる。 無線技術も大きい。内陸まで線を引かなくても、数十kmおきに無線設備を設ければ 遠く離れた土地まで情報を送れる。 これらの技術が今の先進国とは違った形で途上国を発展させる。 固定電話をスキップして携帯電話から始まる国がある。 そういう世界における商売の形を考えないといけない。

アフリカの人口増加と経済成長はかなり進んでいる。 例えばボツワナの一人あたりの豊かさは中国やベトナムやインドネシアよりも大きい。 アフリカはすでに市場として無視できない規模になりつつある。 確かに短期的には中国が伸びる。しかし、それはそう遠くない未来に終わる。 中国に多少は遅れるものの、インドを始めとしたその他たくさんの国もまた発展するし、 すでにそれは始まっている。 アメリカはまだまだ人口も増えるが、増えるのはメキシコ系の人たちだ。 20年後のアメリカは今とは少々違う文化の国になっているだろう。 国内だけを見ていては死ぬ、というのは正しいが、 だからといって欧米に目を向けるのは少々短絡的すぎる。 ダウンロード販売のおかげで、ネットがつながっていて課金ができれば どこにでも物を売れるのだ。 アラブやアフリカ、東欧や南米を市場とみなさない理由はない。

20年後、私は54歳である。まだ退職はできない。 30年後、私は64歳である。現在の日本の財政状況と、政治の歩みの遅さを考えるに、 退職して年金暮らしをできる望みは低い。 しかも、これまで大きな病気なく生きてこられたという事実からして、 80あるいは90くらいまでは生きる公算が高い。だが、生きるには金がいるのだ。 私は頭がまともに動く限り働かねばならないだろうし、 それは他のほとんどの日本人にとっても同じだろう。 だから、30年後の世界とその経済は他人事ではなく、 そこを見据えて生き方を考えていかねばならない。 20年後の日本においては、団塊世代がほぼ死に絶えている。 戦争はお伽話になり、日本が途上国だったということも 長老の昔話でしかなくなる。生まれた時からiPhoneやiPadがあったような 子供達が成人する。 駅前のシャッター街は後継者がいないために整理され、 全国の商店街はほとんどが消えてショッピングモールになるだろう。 都市への集中率はさらに上がる。 そういう世界でどうやって金を稼ぐか。 あるいは、どういったスキルで金をもらうかが問題になる。

計算機は電力効率が猛烈に改善するはずだ。コンセントにつないで使う計算機の率は 劇的に落ちているだろう。コンセントにつないでいる間は性能が上がる、 という程度の小細工はするかもしれないが、放熱性能が必要になるので無駄だし、 需要も大してないだろう。 そもそも、電力効率が上がる方向の技術が進歩するということは、逆に言えば 電力をたくさん入れたからといってそう性能が上がるわけでもない、ということだ。 というわけで、コンセントにつなぐ理由があるとすれば、 それは表示機器側の消費電力のためで、計算力のためではあるまい。 すでに電池内蔵でいくらかの時間ならコンセントにつながなくていい テレビが売られている。 もし42インチのアンドロイド端末、みたいなものがテレビに置き換わるとすれば、 それはさすがにコンセントにつなぐだろうが、 パーソナル化の流れを考えればそういったもののシェアは今のテレビに 比べればずっと小さいはずだ。 家電話を置かない家庭が増えているのと同様に、 複数人で見る前提の大型テレビを置かない家庭が 増えるかもしれないし、 置くとしても高価なものを置こうとは思わないだろう。利用時間は今の テレビよりもずっと短いだろうからだ。 テレビ放送は見るかもしれないが、 それを今のテレビという機械で見る層は少数派になる。 そもそも、決まった時間にCM付きで放送され早送りもできないという このクソ不便な代物に、 20年後に成人する今の赤ん坊達はおそらく耐えられない。 同様に、据え置きゲーム機なるものが生き残るとは思えない。 ただし、それ以上に携帯型ゲーム機の死期は早いだろう。 電話やタブレット端末からの距離が近いために、食われるのも早いからだ。

RMT(リアルマネートレード)って何が問題なんだろう。 人が価値があると思い、交換できるものは、必ず金で取引される。 ゲーム内アイテムを金で売れるようになるとなれば、 労働としてゲーム内アイテムを集める人は必ず出てくる。 そして、それを買う人はそれを集める手間と時間を金で買う。 労働する側にとっては金が時間よりも高価であり、 買う側にとっては時間が金よりも高価だ。 その交換が存在することによって経済学的に言えば幸せの総量は増す。 何が問題か、ということになる。

実世界において、金の価値は人によって違う。基本、金持ちほど金の価値が安い。 よって、実世界における金持ち度がゲームにおける有利不利を左右することになる。 これが望ましくないゲームにおいては、こういう手段は封じておくのが望ましい。 しかし、アイテム課金が存在するゲームにおいてはもともと金で時間を買えるわけで、 ゲームの外で金のやり取りがあろうがなかろうが本質的な違いは出ない気がする。 月額で払うゲームや、 パッケージを買ったらおしまいで課金が発生しないゲームについては ともかく、今問題になっているのはアイテム課金のゲームの話だ。 仮にRMTが望ましくないとしても、取引によって幸せになる人がいる状況がある以上、 そう簡単には禁止できまい。 逆に、簡単に禁止できるならとっくにしていてもいいはずだ。 正直よくわからん。その手のゲームをやったことがないからな。

つうか、携帯電話の類って契約時にその端末からの追加課金を封じる手段はないのか? 勝手に子供が高額課金とかいうのが問題になってるが、 それが可能な状況が放置されていることが問題であって、 課金制限をつけりゃいいって話じゃないだろ。 ゲーム課金に限らず、パケット通信料が発生するような事を 出来なくする手段はないのか? 私のwillcom端末もwebにつながる機能は禁止しておきたいのだが、できないのだろうか。

集団をどうこうする時に、最大値が高ければいいという戦略と、 最低値が高ければいいという戦略と、合計値が高ければいいという戦略は 全て違う。 学校の場合、体育特化クラスからオリンピック選手を出そうと言うならば これは最大値が高ければいいという戦略になる。 その一人以外の人生がどうなってもかまわない。 全員を読み書きできるようにする、という目標ならば 最低値を高めようとする戦略になる。 抜きん出た個性や才能は無視されるだろう。 国でも、学校でも、会社でも、その3つの戦略のどれにどれくらい振るかは 問題になる。しかし、決めなくてはいけない。

会社で複数プロジェクトをどう扱うかを考える場合には合計値以外の 選択肢はないけどな。全プロジェクトの赤字が最少になるようにする、 とか言っても意味はない。重要なのは利益の合計値だ。 ダメなプロジェクトに人をつっこんでもダメなものはダメなわけで、 さっさと切り捨てるべきである。 これは必然的に、社員に関しても能力の平均値を上げる戦略を取ることを意味する。

2012年03月25日

受精してもダメになるケースは多い。 特に遺伝子的にアウトだと流産するようにできている。 年齢が高いほど遺伝子がダメになっている確率は高いので、 そうした流産の率は高くなる。 通常よりも生理が遅れて来るように思われるケースの いくらかはそういうものなんだろう。 しかしそれはそれとして、妊娠が疑われる時期に かなりの時間だっこしているようなマネは避けてほしい。 ベビーカーが借りられると言うので、ならいいかと思ったのだが、 オタマが嫌がったので借りなかったらしい。 とりあえず、だっこポーチ(腰に巻く椅子みたいなの)は禁止。 あれがあると1時間くらいはかろうじてだっこできてしまうのだ。 あれがなければ14kgもあるオタマをだっこすることはほとんど不可能になるので、 泣こうがどうしようが歩いてもらう他なくなる。

で、今日も動物園。今日は3人で行ける。 川崎の動物園で、タダらしい。距離は近いが、 かかる時間は上野と大差ないのが困ったものだ。

オタマは日本語をがんばって勉強している。 しかし発音が不明瞭なので、「青いパンツ」が「えろいパンツ」に聞こえる。 青いワンピースは、えろいワンピースになる。

川崎の動物園。やっぱりオタマは動物はどうでもいいらしい。 一番見ていたのは帰りにいた猫だ。それにしても重いなこいつ。 ひつじこはよくこんなに重い生き物をずっと運んできたものだ。 やっぱりだっこ禁止。

サーバがatomの1コア1.6GHzなのだが、 2コアの1.86GHzで電気をより食わない奴を積んだマザーボードが出回っている。 来年くらいにはHDDごと増強できるといいんだが。 2.5インチでテラのものが5000円ちょいくらいで手に入るようになるのは もう少し先か。まだ1万円近い。

Thinkpad X201sのHDDをSSDに置き換えたい。 衝撃が加わる用途な上に、頻繁にスリープするので毎度ストレスだ。 しかし、110GB以上使っていて、128GBは最低必要な状況。 64GBに収まるまで掃除したとしても、 この前買った64GBの東芝の奴はもう手に入らないようだし、こりゃ当分保留だ。

2012年03月24日

ひつじこは食欲がないのと飯がマズいのの区別が曖昧なので気が抜けない。 「今日食欲ない」とか言っていても、 単に私の味付けが失敗していただけだったりする。

2012年03月23日

文章書いたりパワポ作ったりしてた。 今月はまだ文章を書く予定がある。

明日は晴れるのかな。

2012年03月22日

えらく久しぶりにpython。perlを捨てると決めたのはもう何年も前だが、 あれ以来ほとんどperlを使いたくなるような仕事が発生しなかった。 ツールを作ることもあるが、速度が無視できないものはC++になる。 多少でも複雑になるとC#の方が奇麗に書ける。 あまりに単純になるとbashやbatで足りる。 そういうわけでperlの出番がほとんどなかったのである。 しかし、「基本的には他のプログラムを呼びまくるが、 そこそこファイル名を加工したり多少の条件分岐が入ったりする」 という程度のプログラムはやはりperlかpythonだ。 そういうわけで苦労しながらpythonでやっているわけである。 慣れれば楽になるだろう。

pythonで書けることの大半はC#でもいい気はするんだよな。.netは至れり尽せりだ。 何もしなくてもダブルクリック実行できるexeができるし、 pythonくらいちゃんとした文法になってくると書く手間そのものは C#とそんなに差がない。 ただ、pythonのようなスクリプトはデータを中に入れてしまえるのがでかい。 テストアプリごとに存在するスクリプトがあってそれぞれ別の引数を与えるのであれば、 テストアプリの数だけpythonスクリプトを複製して中に引数を書いてしまえばいい。 C#であればexeは一個でいいがbatはアプリ数だけ別に書く羽目になり、 柔軟性で劣る割に楽にならない。

用途に応じて言語を使い分けることは必要だが、 言語の数に比例して脳の記憶負荷は大きくなるし、 言語の進化に追随するための学習負荷も大きくなる。 それが楽しくて仕方がないプログラミング大好きっ子はそれでもいいだろうが、 プログラミングが手段でしかない私としては極力面倒なことはしたくない。 とりあえず、pythonにすれば100行以上書けないというperlの 致命的な欠点はなくせる。

私は非標準のライブラリを持ってきたり、 クラスを作ったり、自分で書いたコードをライブラリ化して使い回したりするような 使い方をperlやpythonに関してやる気がない。 1ファイルのみで構成され、基本上から下に流れて終わりで、稀に関数化するかなあ、 という程度の使い方までだ。その範囲を超えたらC#かC++で書く。 その範囲を超えてもなおpythonやperlに留まる方が効率がいいケースは あるはずだが、大抵それくらいの規模になると速度か保守性の問題が 無視できなくなるし、コンパイル不要であることの利点も薄れてくる。 コンパイラのエラーチェックが厳しくて、 実行可能になった段階でかなりのバグが取れているC++やC#の方が楽だ。 単純にC系の言語はケタ外れに時間をかけているので、 ちょっとやそっとの優位性では他の言語を使う理由にならないのである。

主力C++、オフィスとGUIと.netに頼りたいツールがC#、あとはpython。 というくらいか。 いずれはJAVAとかJavaScriptがここに入ってくるのかもしれんなあ。 JAVAはともかくJavaScriptは永遠に関わりたくないが、 たぶんそうも言っていられない。

オタマを寝かせることに関しては手伝える気がしない。 というか、オタマに関することは大抵ひつじこを手伝うのは難しい。 ひつじこがいる時にはオタマは常にひつじこを選び、 私が手を出すと怒る。 オタマと一緒にいる時間が短いからだとひつじこは言うが、 そうは言ってもなあ。

仕事の効率は上げられるとしても、 勉強の効率を上げるのは難しい。 ここのところの労働時間の大半は実質勉強時間だ。 仕事を果たせるレベルまで私のスキルが達してないので、 勉強しないと進まないのである。 全て「地球上の誰かにはできること」ではあるのだが、 地球上の誰かができるからといって私にできるとは限らない。 実際今の私にはできない。 自分ができるようになれるのかどうかすらわからないというのは恐ろしく不安だ。 しかし、この不安は能力を伸ばす上で恐ろしく有効である。 私はこれまで不安と劣等感によって能力を伸ばしてきた。 好きなことをのびのびやっていたら伸びた、なんてことは全くない。 プログラミングは嫌いじゃないが、好きでもない。 ただ、できなければ死ぬという恐怖がここまで私を連れてきた。 そうして10年近く経ってようやく「どうやら向いていたらしい」、 と思えるようになったわけだが、 それも所詮プログラミングだけである。 数学や物理やアルゴリズムの話になると、これはもはやプログラミングの枠に は収まらない。そして、私が数学に向いていないことはすでにはっきりしている。 こうなると、向いていなくてもできるようになる手を考えねばならない。 これもまた不安だ。

「他社の製品でやってるんだから、うちでもできるよね」という台詞は たぶんありふれたものだが、そう言うためには前提条件がある。 結局のところ組織としてナンボ投資したのかが明暗を分けるのであって、 根性や努力でどうにかなることには限界があるということだ。 人数や時間や金の投下量が足りないならば、多くは望めまい。 だからこそ選択と集中が重要であり、そのためには何を捨てるかを 決めねばならないのだと思うが、「これを捨てる」と明示的に宣言されることは 稀だ。従って、何に集中するかも明示されず、何にも集中できないまま たまたま担当になった人の努力に期待する以外のことができなくなるのである。 とは言え、必ずしも悪いことではないのだが。

プログラミングが好きなわけではなく、数学は嫌いじゃないが全く得意じゃない。 これをどう強みに変換するかだ。 現状私はプログラミング以外で金を稼ぐ手段を持っていない。 どうにかしてマネジメント側に行ければと思わなくもないが、 そっちに向いている保障はないし、いざやり始めたらすごい勢いで嫌になる 可能性もある。 そして、私はプログラミングは結構マシな部類だし、 数学ですら相対的にはマシな部類に入るため、 これらを専門にし続けるような圧力がかかる。 私はプログラミングや数学を使う分野で一流にはなれない。 これは確実だ。しかし、現状金を稼げる程度にはできていて、 そして今はこれ以外に金を稼ぐ手段がない。 この袋小路っぷりをどう打開するか。今すぐにでも考えて手を打たねば未来がない。

2012年03月21日

最初に言ったのは「人間以外の哺乳類には好かれるなあ」。 次に、子供にも好かれることを思い出して、 「大人の人間以外の哺乳類には好かれるなあ」と言い直した。

この数年サブプライムやらリーマンやらギリシャやら地震やらで 投資信託が落ちまくりだったわけだが、久しぶりに見てみたら黒字になっている。 面白い。多数の人間の欲望がこのいくつかの数字に集約されている。

誤差拡散って結構偉大だな。減色による誤差で 全体のエネルギー総量が大きくズレることを防げるし、 シマシマよりはツブツブの方が同じ誤差でもマシに見える。 しかし、考えてみれば印刷は誤差拡散ではなく組織的なアミカケで行われている。 歴史的事情なのか、そっちの方が好ましいのか。

2012年03月20日

プログラマが知るべき97のこと、ソフトウェア アーキテクトが知るべき97のこと、 プロジェクトマネージャが知るべき97のこと。 3冊ほど斜め読みしてみたが、後に書いたものほど共感できる。 どうやら私はプログラマじゃないらしい。 エレガントなコードも、最新の開発手法も、 目的を果たすために必要でなければどうでもいい。

開発環境なんてどうせ自分の自由にはならないのだから、 IDEだろうがgccだろうが、使うとなってから 必要なだけ慣れればそれでいいんじゃないか。 どうせコードを書いてる時間なんて、 アルゴリズムや設計について考えたりデバグしてる時間に比べれば 微々たるもので、編集効率なんてそう大した問題でもない。 「これがボクの大好きエディタです」とかいう状態になると 後でかえって面倒なことになる気がするが。 VisualStudioのカスタマイズなんて背景を黒くするくらいのことで、 ショートカットもビルドと実行くらいしか知らん。 私はたぶんプログラマとしてはダメなんだろう。

とは言え、vi+bash+make+gccという環境でプログラミングする経験が なんぼかでもあったからこそそう言えるのかもしれんな。 Makefileは読むのも書くのも苦痛なので極力避けているが、 どうしようもなくなればやる。 viに慣れていれば他のエディタなんてどれも同じに見える。

ですます調で文章を書く必要に迫られて、ちょっと書いてみたら驚くほど 気分が乗らない。心に届く気がしない。 そう思いつつ心が折れてwebを巡回しはじめたところ、 たまたま昔自分が書いた文章が見つかった。ですます調だったが、 なんか悪くなかった。どうやらやりようはあるらしい。 本当に伝えようと思えば自然と読める代物にはなる。 技巧は後からついてくるが、中でもリズムは重視すべきだ。 ですます調はどうしてもリズムが悪くなる。

短い文章を読ませようと思うなら、メッセージは絞りに絞らねばならない。 そして、絞った上で、複数の書き方をしてイメージを伝える必要がある。 題名は超重要だし、最初の文で引きこまねばならない。 漢字の頻度も重要だ。段落の長さも重要で、10行以上あると意識が遠のく。 途中で一回は驚かせたい。「転」が必要だ。 しかし、短いものであれば、最初に「転」を置くべきかもしれない。 それで坂を転げ落ち始めれば途中に多少上り坂があっても最後まで転がってくれる。 無理をして意表をつこうとしてもダメだが、 元々私が多数派と違うことを思っているようなことであれば、 普通に書くだけで転になるし、そういう内容はたぶん面白いだろう。 したがって、書くとすれば「いわゆる正論」を 私が良しと思っていないようなことがいい。

一番大切なのは、一番伝えたいことが何かだ。とは言え、 書いてみないと何が一番かわからなかったりもする。

2012年03月18日

誤差拡散をGPUでやる手はないかと思ったらあった。 タイル上に分割してタイル内はうずまき状にやるらしい。 でも、もっと単純かつ完全に並列化できる方法はないんだろうか。 反復法的になるだろうしメモリの消費も増えるだろうが。

ルータをWR8750Nにした。これで5GHzが使える。X220の方はこれで 問題なく具合もいいのだが、X201sは安物なので2.4GHzしか対応していないという状態。 それでも速度が上がったので良しとする。 65が72なので大差ないが。なんで150まで上がらないんだろうなあ。

20MHzしか使えずアンテナが1本だからか。 近隣にルータが山ほどあって40MHzにすると不安定になるので、 それはどうにもならない。 にしてもアンテナ1本なのは辛いなあ。

それでも5MB/sとか出るなら十分か。 220からはその3倍くらい出るのかね。そうだとすれば大したものだ。

そういえばヨドバシでDMC-FT4を見た。FT1よりゴツさが減っていていい具合だったが、 3.5万払って更新する価値があるかはわからない。 なんぼか暗い所にも強くなっているようではあるのだが。 DMC-LX5がいいらしいが、衝撃耐性がない段階でうちでは無理。

facebookにある次世代リーダーサミットって何だろ。

GDC報告会があるっぽいが、31日って土曜だよな。そりゃ無理だ。

昨日気になっていた蒙古タンメン中本でいちばん辛くないものを食べた。 野菜がへにゃへにゃなのがなあと思うが、 ダシとしての野菜であれば別に問題はないか。 具としておいしくしたければ別の火加減であるべきだろうが。

車に使われているネジを作る人が車を開発していると言えるだろうか。 どこで線を引くかという話だが、 最終産物を見据えて、かつ、その最終産物のためだけに仕事をしていれば、 その最終産物を開発しているとは言っていい気はする。 仮にそれが客にとってまったく見えない部分だったとしてもだ。 しかし、私の感覚としては、 ゲームディベロッパーならともかく、ゲームクリエイターとは呼び難い。

2012年03月16日

人材の流動性が大きくなるような制度にしすぎると、 ある人がどういう人かを知る人が少なくなって評価が機能しなくなるという 弊害があるらしい。社内統一の人材プールからプロジェクト発足ごとに人材を確保、 みたいな制度にしたところがその罠にはまってダメになったという話を聞いた。 来る人が何者かわからない状態で毎度仕事をするというのは、 確かにそれはそれで怖いものがある。 適切な流動性のレベルがあるということだな。 なるほど、いろんな人の話を聞かないとそういうところに気づけない。 勉強になった。

オタマの断乳には成功したが、寝かせる手段がない状態に陥った。 しばらくはひつじこがだっこしてバランスボールで揺れる手で寝かせていたが、 寝た後床に置こうとすると起きて泣くという罠にはまり、 ひつじこが全く眠れなくなった。泣かせないことを優先するひつじこは しばらく耐えていたが、耐えきれなくなり、バランスボールを封印することになった。 オタマの前で空気を抜いてわからせようとしたが、当然の号泣。激怒。 オタマは非常に強情な子で、意に沿わぬ寝方は絶対に許さない。 眠くてフラフラなのにとにかく立ち上がる。泣きっぱなしだ。 座らせてしまえばコックリコックリと寝だすのだが、 オタマ的にはそうやって寝てしまうことが許せないらしく、とにかく立つ。 そういうわけで、私とオタマで寝技乱取り状態。立てば足を払って倒す。 うつぶせになろうとしたらその回転を利用して余計に180度回して またあおむけにする。 座れば背中に布団を丸めて背もたれにして眠気を誘う。 そんなことをしているうちに次第にコックリの頻度が上がっていき、 朝5時には寝た。それがおとついの夜である。

昨日の夜もそうする覚悟でいたが、なんかあっさり寝たっぽい。 私は出張から続く疲労のせいかコロリと寝てしまったのでわからないのだが。 24時から9時まで寝て、機嫌良く起きた。 どうも乱取りはしなかったらしい。ひつじこの横に座ってyoutubeを 見ているうちに寝たそうだ。光が見えてきた。

わかめとじゃこは築地に買うしかないかと思ったが、 わかめの冷凍保存が可能なことがわかったのでやっぱり通販してみよう。 5kgとか買っていいなら通販でもかまわん。 じゃこも通販で買えば窒素充填パッケージのまま冷凍できる。

2012年03月14日

組織における知識共有について考える。 人材の流動性が高ければ自然に知識共有が進むので、 そうできれば一番いい。変なインフラとか、変なイベントとか、 変な委員会とかで無理矢理なコストをかけなくても済む。 あとは、現場から上がってくる要望に上が応えて邪魔をしなければいいだけだ。 しかし部門ごとに人材の囲い込みが行われると必要な流動性が保てなくなる。 人材の流動性が低く知識共有が低いレベルに留まっている組織は多いはずだ。 そこから望ましい状態に持っていくにはどうすればいいだろう。

知識共有は国際貿易になぞらえて考えることができる気がする。 部署を超えて知識が流れないのは、輸入や輸出が小さい状態に相当する。 国際貿易が今行われているのは、国際貿易をするように神が命令したからではなく、 各人にとってそれがうれしいからだ。 知識共有も同じであり、知識共有が勝手に行われるようになるとすれば、 それは各人にとってそれがうれしいからである。 会社にとってうれしくてもダメだ。 「会社のために共有すべきだ」とか言ってもダメだということである。 各人にとってうれしくないことを やらせようとすれば、継続的にエネルギーを投入し続けねばならず、 効率も悪いしちょっとしたきっかけで途切れてしまう。 また、国際貿易で言えば、それを妨害する要素が小さくなるほど交易は増える。 輸送コスト、関税、法律の違い、その他もろもろの阻害要因は おおまかには減る方向に動いている。 知識共有でも同じことが言えるだろう。 情報インフラの出来が悪かったり、秘密保持に関して箇条に口うるさかったり、 普段の仕事以外のことをすると白い目で見られたり、 そういうことが阻害要因になる。

こう考えていくと、基本的には二つの方向から攻めるべきだということになる。 一つは「共有するとうれしい」ことを皆に理解させる啓蒙活動。 もう一つは知識共有の面倒くささを軽減する環境作り。 政治的、心理的、経済的な側面を全て勘案してやらないと失敗する。 また、ボトムアップの自由参加とトップダウンの強制はそれぞれ長所短所があるので、 これをうまく組み合わせる必要があるが、 おおよそ段階が進むほどボトムアップの比率が増していく、 という基本はおさえておきたい。 国の産業で言えば、 発展が進んだ経済では規制緩和を進めて自律的な資源配分をさせればいいが、 発展の初期段階では国家による産業振興政策を多用するものである。 これも同じことが言える。知識共有webやツール、SNSなどのインフラを 整備すれば勝手に進む、というのは認識が甘くて、 そういった文化にもともと適応性の高い人間だけが適応して、 そうでない人間が放置される結果になるのは目に見えている。 20年も待てば世代交代によって解決するだろうが、それでは時間がかかりすぎる。 だいたい、地位が高いベテランほど適応性が低いと見て良く、 そういう人間を巻きこめない段階で効果は薄い。 また、公式になんたら委員会を作って予算をつける、みたいなやり方は 役所による公的サービスと同じ罠に落ちやすい。 顧客、つまり社員それぞれのニーズをつかめないままに無駄に凝ったしくみ だけを作って満足しがちだ。 メンテに予算や担当者が必要なしくみは、それが途絶えれば消えるわけで、 そういったアプローチはあくまでも初期段階に種をまくためのもので なければならない。役割を終えたら速やかになくなるべきもので、 継続的に予算が必要であってはならない。 それが既得権益となって将来に害をなす可能性がある。

政治力、と言うといい印象がないが、残念ながら必要だ。 目的を達成するために誰を味方にすれば効果的か、そして誰が障害になるか。 といったことは考えなくてはならない。 政治的に考える際、言葉も論理も目的を達するための手段だ。 正しいことを言って満足してはいけない。 目的を達せられないならどんなにまっとうな意見にも意味がない。 しかし私を含めた技術屋には難しい相談だ。 正しいと思うことを堂々と主張するまではするが、 受け入れられないなら「俺は知らん」と言って放置、ということになりがちである。

2012年03月11日

空港から無線でつながったので書いている。

空港のチェックがだいぶものものしくなった。 変な機械の中で両手をあげて待つ。 海外旅行って本当被爆するよな。さっきのもX線だろう。 飛行機の中の被爆量は福島市より大きいわけだし。 というか、地表で飛行機と比べられるほど被爆できる状況って相当おかしいよな。 しかし、それがこれから何十年先まで続くのが現実だ。

オタマと大差ない子を二人連れた人がいる。 やむをえない事情で渡米したのならいいが、 これ単なる観光だとしたらうちらの感覚ではありえない。 本当に楽しめるのか。

若干観光。あざらしがいっぱい。 中華街で食べ放題6ドル、海沿いでスムージー4ドル。 それらより高い帰りのケーブルカー6ドル。

マジ物価おかしい。中華街が安すぎるのか、そのほかが高すぎるのか、 もうぜんぜんわからない。

schleichを買った。頼まれた分も買えた。

これ、家計簿にどうつけようかな。ドルを買ったときのレシートはあるので、 いちいち円に直して書き込むしかないか。若干面倒くさい。

webチェックインしなかったせいか、 席をお取りしますとか言われてえらい時間を食った。 何かがおかしい。

ローカルで作ったものをサーバに保存するのでなく、 いきなりサーバ上で編集するというやり方が 合理的であることがだんだん納得できてきた。 まして、サーバがLAN上にあるならばなおさらだ。 ちょっとネットワークを通してなにかやるやり方を勉強しよう。

鋼の錬金術師の劇場版を見た。弱小国の独立物語の奴。 実に腹立たしい。絵はきれいだ。アクションもいい。 主役級キャラクターも、設定も魅力的だ。 ただ、話と脚本が気に入らない。 何だよこの説教くささは。なんだよこの薄っぺらな人物描写は。 なんだよこのイデオロギーを表現するためにキャラクターを使役するような脚本は。 これが原作者が作った話なのであれば、私はこの漫画は好きにはなれない。 そうでないなら漫画は読んでみたいが。

ディスカバリーチャネルの生命誕生のなぞの奴を見た。 熱と乾燥と冷却と放電と圧力と、みたいなものが複雑にからみあった 条件下に程よく元素が存在していると生命ができるのかもなあ、 みたいな話である。生物の構成要素は、たんぱく質、脂肪、遺伝子だ。 三つそれぞれについて原始地球の条件下で発生しうるという 研究があるらしい。まあ問題はそれらが一緒になって自己複製を 開始する条件と確率がどの程度かという話になるのだろう。 現実的な実験時間で起こらないのであれば、 「ありうる」という域を超えて研究が進むことはないのだろうな。 こればかりは、 全世界の家庭用コンピュータで並列計算してどうこう、 みたいなマネはできないわけで、大規模化は不可能だ。 であれば、地球スケールで 1万年かかるような実験は永遠になされないということになる。

砒素がリンの代わりに使われている生物がいるとすれば、 リンは猛毒なのだろう。たまたま地球ではリンが多かった。 しかしそんな中にも砒素ばかりがある環境もわずかながらあり、 そういうところにはそういう生物がいるかもしれない、という話だ。 実際に遺伝子の構成元素として砒素が使われていることは 確認されているのだったか。もし確認されているなら大ニュースだし、 確認されていないのだろう。 SFで出てくる珪素生物に匹敵するインパクトのはずである。 まあSFと違って所詮は微生物なわけだが。

カールじいさんの空飛ぶ家、を見た。腹立たしい。 しかし実に出来がいい。心を動かす手管は見事なものだ。 時間配分も、展開も飽きさせない。音楽も典型的ながらいい。 ただ、腹立たしい。主人公の心理上のストーリーと、 娯楽映画として成立させるためのストーリーの乖離が腹立たしい。 何だよ鳥って。お前何匹犬殺したよ。悪役とは言え人間も一人殺している。 無駄にハラハラさせるアクションと展開も腹立たしい。 実はその意味ではラピュタも嫌いだったりする。 高いところから落ちそう、というシチュエーションは 誰だって手に汗を握るものだ。自分の体がそのように反応して いることが腹立たしい。 そして何よりも、こんなもの絶対にひつじこには見せられない。 見せたくない。

飽きずに引き込まれるように見られる映画でも、好きになれないことはある。 しかし、出来がいいのは確かである。 さすがに眠いかと思いつつ見始めたが、最後まで眠くならずに見られた。 もう日本時間17時で、あと5時間でつく。 サンフランシスコ時間で言えば24時だ。眠くないわけがない。 それだけすばらしい出来だということだ。 そういうわけで評価はする。 単純に技術的にすごいのもある。どうやって作るんだよあんなの。

なんで青のエクソシストが10,11話だけ入ってるんだ。 誰が得するんだよと思うし、どういう事情なのかもわからない。

なぜ飛行機の飯がコンビニ弁当よりもまずいのか。何か理由があるはずだ。 誰か教えてほしい。ここまでまずくすることでコストが下がるとは思えない。 調理の制約かもしれないが、冷蔵品を加熱するだけなら コンビニと変わらない。冷凍品を加熱するとなると味は落ちるが、 それでもここまではまずくならない。 単純に改善がなされないまま放置されているから、 というのならありうるが、その場合どの会社の飛行機でも 同レベルにまずいことの説明がつきにくい。 また、味だけではなく形にも文句がある。 狭いテーブルを考えれば、もっと空間効率の良い盛り付けなり 皿の構成なりをすべきだろう。この点でもコンビニに学んでいただきたい。

もういいからコンビニ弁当出せよ。セブンイレブンとでも提携したらいい。 容器だけカスタマイズして若干の高級感を出せば誰も文句言わないだろ。

シャーロックホームズを見た。素直に面白かった。 東洋の武術バリツを映像化するとは恐れ入る。 イギリスの雰囲気作りもいい。推理シーンのダイナミックな テンポもいい。不二子っぽいヒロインもいい。 ホームズの精神異常っぷりもいい。そしてなによりワトソンがいい。 一点いまいちなのは、最後になって犯人が冷静さを失いすぎたところだ。 計画が破綻した後に橋の上まで上がってくる理由がよくわからない。 ホームズと格闘を始める理由はさらにわからない。 あとはまあ、あきらかに犯人がホームズに対して手ぬるいとか、 あれだけ派手に爆破されながら案外軽傷なワトソンとか、 盛り上げる都合優先な展開なのは、目をつむろう。なにせ娯楽だ。 おかしなところをつつくよりゲラゲラ笑う方が正しい。

19時42分。まだ2時間以上ある。明かりもついてしまったことだし、 もう一本何か見るのが良かろう。 持ってきたアニメを見る手もあるが、 周りの騒音に対抗できるほどの音量が出ないので 恐ろしくストレスになることが行きの飛行機で発覚した。

相棒。この手のドラマを自分の意思で最初から最後まで見たのは初めてだ。 実家に帰った時にたまたまかかっていることはあって結構見ているが、 最初から見たのは初めてである。 いや、良く出来ているなこれ。 二回ひっくり返し、伏線も回収。 キャラ描写もいい。派手さはないが、つくりが丁寧だ。 ひつじこはこういうふうに良く出来たドラマをたくさん 知っているようなのだが、残念ながらこういう時でもない限り 時間は取れない。 その点アニメは23分で済むのでまだどうにかなるのだが、 最近はそれすら無理になってきたし、 そもそも、そうそうおもろいものがないという問題がある。 あと、多少良くできていても、無茶さがないものは慣れて飽きる。 1回完結のものはなおさら飽きやすい。見る動機も出てこない。

21時21分。あと40分でつく。あと2時間以内には家に着く。 これ以上何かを見る時間はない。 着陸開始までここで日記でも書いていることにしよう。

まったく寝なかったが、予定通りだ。 家につくころにはオタマは寝ているかな。

カールじいさんは本当最悪だ。あんなの、最初の10分だけで 心に刺さるに決まってる。 そして、それは演出がどうとかいう以前に題材と、 それを受け取った受け手の体験の問題だ。私が生きている現実の問題だ。 それが腹立たしい。 そして、最初の10分以外はすべて暇つぶしだ。 ずいぶんと豪華で手の込んだ手に汗握る暇つぶしで、 そのことにどうしようもなく腹が立つ。

そういえば、飛行機の子供は結構ずっと泣いていた。 周りは誰一人として眠れなかっただろう。 子供もかわいそうだ。

2012年3月10日

タイルベースレンダリングなハードと、 メモリにいきなり書き込むハードの比率は 5年後にはどうなっているだろうか。 メモリアクセスコストが相対的にどんどん高くなり、 タイルベースレンダリングがそうでないものに比べてメモリアクセスが小さいならば、 タイルベースが勝つ、ということになる。 そんなにメモリアクセスに差があるんだろうか。 速くなるのはフレームバッファ書き込みとZテスト周りだけで、 どちらもテクスチャ読み込みに比べてアクセスパターンを予測可能なので レイテンシは隠蔽しやすかろう。 性能というよりは電力の問題と、 高速なメモリを用意しなくていいコストおよびサイズ面の 有利性の問題だろう。 テクスチャ読み込みはどちらでも同じようにメモリを読まねばならないわけで、 そっちのデータ量が十分大きければ、 ROP周りのデータ転送量が減っても効果は高が知れているということになる。 そのへんどうなんだろう。

いやでも、MRTとかUAVとかいう話になるときついよなあ。 でも、それらの機能がどれくらい客にとって意味を持つかという問題もある。 メモリが丸ごとチップ内に入るようになれば劇的に状況が変わるのだろうが、 そうなるのがいつごろになるのかはわからない。

GDCの記事がいろいろあって、 英語が取れなかったところを拾ってくれていたりして助かる。 しかし、記者さんは当然専門家ではないので、英語が取れていても意味が 取れていないことがある。「あれ?オレ、なんか間違ったか?」と不安になるが、 たぶん技術的なところではこっちの解釈でいいんだろう。

開発効率を上げなくてはいけない。 そのためには試行錯誤のループを圧倒的に高速化しなくてはならない。 作業工程を完全に洗いなおしてボトルネックを解消する必要がある。 単位作業あたりの所要時間を減らさなくてはならない。 今やっている仕事のうち自動化しても商品価値に大きな影響を及ぼさない 部分を自動化するとともに、商品価値に寄与しない作業をそもそも しないようにしなくてはいけない。 仕事の依存関係を減らして待ち時間を減らさなくてはならない。 今日の講義にもあったように、ツールやデータの不具合が他人にかける迷惑を最小化する ような開発体制の設計が必要だし、それに先駆けて最大の依存関係である 人間同士のコミュニケーションを見直さなくてはならない。 誰と誰の間にコミュニケーションが必要で、それをどうやって行うのか、 という組織のあり方を洗いなおさねばならない。 技術で解決する部分もあるが、大半はドラッカー的な意味でのマネジメントの問題だ。

いまさらだが、名刺にチーフプログラマと書いてあることに気づいた。 うそじゃんこれ。部下なんて持ったことないぞ。

2012年3月9日

両声類、あれいいな。理屈はわかる。 たとえば声帯の長さを半分にすればオクターブ上がる。 あとは響きをいじれれば音色を変えられる。

朝はバナナとグラノーラと会場の水。 グラノーラは普通に食えるが、この量で7ドルはつらい。

音の伝播を計算する話。 回折に特化して壁やら距離やらを前計算で表にしてやっていた。 大したものだ。

音は録音を垂れ流すだけなら大して負荷にもならず、 ちょいとフィルタをかけるくらいでおしまいにするのが普通だろう。 しかし、それでは臨場感を演出するのは難しいし、 逆に、遮蔽や回折をそこそこ表現できればゲームの幅も広がる。 とはいえ、やっぱりそこに負荷も金もかけられないとなると、 打てる手は限られてくる。

絵と話は似てるんだよな。GPUでできるんじゃないのか。 センサーに関しては絵だとピクセル数で100万個とかあるが、 音だとたかだか5個かそこらでいい。 そのかわり、周波数は絵だと3つでもそこそこいけるが、 音ではもっと増やさないとたぶん駄目だ。 また、絵では二回反射まで計算すればそれなりにどうにかなるが、 音は二回ではぜんぜん足りない。 あと、絵ではほとんどの物体が不透明だが、音に関してはほとんどのものが半透明だ。 壁の後ろにいてもそれなりに音は聞こえるのである。 加えて絵では回折がほとんど無視できる一方、音ではそれが支配的な効果になる。 さらに、絵のセンサーは絞りがあって方向が限定されるが、 音のセンサーは拾う角度がでかい。 似ているようでいて、似ていない。しかし、波が伝わるという基本から 出発すれば、計算モデルを構築する手順そのものは同じでいい。 できるものは似ても似つかないにしてもだ。

並列化可能なアルゴリズムといえばレイトレだろう。 音でも適当にレイトレすれば一応それなりにはなるんだろうな。 半透明が大量にあると考えるとラスタライズは使いにくいし、 回折によって空間周波数は下がるので、なんか低周波向けの素敵数学を 生かせる予感はするがよくわからない。 音源からシャドウマップみたいなものを描いてそこから点音源を生成、 みたいなアプローチは半透明と回折がきついので向いてない。 やっぱりレイトレだよな。

出力するデータは、 それぞれの音源について複数の、方向、音量、フィルタパラメータ、遅延時間、 の4つのパラメータを得て、あとはいつもどおり音を鳴らすだけになる。 たとえば64音鳴らせるなら、音量がでかい順に64個鳴らせば たぶんそんなもんだろう。あとは 適当なインチキ計算でアンビエント項を求めて、それをリバーブとして かけておけばよさそうに思える。 計算自体の頻度も10Hzもあれば十分だろう。何フレームかに一回 ちょっとGPUに時間を割いてもらって、間は補間でいいし、 それすらいらないかもしれない。

なんかできそうなんだがなあ。かけられる計算量に応じて精度もスケーラブルに できそうだし。ただ、音用の壁データを別途作るのが面倒くさいのと、 壁ごとに吸収率みたいなパラメータを設定するのも面倒くさい。 そのへんは適当に自動で放り込んでもそこそこにはなりそうだが。 でもまあ、試す時間なんてないので、誰かやって発表してくれ。

C++11。右辺値参照と、 テンプレートで引数を右辺値参照にすると元の型がそのまま伝わる奴。 そりゃ便利だろうよ。条件がそろえば使う。 使うコンパイラが全てそれをサポートして十分枯れていることと、 周囲の人間がその文法を理解していることが条件であり、 それが満たされるには5年くらいはかかりそうだ。 やるとしてもコードが書き捨てになるアプリ側からだろう。 そして、最大の目的である性能がほしければ あんな書き方をしなければいいだけのことであり、 差し迫ってあれが必要な状況にはない。 空で作って中に初期化してもらう関数を作れば済む話で、 それがそんなに可読性を落とすとも思えない。 基本、私は中でnewするクラスは全部コピーを殺す。 そうしておけば事故は起きない。

とか言うとまた叩かれるんだろうな。

記憶することのコストが安い人間ほど、たくさんのことを覚えてそれを さまざまな状況で使い分けることを好むようになる。 できるプログラマはたいてい記憶コストが低いようで、 勉強という言葉を「新しい何かを知って覚えること」と考えている気がする。 しかし、記憶コストが高い私みたいな人間にとっては、 アンテナを敏感にして新しいことをバンバン吸収するやり方はきわめて非効率だ。 数少ない道具を繰り返し修練して体の一部にし、 新しい状況にはその応用によって対処する方が楽である。 昔読んだ軍事系の本には、 「強い軍隊は得意技(ドクトリン)を持ち、それを応用して戦う」 と書かれていた。私もそれでいい。 もちろんそれで対処しきれなくなるケースでは新しいことを覚えねばならないので、 GDCやらCEDECやらを利用して知識の更新を行わねばならないのだが、 それにしたって普段から修練して自分の一部になっている分野でない限り、 そこで得た知見をきちんと役立てることはできない。

さすがにいいかげんわかった。 他人が作ったものを理解しないままで使うのは私には無理だ。 いろいろな制約からそれが必要な仕事はあるが、私以外がやればいい。 向いている人はいくらでもいる。 私はたぶんオープンソース開発にも不向きだ。 根本的にプログラマじゃないんだと思う。

cos(30度)=0.5が不思議だ。0.5になるような角度を30等分して 度という単位を作ったという話の順序なのだろうが、なぜ30なのだろう。 10でもよかったはずだ。円周が120度というのは悪くない。

根本的に60進法がどこから出てきたのかわからない。 約数が多くて便利だという程度の理由で、10進法を選ばなかった 古代バビロニア人の考えを知りたい。

始まってからは誰もコメントしないなあ。 反応がほしければtwitterに書けということか。

いろいろ反省。やっぱ不必要にしゃべっちゃだめだ。

PRTを動かす話。PRTそのものをやったことがないのでピンと来ないが、 おぼろげながらに想像はできる。 しかし、やるとしたらPRTからで、そもそもSHに焼くところから やってみないと実感がわかない。オフラインのレンダラーを作る経験がないと ダメだということは間違いない。ラスタライズとレイトレの違いを知るには、 両方をやってみなくてはダメだ。

バグで作業がとまる害を最小化しようという話。

まず、ダメなデータのせいでとまるときには古いのに戻せば動くべきだ。 プログラムだけが新しくなっても、データだけが新しくなっても、 いずれの場合でもとまらず動くべきである。 それを可能にするためには、構造体のメモリイメージをそのまま 構造体のメモリにコピーするようなデータの読み方はやめねばならない。 メンバを一個づつ読み込んで構築すれば互換性は取れるので この問題は解決するが、今度は読み込みが遅くなる。 そこで解決策として、データとプログラムのバージョンが同じなら メモリイメージコピーで済ませ、そうでない時は メンバごとに読めるようにデータ構造をデータに入れておく、 というハイブリッドな手法がある。 なるほどと思う一方で、構造体のデータレイアウトなんて コンパイラ依存だと機種別バイナリになって面倒くさい。 C++の構造体のメモリレイアウトって実装依存要素ないんだっけか。 そこが解決しない限りは多少遅くてもメンバごとに構築するしかないよなあ。

assertの話。プログラマの手元であれば不正終了してもいいが、 プログラマ以外のところで不正終了されてもどうにもならない。 そこで、極力とまらずに動くようにすると共に、 異常が起こる前からプログラムの実行状況をバンバンサーバに送るようにし、 異常が起こったらそのときの状況をできるだけ詳しくサーバに送る。 誰のコードなのかがわかるような仕組みがあるとなおいい。 コンソールに文字列を吐く、というのはプログラマの手元を離れてしまえば 使えない手だし、ファイルにログを吐きまくると遅くなりすぎる。 そこでネットワークを使うのが賢い、ということだ。それならゲーム機でも動く。 小規模の場合、ファイル名がわかれば担当も一意に決まるので 誰のコードか、ということに関しては問題ないな。 また、サーバにしても、単に同じマシンで別プロセスでログ受け取りプログラムを 走らせておく程度でも十分効果がありそうだ。 チームに中央サーバを用意して、データベースにつないで、 なんてことになると面倒が多すぎる。

サーバの話をさらに進めて、 エディットツールなどの類も極力サーバを介するようにすると プログラムが単純化でき、後ろにデータベースを置けばエディットした過程を ダイレクトにセーブできるし、アンドゥなども容易く実装できるとのこと。 なんかそんな気はするが、そこまで凝った作業環境を作ったことも見たこともないので、 実際にやったらどうなるのかはあんまりピンと来ない。 少しづつだな。こういう手法がある、ということを心の片隅に置きつつ目の前の問題を ひとつづつ解決していくしかない。

GDCが終わった。いろいろ勉強になったが、すぐに使えるわけではない。 「心の片隅においておきつつ、とりあえず目の前の問題をどうにかする」ということだ。 たいてい上等な技術は下等な技術の上に積み重なっており、 下等な技術の理解なしにいきなり上等な技術を導入できるわけではない。 たまにそれまでの技術が無意味になるような変化が起こることもあるが、 相当稀だ。市場の変化によってある分野の技術が無意味になる ことは珍しくもないが、ある分野の技術が不連続に進化することは まずない。新しい技術を試すには、その前の段階の技術を理解しておく必要がある。 中身がわからないまま実装しても運がよければあっさり動くが、 たいていは一発では動かず、何が悪くて動かないのかもわからないまま えんえん調べる羽目になる。そして、どうにか動いたとしても、 運用上の問題がまったくない技術なんて稀なわけで、 運用していく上ではさまざまな問題が起こる。 そのときに中身を理解していないことは確実にマイナスになるだろう。 普段からきちんと積み上げてこその技術だということだ。 その積み上げがない状態で「あのゲームではやってるじゃん」とか言って真似しよう としてもうまくいくはずがない。おこがましい。 後からついていくのは先頭を走り続けるよりもよほど楽なのだが、 それでも走ることに変わりはない、ということだ。

よくわかった。甘い見積もりは通用しない。うまい話はない。 あと、改めて市場の変化速度がヤバイことが身に染みた。 だがこの変化はチャンスだ。チャンスにできなければ死ぬ。

現金が20ドルしかないぞ。ちょっと待て。なぜだ。もともと290ルあった。 本が75ドルで、夕飯が35ドル、32ドル、9ドル、24ドル、30ドル、だよな。 足すと、205。バナナやら何やらの買い物にいくら使った? 40ドルくらいは使ってるよな。なんだかんだ言って。じゃあ、こんなもんか。 schleichはカードで買おう。明日タクシー代を割り勘すればほぼなくなるだろ。

もっと本買っておけばよかったかな。中身を見て英語の本を買えるチャンスなんて ここくらいしかない。そもそも日本にいるとどういう本が あるのかすらわからないわけで、 何を買おうかと選べる機会はやはりここしかない。 結構改訂されていたので、それも買っておくべきだった。 ただ、昔のように金に糸目をつけずに、という気分にはなれないんだよな。

日本語の壁のせいで世界の人材も活用できず、 雇用慣習のせいで人材の流動性は上げられない。 この二つは企業単位の取り組みで短期的にどうこうなるものではない。 これを前提とした上で戦い方を考えないといけないのか日本人。 日本を出て行くのが一番手っ取り早いわけだが、 それらの制約を強みに変える手段が絶対にないとは言えない。 というか、ある。

2012年3月8日

infinite bladeのグラフィックス最適化。大変参考になったが、 あんなに中身のことって公開されてたっけか。 されてるんだろうな。PowerVR最適化ガイド、みたいな文書が どっかにあるんだろう。 趣味で誰かの役にも立つだろうし、この講義の概要を後でここに並べておくことに しようか。でも、誰かがもっとましな記事を書く気はする。

PowerVRの説明文書があった。

OpenGLES HaltiというのがES2.0の次らしい。なんで3じゃないのかは知らんが、 GL3相当のもののようだ。しかし、webで調べても名前しか出てこない。 1年やそこらはES2で行くことになるんだろう。

GLのCPUオーバーヘッドの大きさは異常。せっかくESになったんだから、 そのへんは改善すればいいのに。エラーとってくるだけでべらぼうに重いからな。 1フレ100から300のdrawCallでいっぱいいっぱい、というのはさすがにつらいだろう。 インスタンシングもないわけで。

zyngaの基調講演。誰だってつながりたいということ。 ゲームをやれる機会が多いほどいいということ。 タダであるに越したことはないということ。 この三つが鍵であることを認識できたのはありがたいが、 ほかに内容はなかった。しかしこれだけあれば十分だろう。

思い返せば、ギャルゲーの類にしても誰とも そのゲームについて話す機会がなかったとしたら 私があれだけ数をこなしたかどうかは疑わしい。 それはアニメを見ることですらそうだ。一人で見るものであっても、 そこにはソーシャルな要素がある。人と遊ぶ、 と言うと一緒に同時に遊ぶことばかりが思い浮かぶが、 ギャルゲーの感想を話し合うのはコンテンツを消費するのとは時間的にずれているし、 これがweb日記になればコミュニケーションすら非同期になる。 つまり、つながりは同期的であるとは限らないし、 作られたコンテンツそのものにコミュニケーションが 組み込まれている必要すらない。それがネタになるだけでもすでにソーシャルである。

次に、機会が多いことも重要だ。 私は仕事をするようになってゲームをやる時間がてきめんに減り、 結婚してこれがほぼゼロになった。 私に残された時間は電車に乗っている間だけであり、 この状況でできることといえば読書くらいである。 別にゲームでもいいのだが、私は「感想を言い合う」という 非同期な遊びに慣れ親しんでしまったためか、 ゲームそのものにソーシャル性を求めていない。 読書は勉強にもなるし、web日記に感想を書けば誰かが反応する可能性もあって 微妙にソーシャルである。結婚してからはひつじこと本の内容について 話すこともあるので、なおさらソーシャル性が増した。 まあこれに関してはひつじこが興味がないケースが多く、 オタマの世話で忙しいとひつじこがイラついたりもするので難しいのだが。 ともかく、私のように時間を好き勝手にできない人間はいくらでもいるし、 時間が空いた時に手元にアクセスする手段があることは致命的に重要である。 その意味で、電話のようなものでやれることは圧倒的に有利だ。 そして、電話のようなものでゲームができることが当たり前になれば、 わざわざテレビの前に座ってやることは廃れざるを得ない。 映画館とテレビの関係のようなものだ。私は映画の中身に興味があるのであって、 臨場感とか画質とかはまったくもってどうでもいい。3Dも何の魅力も感じない。 電話でゲームをする人が、テレビにつなぐゲームについて同じように言うことは いくらでもありうるし、そもそも私がすでにそう思い始めている。 だからといって電話でゲームはしないんだが。

最後にタダであること。テレビは宣伝が入ってウザイわ、臨場感はないわで 映画に劣ることはなはだしいわけだが、タダなので普及し、映画をほぼ殺した。 人は金を払わなくて済むなら払わない。そのために多少の不便は平気で我慢する。 道徳についていくら叫んでも無駄だ。どんなに文化的な国民であっても状況は大差ない。 マジコン騒ぎを見ればすぐわかる。 害を与える人の姿が目の前に見えない状態で自制する能力は人類にはない。 それは人間を超えることだ。 うちらは海賊行為がうちらを殺すことを知っているので自分 ではしないようにできるかもしれない。 しかし、それで親戚や友達を説得できる自信はない。 人間の性質を認めるならば、タダであることが、 タダでないことよりも圧倒的に普及のために有利であることを認めなければならない。

もちろん具体的に個別に見ていけば、 高い金を取る上質なコンテンツが生き残る道はあるし、 映画と同様完全に死に絶えるわけでもない。 しかし、時間が経てば経つほど、タダで提供されるものの質は上がる。 少なくとも取って代わるものが現れるまでは品質は上がり続ける。タダのままでだ。 テレビの質が最近劣化しているとすれば、それは新しいものが現れて 人材や資源を奪っているからである。 そうなるまではテレビは娯楽の王者だった。映画との差は広がる一方だったのである。 有料のゲーム機のゲームと、タダであらゆる機械でできるゲームの関係も、 同じようになる可能性が高い。もちろん繰り返すが、個別の状況を見れば 生き残ることもできるだろうし、逆に優位に立つこともできるだろう。 しかしたとえば「対GDP比」のような大きな指標で見れば、 もはや状況を覆すことは不可能であると思われる。

難しいのは、ここで個々の会社なり個人がどうするかだ。 成長を求めるなら、時代の変化に追随する以外の選択肢はない。 その結果しくじって死んだとしても、 それは成長を求めるという決断をしたのだから仕方ない。 しかし、目的を「生き残ること」とする場合は必ずしも明らかではない。 時代の変化に追随しようと思っても、する能力がなければ失敗する。 能力以上に重要なのが、本気になれるかだ。 個人でも組織でも、本気になれなければ失敗する。 組織が本気になることはことのほか難しい。 本気になれない人材を排除するか、少なくとも隔離せねばならないからだ。 中途半端に手を染めて死期を早める可能性は高かろう。 しかし判断を保留して古いやり方にしがみついていれば、 縮小しつつも生き残れる可能性がある。個人であれば、 現状のスキルとやり方のままでも、 それ以上金を稼ぐ必要がなくなる時まで時間稼ぎをできれば勝利である。

さて、私はどうする? これからの時代70まで稼がないと金が足りなくなると考えるべきだ。 70まで金を作れる何らかの軸を持たねばならない。 具体的なスキル自体は枝葉末節で勉強する時間さえあればどうにでもなるが、 長期は短期の連続であり、 直接金を稼ぐ手段であるスキルは軽視できない。 したがって5年後あるいは3年後に金を稼ぐスキルは今用意する必要がある。

XBOX Liveの話。違う機械で同じゲームをしたり、 一緒に遊んだりできるような仕組みの話。 ゲーム機でゲームして中断して、続きを電話でやる、みたいな。 しばらくはMSやらgoogleやらappleやらがバラバラにそういうことをするにしても、 そのうち勢力が収束してくるんだろう。 異なる機種で一緒に遊べるようにすることは重要で、 たぶんオタマが物心つくころにはそうでないことが信じられないという くらいに当たり前になっているだろう。 一方で、一人が複数機種を使うことはどれくらい重要かはよくわからない。

スクエニというかeidosというかの技術開発の話。 結局それぞれの現場がそれぞれの現実に直面しているので、 ひとつの正しい答えがあって、それを全部に押し付ければいいというものではない、 ということ。何がグローバル化できて、何ができないのかを常に考えるべきだ。 下手に共有化することでいらない依存関係が生じて足止めを食うのは駄目で、 それくらいならバラバラにやった方がマシということはある。 しかしそれはそれとして、知識の共有を図っていくことが絶対に必要で、 それくらいはできるはずだ。専門家ミーティングをするとか、 技術webサイトを作るとか、そういう工夫はさしたるコストもなくできる。 また、技術の開発は、効率を上げて反復と試行錯誤を高速化する方向で行うべきで、 たとえば実行中にデータを入れ替えられたりするようにする仕組みを 作ることには大きな価値がある。 基本、この変化の激しい時代に開発サイクルを長期化させるのは愚かであり、 それを短くするためにこそ技術を使うべきだ。

まったくもってもっともだ。ただ、そう簡単に実践はされない。 完全にバラバラで放置状態になるか、 中央が強権を発動してバラバラにやることの利点を全てつぶすかの どちらかなら簡単だが、その間はなかなか取れないものだ。 会社の中枢部がそういう事情について理解する可能性は低い。 そういう事情をわかった人間に任せてくれればいいが、そうなることもおそらく稀だ。 さらに、仮にそういう人間が多少力を持ったとしても、 それぞれの現場のそれぞれの現実があらゆることを邪魔する。 でもスクエニはすごいな。ああいう発表をするということは、 少なくともああいうことをわかった人間に権限を与える決断を中枢がしたということだ。 その先の困難は残るにしても、そこまで進むだけでも相当稀なことだろう。 たいしたもんだと思う。

きっと、リーダーシップってのはある所にはあるんだろうな。 私がそれを見たことがないのは幸せなことなのか、それとも不幸なことなのか。

グラスマン代数の話。 そうか、ベクタとベクタの外積はベクタじゃなくてバイベクタだったのか。 4次元でのバイベクタが線で、トライベクタが面で、 それらで同士のアンチウェッジ積をとると交差点が出てくる。 理屈はさっぱりわからんがすごくおもろい。 複素数を導入したことで今までバラバラに見えていたことがつながって 感動したことがあるが、まじめにやればそういう感動が味わえる予感がある。 しかし、実際問題使って利益があるのかどうかはまったくわからん。 演算誤差の問題を回避して線分と三角形の交差を求められるというが、 結局0付近での誤差の扱いは必要じゃないか、とか。 いちいちクラスなんかにしてたらオーバーヘッドで台無しだろ、とか。 そして、wikipediaで調べても何のことだかさっぱりわからなかった。 なんかいい本あるんだろうか。

トライエースのはCEDECと同じ話っぽかったので、 最初だけ聞いて「うわ、本当に英語で講義しとる、すげえ」とか思いながら出てきた。 後で資料が上がったら確認しよう。

夜は会社の別の部署の人とアメリカご飯。 やっぱり疑問なのだが、アメリカの外食産業ってなんで存在できてるんだろう。 そのへんのダイナーだとハンバーガー9ドルとかだぞ? もちろん、セット的な感じでおまけがついてはいるのだが、 飲み物は別だし、消費税は10%近いし、チップで15-20%は上乗せせねばならない。 今日の食事は16ドルの定食的なものと牛乳を頼んで、24ドル。 牛乳が低脂肪乳ですらない加工乳なのに絶望した。 食べ物は、焼いた豚肉に地中海的なパンと、野菜が乗った皿。 なんたらプレート、というのがアメリカで言う定食なのだろう。 味はそこそこおいしいのでそこに関して文句はないし、 肉も多いのでそれはいいのだが、しかし24ドル。 これを常食できるのはいったいどういう階層の人間なんだろうか。 あるいは、実はすごくインフレしてるだけで、 給料もこれを相殺するくらい高いんだろうか。 確かにアメリカのインフレ率は2%くらいあるはずなので、 0%のまま20年過ごした日本と比べれば額面は相当上がっているはずではある。 だとすれば、アメリカの物価が高いのではなく、 日本人が貧乏なだけだということになる。 あーでも最強国家だもんな。失われた20年で衰退中の日本 に比べればそれくらい差がついててもおかしくない気はしてきた。 でも電化製品の値段は日本と大差ないわけで、 アメリカでは相対的に日用品が高いということになる。 ノートも1.3ドルとかしたしな。 この土地のせいで、もっと田舎に行けばどーんと安くなるのかもしれないが。

昨日のスパゲティも一皿20ドルとかする割には少ないし味は普通だった。 20ドルと言っても、実質で考えれば25%増しで25ドルである。 日本の感覚では「ねえよ」というレベルだろう。

ちょっと調べてみて、地域格差でほぼ説明がつくっぽいことがわかった。 地域ごとに物価が数倍違うらしい。 このあたりは家賃が平気で20万円を超える。店も家賃を払っているわけで、 価格転嫁せざるを得ない。 が、やはりわからないのは、明らかにたくさんいる貧乏な人たちが いったいどうやって生活しているのかだ。 この値段では、中流程度の人間はまともには生活できないはずである。 郊外の巨大スーパーで大量に買う、ということをちゃんとしているのだろうか。 それとも、カードに頼ってじわじわと負債を増やしているのだろうか。 とりあえず、外食店が普通ににぎわって見えるのは、 財布がゆるくなった観光客が多いからだということにしておく。 まして今はGDC中であり、客の何割かはGDC参加者のはずだ。

日本の外食が安すぎるのであってアメリカの外食の値段は正常、という意見もある。 それはそうかもしれないが、高くてサービスの悪い店になぜ客が入るのか、 という疑問が残る。外食率みたいな統計はないかな。 若い独身男性がコストコで大量購入しているとは考えにくいのだが、どうなんだろう。

まあ今回外食コストが高いのは、ゆっくり話すために まともな店に入っているということがある。 フードコートやファーストフードを選べば 夜でも10ドルで食えるのだろう。たぶん。

2012年3月7日

食い物が高い。この国、一人暮らしで家で食事をしない生き方をしてたら 大変なことになるんじゃないか。

確かに言われてみれば日本人が少ない気がする。アジア系っぽい人は大抵 中国の人な気がする。それにしても思うが、結構顔が違うんだな、日本と中国。

GDCは若い技術者ばっかり行っちゃダメだろう。 事情はわからんでもないけどな。 英語がわかる率はおおよそ学歴に比例し、 学歴はある程度若い方が高く、かつプログラマは他職種に比べて高い。 私も英語はダメだが、私なんて比にならんほどダメな人はたくさんいて、 そうなると講演を聴くというより前のスライドを追うだけの状態になる。 さらに英語を読むことすらままならないレベルの人だとそれすらダメだ。 英語力というのはなかなかに面倒なスキルで、 ないよりあるほうがいいが、そのために会社として金をかけるべきかどうかは 判断が難しい。 しかし、今まで見てきた感じ、海外とかかわりを持ちうる人間には 英会話学校に通わせて50万かそこら使うくらいの価値はあるように思う。 通訳を通さねば意思疎通ができない状況は極めて非効率だ。 ましてメールすらすべて翻訳を通さねばならないとなればなおさらである。 全員ができねばならないとは言わないが、一定の比率で英語を使える 人間を配置することは理にかない、そのために金をかけることも 合理的だと思う。すでにいる人間を教育するのは非効率で、 そういう人間をとったほうがいい、という意見もあるだろうが、 そういう人間を取れるか、ということからして怪しいし、 仮に今からそういう人間をとり始めたとしても、 そういう人間が戦力になるには数年かかる。間に合わんぞ。

ネット遅い。人が昨日に比べて相当増えているからだろう。

展示とか見ていると、いろいろ考える。 CG技術で飯を食う人間がいる、というのは前からそうだが、 CG技術で飯を食う会社がある、ということについてはもうちょっと考えた方がいい。 それだけやってる連中に、生半可な投資で勝てるはずがない。 単純な技術力では絶対に勝てんし、勝とうとしても効率が悪い。 製品の魅力で勝つことが最優先で、そのために一番効率がいい戦い方をしないと どうにもならないだろう。

Cryエンジンがデモしてて、面光源を動かしていた。 ソフトシャドウがそれと一緒に動く。 何をやってるんだろうな。

新しいことが素敵数学や素敵技術で何の犠牲もなく達成できることも稀にあるが、 稀だ。大抵の技術進歩は、何らかの特徴に着目して目的を果たすために 犠牲にしていい部分を見つけることで行われる。高周波を犠牲にするSH、 低周波を犠牲にするスクリーンスペース手法の数々。 ディフューズとスペキュラという単純化も、 その間に無限にあるものを犠牲にしている。魔法はない。 近似誤差をどこに押し付けるかという問題だ。 最近では計算機の速度向上すらがタダとは言いがたくなりつつある。 並列度の高いマシンを生かすには、 並列化プログラミングをする労力をかけねばならない。 うちらの能力は有限だ。目的を果たすためには、もっと犠牲にするものに注目すべきだ。 捨てなくては得られない。何もかもを改善することなんてできない。

やってりゃそのうちできるんだろう。大抵の技術はそう思える。 しかし、「そのうち」を待つことはできない。

いかん。寝不足だこれは。体調がよくない。

関数を近似する、ということを何のためにやるかといえば、 近似する前の関数のデータ量が多いとか、 計算量が多いとかいう嫌な性質があるからだ。 近似精度と計算量のバランスを選べて、復元が高速で、 できれば近似も高速で、復元結果が滑らかだとうれしい。 滑らかでなくていいなら適当にサンプルを取ってきて補間しなければ良いが、 それは話にならんわけで、滑らかさは絶対だ。 で、激しくデータを削るならSHやらフーリエやらであまり困らない。 薄ぼんやりしててもいいからだ。逆にあまり削らないなら、データを半分に間引いて 適当に補間とかでもあまり困らない。どうにかしたいのはその中間だ。 しかし、中間の近似をしたい理由があるかというところを考えないといけない。 いわゆるディフューズは薄ぼんやりしていてかまわないわけで、 SHで問題があるとも思えない。復元がもうちょっと速いとうれしいが、その程度だ。 というわけで、比較的ぼんやり気味のスペキュラだよな。どうにかしたいとすれば。 しかし、復元の計算量をぎりぎりまで削ろうとするとメモリ量を犠牲にして キューブマップにせざるを得ないわけで、今の状況で困っているのは フィルタリングの遅さくらいのものだ。 そこが劇的にどうにかなるなら確かにおいしいんだろうが、どうなんだろう。 中途半端な次数のSHは波打ちまくって話にならんわけで、 そこが解決するなら中途半端な次数のほかの何かを使うのもアリかもしれない。

inferred lighting、light pre-pass、 あたりの定義があいまいなのであとで調べておく。おおよそ想像はつくんだが。

処理がきついから低解像度に落として引き伸ばす、というのはあんまり好きじゃない。 しかし、低周波なものは低解像度で、高周波なものは高解像度でやって うまいこと混ぜられるならそれもいいんだろう。 問題は、輪郭の内側は低周波だが、輪郭そのものは高周波という問題だ。 Discontinuity Sensitive Filterというのはそのへんを どうにかするために出てきたものだろう。 しかし、いろいろ面倒くさい割には効果が限定的になりそうな気はするな。

アーティストが作ったものを1秒以内にゲームに反映させる環境を作る話。 まず、ゲームそのものを再起動せずにできるようにすること。 次に、データ生成を部品単位で分けて、1枚絵を書き換えただけで100枚 絵を含んだファイルを丸々作り直す、みたいなことをなくすこと。 もちろん売るときにはロード時間を減らすためにくっつける。 あとは、ゲーム機のネットワーク機能を使って送りつける機構を作ったり、 動いてる最中に一部の素材だけ取り替えても大丈夫なつくりにしたりといろいろやる。 まあ当たり前のことの積み重ねだよな。 ここまでやるのが面倒だとしても、 再起動不要なつくりにすることと、データの生成を極力高速化しておくことくらいは やっておいた方がいいだろう。 しばしばデータ変換ツールの類は速度を度外視して作られがちであり、 そのへんの態度を改めてまじめに作るだけで劇的に改善したりもするものだ。

途中で抜けてアンチャーテッドの水の話を聞きにいった。 単なる波シミュレーションだと海の波みたいなものはできないので スプラインを入力できるようにする。 あとは、カメラからの距離によってポリゴンの粗さを変える工夫をし、 それをSPUに投げて高速化する。 本当、いろいろやってるな。たいしたもんだ。 波が船の中までめり込んでくるときの工夫の話もあったが、 そういう面倒がきっと山ほどあったんだろう。 本当よくぞここまでと思うが、それはそれとして、 水面が不透明だとやっぱり水っぽくないな。 水面の泡がべったりと張り付いている上に、 水面の変形に応じて伸び縮みするのが不自然だ。 どうすればいいのかはまったくわからないが。

Saint Row3の描画技術。低解像度でライティングだけ済ませて、 何か素敵技術を使ってボッケボケやジャッギジャギにならないように引き伸ばす。 そういう話っぽい。 800x450から1280x720まで引き伸ばしてもそんなに気にならないとすれば たいしたものだ。最終パスはフル解像度なのでMSAAの恩恵も受けられる。 雨もライティングしてるらしい。おもろい。 Radial AOって何だろうな。後で調べる。 後半は自動ポリゴン減らし処理の話。 遠くのものは小さく写るのでポリゴンを減らしてもばれないが、 少ないポリゴンのものを別途作ると手間だ。 だから自動で作るという話である。 やったことがないのでわからんが、いろいろ面倒くさそうだ。 仮想的な二次曲面からどれくらいずれたかでポリゴンを削ったことの 悪影響の度合いを見積もるらしいのだが、 二次曲面が平面に近いときには演算誤差でえらいことになったりする。 考えるだに面倒くさい。テクスチャ座標だって当然ずれるだろうしなあ。 そして、自動化するとどうしても人間が見て気にいらない部分が出てくるわけで、 そういう時にどうするかも面倒くさそうだ。パラメータを与えたりして 自動装置に介入を許したりするようだが、これも考えるだに面倒くさい。

広い建物なんかでは、場所によっては窓があったり、電灯があったり、 壁が緑だったりと光の加減が違う。それを前もってデータとして 持っておくにはSHを格子状に用意しておくのが単純だが、 どうしてもデータが多くなる。 そこで、好きな場所に適当にデータを置いても大丈夫な 手法がほしくなるわけだ。この講義では四面体に分割することで それを実現する手法が紹介されている。 確かにあれならきれいにやれそうだが、 前処理が面倒くさそうだ。 そしてそもそも、あの手の手法は地形に比べて 動く人や物が十分に小さくないと使えない。 格子状においてしまえば、やろうと思えば頂点ごとに 別のデータを使うこともできるので、 今の機械でどうかはともかくとして「十分に小さい」 という前提を取り除ける可能性がある。 ところで、英語がよくわからないので確証がもてないのだが、 ずいぶん長いこと補外の説明をしていた気がする。 でも、十分外側になにかしらデータをおいておけば補外はいらなくないか。

八分木とかkdtreeとかでできないのかな。確かにあれほどの柔軟性はなく データも増えるが、検索が確実にlogNで終わるし、実装は単純だ。 どうせCPU実行なんだし、多少データが増えても気にしなくてよくないか。 八分木くらいならそのうちGPU化もできるかもしれんし。

SHの代わりに使える数学手法を提案する講義。 わからなすぎて笑えてくる。数学足りねえ。それ以前に英語だが。

ストーリーはわかる。SHは広がりすぎるし波打つしで不便なので、 もうちょっと広がらず、波打たないものがないか、という話だ。 用途から考えれば、SHみたいに数学的に美しい性質を持つ必要は必ずしもない。 近似が高速で、復元が高速で、データ量や計算量と近似精度のトレードオフを 自由に調整できて、球面上で偏りなくきれいな関数であれば、 あとは結構なんでもいい。 「無限に次数を上げれば完全に復元できる」とか、「基底が全部直交してる」とか いう性質は、実用レベルで問題にならなければ数学的には満たさなくてもいいのである。 で探して見つかった結果がアレらしいが、まったくわからん。 とりあえずわかるのは、waveletがわからん奴には無理だということだけだ。 waveletは100%周波数ドメインなのも、100%空間ドメインなのも困る、 という事情で出てきたものだろうから、話の構造は一緒だ。 needletなる言葉も出てきているし、 たぶん似たような何かだろう。とりあえず今の私が背伸びしても無駄だ。 本当に使えるものなら誰かが使うだろう。それがメジャーになって本にでも なったらそのときに考える。 「使ったらこんなに改善しました」みたいなデモすらない状態なわけで、 今からがんばっても割に合わない。 ただひとつ気になるのは、球面に関する積分にガウシアンなんたらというのを 使っていたことだな。モンテカルロと明示的積分しか知らなかったので、 あれが何なのかは気になる。それだけは調べておこう。

でも、用途から考えてみれば、球面状の関数を近似で圧縮したい場合、 その使い方は結構限られている。 激しく圧縮してデータを削りたい場合、SHでもあまり困らない。 全体に薄ぼんやりしてくれる性質はむしろ望ましい。 逆に、あんまり圧縮しないならキューブマップでいい。 というか、低次のSHであっても、復元が案外重いので 結局キューブマップに直してしまったりもする。 帯域がずっと高くつくようになれば別だが、 現段階では結局は何もかもがキューブマップだ。 確かに中途半端にデータを削りたい場合、 キューブマップそのままだとフィルタリングが重く、 SHにすると波うって困る。 なので、この中途半端な領域をその素敵数学でどうにかできるならおいしい。 結局キューブマップにするとしても、 スペキュラ向きのフィルタリングをSH並みに高速にやれる 性質があって波打たないとしたらうれしいはずだ。 でも、どうなんだろうな。

それにしても英語はすぐアルファベット3文字に略す。 しばらくすると何の略か忘れるので困る。 忘れる私が悪いのだが。

英文の中に人名のような固有名詞が混ざると聞き取れなくなるな。 単語認識がそこで止まって、その後かなりの間復帰できなくなる。

ゲーム機が死んだ後何がくるのか、という話。 2年前もこういう主旨の講演を聴いた。あの時はウォルマートを例に 「人は結局安くて手軽な方に行く。据え置きは死ぬぞ」 という話だった。同じ人だろう。 2年前に比べるとかなり事態が進展しており、 「ほら、株価だって下がってるし市場支配率も下がってるだろ。気づけよ」 という感じで強気だった。 2年前のあの講義では感情的に反発したと思しき質問が出ていたが、 今回はそうでもなかったように見える。 とりあえず、まったく反論できないし、する気もない。全面的にそうだと思う。 DeNAの子会社の人が言ってることだけに多少は差し引いて聞くべきだろうとも 思わなくはないが、あれに反論する余地があるとすれば、 「まあそれでもニッチは残るよね」とか言う程度である。 今でも映画館は存在しているわけで、完全消滅には至るまい。 衰退市場であっても、最後まで居残ればそれなりに利益が上がるものだ。 しかし、そういう場所にいたいかと言われれば断じて否である。 老舗の和菓子屋のように「成長なんて知らん」と言って許されるなら それもよかろうが、それを許してもらえる限界規模は それこそ和菓子屋や伝統工芸品メーカーのレベルだろう。

ゲーム表彰式。大手商業作品の部門よりインディー部門のほうが よほど盛り上がっている。 そして、本当にちゃんと盛り上がっている。 ありゃ日本じゃ無理だ。日本人の性質上無理だし、 それ以上に日本の業界が死にすぎて表彰しても白けそうで怖い。

日本のゲームの存在感のなさは半端ない。 ダークソウルがなかったらどうなっていただろう。 でも、あそこで表彰されるようなゲームでないものが 市場を占めつつある、ということに関して言えば、 TGSと構図は一緒だ。ただし、電話やタブレットで動くインディー作品が たくさん出てちゃんと注目されているあたりはずいぶん違う。

あの壇上にあがりたいよなあ。一回くらい。

両声類というのを知った。すげえなこれ。 といってもニコ動で人気を博しているロリ声を出したいというわけではなく、 単に高い声が出したいだけだ。 原理を見る限り練習しだいで誰でもできるはずなのだが。 今でも裏声ではE5まで出るのだが、今の問題はそれが使い物にならん上に 普通の声と連続していないことだ。 その方向で訓練したことはなかったので、やってみたらできるかもしれん。 まあ練習する時間も場所もないのだが。

2012年3月6日

ビルボードのライティングの話。 何もしないよりは頂点単位でもやったほうが良いが結果はいまいちだ。 一方ピクセル単位だと重すぎる。 そこでテッセレーションをつかえば計算頻度を程よく調整できる、というお話。 HL2基底というのは初耳だが、簡易的なSHみたいなもんか。 テッセレート前にカリングしよう、半透明なシャドウマップは別途 透明度バッファを作ってやろう、というような話もあった。

DirectX11.1。低精度変数と、VisualStudioのHLSL対応くらいしか印象にない。 Windows8とかとりあえず無縁だろう。

AMDのデモで使っている技術の話。forward+は面白い。 伝統的なやり方(forward rendering)の欠点は、重ね書きが激しくなりがちでピクセルシェーダの 負荷がえらいことになることと、 CPU側で物体を細かく割って当たるライトを決めて回る手間を かけないとライティングの負荷がえらいことになる点だ。 これさえどうにかなるならば、 制約が多くメモリを馬鹿食いするdeferredにすることもない。 で、重ね書きはZバッファへの書き込みだけ先に済ませておくことでかなり軽減できる。 Zテストに引っかかったらピクセルシェーダを通さないという機構があるからだ。 問題はライティングの方で、このためにライトをあまり増やせなかったり、 CPU側に重い処理が押し付けられたりしたわけだが、 ここでコンピュートシェーダという話になる。 画面をタイルに割って、タイルごとに「何番と何番のライトが当たります」 という表を作ってしまい、絵を描く時にはそれを見てやる。 昔に比べてシェーダで分岐してもそれほど性能が落ちなくなっているので、 なおさらこのやり方がおいしくなる。 メモリを余計に食わない特性が、GPUのメモリコストが相対的に高くなるにつれて さらに有利になってくるので、時間が経つほどこっちが有利になるという触れ込みだ。 でもまあ、やってみたらいろいろ起こるんだろう。 そして、ライトをたくさん必要とする理由がなければあまりおいしくない。 このデモではrefection shadow mapという奴を使っているっぽく、 間接照明用にライトをちりばめているので、相当有効だ。

間接照明をやる方法は、点光源をおく奴と、 環境マップを作る奴の二つがある。二つは得意な分野が違うので、 併用するのがいいんだろう。 空や遠くの景色からくるものを点光源でやるのは馬鹿馬鹿しいし、 赤い壁の隣に来たときに赤くなるのを環境マップでやろうとすると事前計算になって 制約が多くなる。問題はどっちか片方だけでも毎フレームやろうとすると それなりに重いということだが、そこは気合か。 仕組みを作る人は大変だな。

でもなあ。ハイエンドPCはいいにしても、今台頭してきてるのは携帯機器で、 こいつらはOpenGLES2の範囲でしか使えない。あれ、たいしたことはできんからな。 もちろんそれでもPS3や360と似たような絵は出るので十分ではあるのだが。 こういう状況において、描画屋としてはどう考えるべきなんだろうな。 上と下を別の人間が担当して分業できればそれが一番いいんだろうが、 一人でやる羽目になることも多いだろうし、 なによりも絵素材の製作工程や調整工程をひとつで済ませたいという要望もあるだろう。 PS3だって360だってまだまだ現役なわけだし。

Ptex。円筒に四角い紙を貼る場合、当たり前だが裂け目ができる。 さらに、球に貼ろうとすると紙が余る。 こういうのをどうにかするために、 ポリゴンの面一個ごとにテクスチャをばらばらに貼る 手法がある。ツール側が対応していればできるだろう。 隣の面とうまくつながるように、 それぞれのテクスチャは端1ピクセルは隣の色を持ってくる。 で、テクスチャが全部ばらばらだと性能に問題があるので、 いい具合に1枚に敷き詰める。話はわかった。 問題は今の工程をガラリと変えてシェーダに余計なコードを書く手間をかけるほど 裂け目やUVのゆがみ問題なのかどうかということになるのだろう。 きっと問題なんだろうな。でなければこんな手法が編み出されるはずがない。 どの面でもそれなりに接空間がきれいになりそうだし。

テッセレーションで裂けるのをどうにかする話。 分割や、分割後の頂点移動にかかわるパラメータが辺の左右で 共通してないと割れるよ、ということだ。 法線を使って分割していれば法線は同じでないといけないし、 分割後にテクスチャを読んで頂点を動かすなら、 辺の上にある頂点はどっちの三角形に属していても同じ値を テクスチャから読み出さないといけない。やったことがないので実感はわかないが、 面倒くさそうなのはわかる。 隣り合う三角形二枚が別のテクスチャを読むケースはいくらでもあるわけで、 そこで裂けないように手を加えるのは骨だ。 単に輪郭を丸くするためだけに使うなら 法線だけどうにかすればいいので楽なんだろうが、 本来は頂点を動かしてこその技術だろうしな。

まじめにやらんとあかんなあと思いつつ、 まじめにやってたら永遠に終わらんなとも思う。 いろんな技術があるが、それぞれやってみないとよくわからない。 全部試せばいいのだが、そんな時間はない。 CG技術を研究する部署、みたいなのがあってそこで片っ端から新技術を試して 使えるものをライブラリ化する、みたいなことをやってるところはいいだろうが、 そんなことをまともにやれてるところがどれだけあるか。 結局チームごとにせいぜい一人しかいない描画担当がどうにかするしかない、 というのが大抵の現実だろう。 そうすると、試す技術を選ぶところからすでに戦いは始まっていると考えねばならない。 わずかな時間で技術の性質を見て取って、 見込みがなさそうならさっさと捨てる嗅覚がいる。 理屈が単純なこと。実装の機種依存性が低いこと。 絵素材製作工程への影響が小さいこと。試行錯誤の余地が小さいこと。 と、このあたりの性質を併せ持ってないとまず採用は難しい。 技術を試す段階からパイプライン全体を見て、 ハードウェアや技術の流れを全体的に把握し、 製品の性質から求められる技術の方向性を限定する。

しんどいな、この分野。CGの質が死活問題だった時代なら 会社としてそこにコストをかける気にもなるかもしれんが、 少なくとも今はそうではないからなあ。 まあ、死活問題だった時代にも結局は個人の努力に期待するだけで 組織として体制を作ってないところはいくらでもあるんだろうが。

金融政策の有効性がだんだん信じられなくなってきた。 ドラッカー読みすぎかな。まったく影響がないとは言わないが、 この局面での金融緩和はどれくらい効くんだろうか。 短期的に円が落ちてはいるのでゼロではないにしても、 結局は日本全体が効率を上げる方向にシフトしないと どうにもならないんだろうなという気がする。

ゆうべは風呂の残り湯プラス重曹で洗濯。 水溶性の汚れは落ちるし、油脂も多少は落ちる。 たかだか一週間だし、完全に落とす必要もない。 二日に一度洗濯すると考えれば、 6泊だから3回だ。服も2セットあれば足りる。

二日目は物理。

最初はGJKのいつもの人。内容もいつもどおりっぽいが、 GJK Raycastの理屈がなんとなくわかった。 そのうち作ろう。あと、float精度ではきついということがいまさらわかった。 やっぱりdoubleでやってたのか。そりゃうまくいかないわけだ。 多面体しかなければfloatでもそこそこ動くんだが、 曲面図形に対してそれなりな精度を求めるとすごい勢いでおかしくなる。 しかし、doubleは困るな。CPUから動かしにくい。 GPUでやってる物理エンジンでは交差判定は何を使ってるんだろうな。 あと、三角形の辺に当たって変な法線ができて困るときには、 三角形の頂点の法線を補間して使おう、というのは覚えておく。 “Game Physics Pearls”はそのうち買うか。

二時間目は剛体。いんちきの塊だよな。本当。 制約の解決の際に連立方程式を解かないでLCPを使え、 というのは覚えておく。剛体エンジンを作る予定はないのでたぶん忘れるが。 LCPは昔作って感動したが、もう忘れた。もし必要になったらまた作らないといけない。

物理エンジンにしろレンダリングにしろ、 インチキ満載で完成からは程遠い代物なわけだが、 レンダリングの場合は所詮は見た目だけなのであまり問題にはならない。 物理は振る舞いに直結するので、 レンダリングに比べるとまっとうな結果が出ることが求められて辛い。 振動と発散はまずいからな。

レンダリングのインチキによる誤差には二種類あって、 高周波が消えてぼんやりするのと、連続性が損なわれてざらざらガクガクするのがある。 どっちが困るかは場合にもよるし、好みにもよる。 多少ざらついたりガクガクしたりしてもくっきりしている方が好きな人もいれば、 とにかくざらつきやガクガクが我慢できない人もいる。 しばしばここはトレードオフなので、バランスを探ることになる。 両方損なわずに改善するには 信号処理と人間の認識の仕組みに精通する必要があるが、それにもやっぱり限度はある。

静止画を描く人はしばしば時間方向のガクガクに無頓着だ。一方アニメータは逆。 ただ、現実世界を見渡してみれば、ざらざらやガクガクはあまりないが、 ボケボケは結構ある。その意味において、誤差はボケボケになる方向に振る方が 自然ではあるだろう。 くっきり見えることはザラザラガクガクと表裏一体の関係にあるため、 くっきりした絵作りをしようとして一歩間違えば不自然なものが 出来上がる恐れがある。 現実的に言えば、解像度を下げてぼかして引き伸ばす方が無難なのだろうな。 解像度の半分よりも細かい模様は描けないし、 現実的には解像度の1/4よりも細かい模様はガクガクの原因になる。 であれば、もともとそれくらいの解像度であってもあまり差し障りはない。 引き伸ばしの方法には気を使うべきだろうが。

とはいえ、ランダムですごく細かいざらざらは人間の視覚の特性上そんなに 気にならない、という話もあるので、やっぱりバランスが重要という話にはなるか。 ただし、文献には気にならないと書かれていて、実際私にはあんまり気にならない 細かいランダムなザラザラも、人によってはすごく気にする。 暗い時の人間の視界なんてノイズまみれなわけで、 本当ならそういうザラザラは見慣れているはずなのだが、話はそう簡単ではない。

時間方向にもSSAAやMSAAにあたるものはあるよな。 1/120秒間隔で2枚描いて半々で混ぜればSSAAで、 たとえばモーションブラーみたいなインチキをすればMSAA的だろうか。 空間でstocastic samplingするように、時間でも同じことができたりするんだろうか。

考えてみれば、GDCでしゃべってるのはしゃべりのプロではない。 CEDECの講演を外人が聞くことを想像してみれば、その難しさが良くわかる。 日本人ですら聞き取りにくかったりもするからな。 そういうわけで、私が英語をロクに聞き取れないのもその意味では無理からぬことだ。 しかし、そうは言っていられない。多大な犠牲を払って私はここにいるわけで、 何かしら得て帰らねばならぬ。もっとも、レポートなんて書いてもあまり読まれないし、 私がここで得たものを実際に活用しているかをを知る術もない。 つまるところ私の頭の中だけの問題だ。 自分に対してして申し訳が立つ程度には何かを得て帰らないと。

変に有名になったせいか、外の人に私が何か偉い人であるかの ように扱われることがある。 単なる社交辞令ならいいが、そうでないなら正直困る。 正真正銘平社員なんだがな。 平社員の定義は調べても見つからないが、役職がない、という意味とすれば、 まごうかたなき平社員だ。ただ、現実問題 末端の平社員であってもその専門性によってビジネス全体に影響を与えうる。 その意味で考えれば平社員かどうかはさして重要ではない。 ただ、私は自分にそれほどたいしたスキルがあるとは思ってない。 正直描画に関しては二流以下だ。最適化もそうだろうし、プログラム設計もそうだ。 数学も物理もその手の仕事をしている人間の中ではできない部類に入る。 価値があるとすれば、それら全部がそれなりにどうにかならんこともない、 という器用さのせいだろう。半年なり一年なりひとつの分野に集中できれば もうちょっと自信もつくかもしれんが、そんな機会はまずない。 このまま「どの分野も60点」を売りに生きていくしかないわな。 人に教えるならそのほうが都合もよかろうし、 最終的には教育に行きたいところではあるが。

9年で24倍か。もう止まったようなものだな。シングルスレッドで言えばわずか5倍。 今の10倍になったってできることがそう増えるわけでもないしなあ。

昼ごはんはバナナ2本、パン、チーズ。水は会場で手に入る。

PCのスタンバイからの復帰が遅くてこういうときには困る。 SSDに取り替えてから来ればよかった。 ipad持ってくるのは正しいよなあ。

バナナとりんごを補給。シリアルバーを試しに買ってみた。 これで明日の朝と昼も生きられる。 いちごは割高だよな。

加工品はやっぱり高い。日本って食い物は安いんじゃないか。

シリアルバーがありえないくらいまずいぞ。安物に手を出したのが敗因か。 そもそもこれシリアルバーじゃないだろ。毒々しい菓子だ。

夜はイタリア料理。残念ながら私が作った方がうまい。32ドル。

ツイッターにアクセスできん。日記を書こう。

ディアブロのラグドール。やったことがないのでピンと来ない。 とりあえず、連中は血を見るのが大好きだということがよくわかった。 デモがいちいち殴られたり斬られたりする人体で、 いちいち血と叫び声が上がる。会場からは笑い声。 なんだかなあ。 技術的には参考になるところもあるが、やっぱりやったことがないのでピンと来ない。 ラグドールは単なるエンジンではなく、アーティスト側のパイプラインやら ゲームデザインまで込みで考えるべきものだ、というのは 次の話でも言っていた。 飾りにしか使わないならともかく、 ゲームの中身に影響するとなればどうしてもそうなる。 そして単なる飾りにしかならないなら物理を入れる手間は割に合わない。

EAの物理とアニメーションを混ぜる話。 これは概略だけだが方向性がわかってよかった。 速度と無限質量を食わせる、質量を有限化する、 人体原点を物理にいじらせる、アニメーションを力に変換して操作する、 という具合に各段階が示されたのがわかりやすい。 プロモーション動画はいらないが。 それにしても、やっぱりやってみないとわからんなあ。

流体。SPHの話を聞きたかったのだが、この人がやったのは水の方なんだよなきっと。 なんにしても、やったことがないのでなんとも言えない。 水面は膜で近似した奴を昔やったことがあるが、 あれに比べてFFTする奴がどれくらい優位なのかも やってみないとわからない。

破壊。前もってボロノイ分割しておいて、 実行時に指定した値より強い力がかかったら割るわけだ。 これもやったことがないからわからん。 そもそも破壊や変形以前に剛体物理を売り物クォリティまで作りこんだことがない。

力の伝播に時間がかかる問題は布でもなんでも同じだな。 陰解法にでもしない限り隣のものにしか伝わらないわけで、 これは根本的な問題だ。どうやって解決するのかはよくわからなかった。 Position Based Physicsって何だろう。もしかしてverletのことか。 でもそれだけじゃ解決せんだろ。まあそのうち。

GPUを使う話。よくやるなあと思う。あれを仕事でやるんだなああの人。 2年前もあんな感じの話を聞いた気がするわけで、 ずっとやってるってことだよな。これが専門家というものか。 で、話を聞いた印象では、GPUでやるのはかなり無茶をしている。 空間分割も適当だし、交差判定も無駄に計算量が多い方法に ならざるを得ない。実装も面倒くさそうだ。 せめてCPUとGPUのメモリ空間が一緒になるまで待った方がいい気がする。 そのころにはGPUの柔軟性ももう少し上がっているだろう。 今やるなら労せずGPUに投げられる形まで単純化してから 投げる方が無難な気がする。

そういえば、convexな図形に関して、 キューブマップに原点からの距離を描いておくことで交差判定をする、 というのは面白かった。 キューブマップの解像度で精度と速度のトレードオフを調整できる。 CPUでも有利だったりはしないだろうか。

人がほしくて買収するというのは無茶だよな。 買収された会社の人間が残るとは限らない。技術がほしい場合にも同様で、 技術なんて結局人間の頭の中にあるものなので、人が消えれば一緒に消える。 特許とかブランド名とか、 そういう人と関係ないものがほしいならそれもいいんだろうが、 そういう目的で買収する会社はブランドも殺すことが多いのでなんとも言いがたい。 企業買収の7割は失敗するとも聞く。ドラッカーにそのへんの記述があったなあ。

2012年3月5日

飛行機がついたら夕方だった。5人で行動。タクシーでホテル。 その後GDC登録。生演奏ジャズを聴きながら肉。 アメリカっぽい味付けではなく、食べやすい。 量も食える範囲だ。 それにしても、35ドルも使う食事はたぶん最後だ。 誰かに誘われれば行くが。

肉のあとホテルについたらなぜかすぐに腹が減った。 どうやら欲しい栄養を取りきれていないようである。 とはいえ10時過ぎて街を歩く気にもなれないので、我慢してねた。

そうか。開いてからフォントを変えればカーソルずれが直るのか。 どのフォントに変えるかは問題ではないらしい。

明け方部屋に備え付けの電話がピーピー鳴って起きたが、 なんだったのかわからない。 このPCの時計で22時ということは、プラス7時間で朝5時だ。 困る。あと3時間で行動開始だから、目覚ましがいるだろう。

「あの夏で待ってる」を3話見た。おねティか。どこか懐かしい。

ヘルシングの5,6話を見た。あの平野耕太独特のおちゃらけ加減を 私はそれほど好きではないのだが、このアニメがそういうものを含めた 平野耕太のテイストに敬意を払っていること自体には好感が持てる。 よくできている。血が出すぎなのでひつじこには見せられないが。 それにしても、やはり平野耕太はすごいな。 男の子が盛り上がる要素がこれほどまでに詰め込まれているのはすごい。 そして、それをそれなりにできた人間ドラマでつなぐことで 物語として成立させている。インテグラの叔父さんのくだりとか、 アンデルセンの上司の権勢欲とか。

これ、ドイツ人ファンとか当然いるんだよな。と思いつつ調べたら、 どうやら相当に海外で好かれている作品らしい。 なんだかんだいって、ナチの魅力というのはすさまじいものがある。 あんなにキャラの立った悪役はどこを見てもそうそう見つからない。 しかも恐ろしいことに、ナチは実話なのだ。 「リアルはキャラが立たなくても成立するのでキャラが立つことは少ない」 という言い方はできてそれなりには正しいが、 「リアルはリアリティがなくても成立するので、リアリティのない出来事が平気で起こる」 という言い方もできる。突出した出来事についてはこちらの方が正しい。 ナチ以前にナチをフィクションで描いたとしたら だれもついてこなかっただろう。「そんな悪役リアリティねえよ」となるに違いない。 ナチは後世の創作に多大な貢献をしている。

というか、本当にナチって実話なのか?おかしすぎだ。 こんなによくできたフィクションがあるとも思えないので実話なんだろうが、 やっぱり国が丸ごと極限状態になるとすごいことが起こるんだな。 日本もそうだったんだろうし。

いわゆるナチのイメージのうちどれくらいがフィクションなのか、 ということについては本来は検証すべきなんだろうが、 私はナチを自分の目では見ていないし、真偽が私の生活に影響を与えない。 つまり、本当の真偽を知ることはできず、 また、真偽はどちらでもかまわない。 同様に、江戸時代がフィクションであっても一向に差し支えない。 要するに、たいていのことは面白ければそれでいいということになる。

朝、whole foodsでりんごとバナナととうもろこし粉のパンと、全粒粉パンを買ってみた。 とうもろこし粉のパンはそこそこ食えるが、油が多い。

昼、GDC会場にタダ飯がおいてあるのですこしもらった。 おいしくはないが、食える。ついペプシも手に取ってしまったが、 想定外に薬臭かった。こんな味だったっけか。

最初のセッションはとあるエンジンのDirectX11対応の話。 脳が英語に慣れてないのでしゃべってる内容はまるで取れてないが、 概略はわかった。 テッセレーションは接空間で補間すれば輪郭を滑らかにできてうれしい、 という話(phong tessellation)。 テッセレーション前提で絵素材パイプラインまで構築するのは 面倒くさそうだが、普通に作ってもらったものを後付けで滑らかにするだけで よければ何の準備もなくできそうに見える。 同じ位置で法線が2本あると割れることには注意がいる。 あとはコンピュートシェーダの使い方。本質的な優位性は、 メモリの書き込み位置を多少の制限はあれども選べることにある。 ピクセルシェーダでN点つついてガウシアンブラー、というような時、 つつく回数はピクセル数×Nになるわけだが、 つついてくる点の種類の総数はピクセル数と同じであり、 シェーダでやることでこれがNば倍に膨れてて無駄が生じている。 複数ピクセルまとめてやればこの無駄を軽減できる。 ただ、複数ピクセルまとめる分並列性が落ちるのと、 たぶんもろもろのオーバーヘッドがあるので、 Nが小さいうちは大した効果がないようだ。

二時間目はGPUViewというDirectX11付属ツールの紹介。 GPUが暇にならないようにちゃんとコマンドを間断なく投げられているかを チェックできる。また、各種リソースが望ましい場所に確保されているかもわかる。 PCで売り物を作るなら便利だろうし、 そうでなくプロトタイプを作っているだけだとしても、それなりには役に立つだろう。 しかし、まあそれなりだわな。 普通マルチで作る場合にPCの重要性は低いし、 そもそもDirectX11が動くようなPCが最低性能ということはない。 結局最低性能のマシンでのチューニングが最優先であり、 その最低性能マシンの開発環境がよほど劣悪でない限りは そこで集中してチューニングすることにならざるを得まい。 「比較的低性能のPCでまともに動くようにする」 ということが要求されていれば話も違ってくるだろうが、 その場合はDX11じゃなくてDX9も相手にせねばならんだろう。 そうなれば、結局それほど役には立つまい。 でもまあちょっとくらいはいじってみるか。

最適化と一言で言うが、「たぶんどのマシンでも速くなるような手法」と 「マシン固有の手法」はある程度分けて考えた方がいい。 後者をいきなり始めると罠にはまる。 もちろん、前者が万能であるわけもなく、 計算量は減ったがメモリアクセスが増えたとか、 計算量は減ったが並列性が落ちたとか、 並列性は上げたがオーバーヘッドが増えたとか、 そういう事情のために「足し算減らしたのになんで遅くなるんだよ!」 的なことはいくらでも起こる。 しかし、それでもなお大枠としてはここからはじめる方が無難だ。 相手にするマシンの数や種類によってどれくらいのところで見切りをつけて マシンごとの最適化に移行するかは違ってくる。

もっとも、前者の最適化が無意味に思えるくらい後者が重要になることも多いのだが。 計算をどこでやるか、というところの設計は、計算をどうやってやるかよりも はるかに重要だ。 ある計算をGPUでできる機種とCPUでしかできない機種の 両方を相手にせねばならない場合などは、最初から最後まで機種固有の最適化作業に なりかねない。

このバナナうまいな。日本は検疫の関係上黄色いバナナは輸入できず、 全部緑の状態で輸入していると聞いたことがある。 もしそうなら、日本では完熟バナナなんてものは食べられないということだ。 アメリカはそのへんどうなんだろう。

Whole Foodsにあるりんごはどれも小さい。日本のりんごはでかいのか、 ここのりんごが小さいのか。フジもあるが、やはり小さい。

3時間目。バッファの使い方。16バイトアラインしとけ、というのは覚えておこう。 使い方によってきちんと分類しろというのは中身を知っていれば自然とそうする気がする。 VRAMなるものへのアクセスやメモリ管理を自力でやらねばならない状況になると、 何をやれば遅くなるかは嫌でもわかるものだ。 DirectXやOpenGLでやっているとそのへんがわかりにくくなるんだろう。 DirectX11の場合CPU-GPU同期が起こったら即死するように設定できるので、 そのへんは楽だろうが。 動的な頂点バッファのメモリ管理はどうするのがいいのかね。 ああいう手の込んだ仕組みを作る方がいいケースもあるだろうが、 「この用途では最大1MB、あの用途では最大500kB」みたいに決めうちで 分けて作っておく方が楽なケースもあるだろう。境界はどこかという話になる。 作るものによるわな。 定数バッファはまだいまいち慣れてないので、そのうちしっかり考えよう。 それもメモリが丸見えの環境でやっていれば嫌でも習熟するはずだ。 動かない物体に関しては定数バッファをまったく書き換えずに 描画できる、というのは覚えておく。 ProjectionViewとworldを別にすれば定数書き換えが減る、 という話があったが、それは頂点シェーダが十分に軽ければの話で、 適用可能かは試さないとわからない。 でもまあ、それは大丈夫だろうな。たかが4サイクルだ。 それにインスタンシングするなら定数バッファに関係なくそうしているので 影響も出ない。

あと、この類の話は、CPUがヒマしてるならあんまり影響がない話ではある。 マルチで作る場合、CPU側の複数機種で共通する部分は最低性能の機種で 動くように作るはずで、ほかの機種ではCPUは余り気味になるはずだ。 あまった分を飾りに使うこともできるだろうが、 そういう労力をかけられるかどうかは場合によるだろう。 やれることはやっておくべきだが。

ポスプロの話。AAもそれなりに考えるべき点があることがわかった。 なるほど、線形空間でAAしても、人間の目が指数的なのであんまり効果が 上がらないということはありそうだ。 また、ちかちかしないようにするのにエネルギー保存を考えることが重要だというのも、 勉強になる。そういうことはおぼろげには理解しているつもりだったが、「エネルギー保存」という名前をつけるとより明瞭に理解できる。 HDRからLDRに落とす場合にも、馬鹿正直にやるとマッハバンドが出るので 何か手を考えろ、というのも理解した。理解したが具体的にどうするのかは やってみないと実感が沸かないだろう。 ボケフィルタで前のものが漏れないようにする工夫もなんとなく覚えておく。 これもやってみないと実感がわかないだろうが。 結局そのころには忘れてて再発明するのかもな。

それにしても英語がやばい。ぜんぜん聞けてない。

このパン、甘いが、そこそこ食える。バナナはうまい。

夜はwholefoodsで改めて買出し。朝は荷物になるのであまり買わなかったのだ。 バナナ、みかんぽいオレンジ、チーズ、焼きそばっぽいのとチャーハンっぽい惣菜、 野菜ジュース。 惣菜は、スプーンもフォークもないことにホテルに着いてから気づき、 面倒なので手で食べた。

毎度思うが、この国、世界の最先端なのにポンドでオンスでファーレンハイトで マイルなのな。そういう保守性が実はこの国にプラスに働いているのだろうか。 街もカオスだ。サンフランシスコのこのあたりは、たぶん渋谷とか銀座とか そういうところに相当するオシャレゾーンなのだと思うのだが、 地面はボッコボコでごみも多く、乞食が当たり前のようにいる。 これが活力の源なのか、それとも活力を得るための代償なのかはよくわからない。

食べ物はドル100円と考えるとあまり安くない。 外食は論外に高く、加工済みのものをスーパーで買っても高い。 素材レベルで買うなら日本より安いものが多いが、べらぼうな量を買うことが前提になる。 日本は物価が高いので購買力平価で見ると順位がガタ落ちする、 と良く聞くが、それは本当なのか。

日本は余裕がなくなる。非効率な所に補助金をまくような真似はもう許されない。 しかし、補助金をまいて非効率を助長してでも 貧富の差を減らした方が全体が良くなるということが絶対にないとは言えない。 でも、やっぱり私は新自由主義寄りだな。児童館や保育園には金を稼いでほしい。 金もうけに走ることの害はあるが、 何をやってもつぶれないのはダメだ。 客を喜ばせられないなら退場してもらわねばならない。 この国は日本に比べてそこを徹底しているからこれだけの活力があるんだろう。 「安定した職場に就職したいが、そのあてがないのでやむを得ずベンチャーをはじめる」 という話もあって、みながベンチャーをやりたがっているわけでもないのだろうが、 安定した職場などない、という前提で生存戦略を立てることを余儀なくされる社会 なのであれば、活力は出てくるし、古いものを捨てることもしやすい。 正直日本がこうなったら嫌だが、もう嫌とか言ってる場合ではないだろう。

うちらゲーム屋も同様、もっと気合を入れないとダメだよな。 もっと組織を小さい単位にして個別に金を稼いでこないとアウトになるような 状況にしないとみんなヌクヌクしていかん気がする。 もちろん、単位を大きくするほど分業を強められるので理論的には効率が良くなるのだが、 単位を大きくするほど士気が下がり、また、速度が落ちる。 その間のちょうどいい場所を選ばねばならない。 それに、分業を強めることで効率を上げるアプローチがどれくらい有効なのかも検証しつづけていかねばならないはずだ。技術や市場の動向によっては最適なバランスががらりと変わるはずだからである。というか、今まさにがらりと変わっている最中なわけだが。

サンプリングの知識は必須だな。たまたま勉強していて良かった。stocastic sampling とか言われても1年前なら何のことかわからなかっただろう。

今回何かと聞くUAV。書き込み位置を好きにできて、読むこともできる レンダーターゲットだ。コンピュートシェーダの出力はこれ。 同期の面倒を見ねばならなくなる欠点はあるが、 これがあればかなりやれることが広がりそうだ。 GLには相当するものがあるんだろうか。

眠い。朝になってから続きを書こう。

2012年3月4日

久しぶりにひつじこに髪の毛を切ってもらった。 オタマが嫉妬したのか、ゲロを吐いた。 その後はずっとひつじこにぴったりで、 私が触ろうとすると「ダメ」と言われる。

なぜか今日はフォントをArialにしないとずれる。何が変わったんだ。

今回のGDCは荷物はだいぶ減らした。 もはやまともな格好をする意味もないので、革靴も履いていかない。 どうせ向こうの人々はヒゲ長髪でTシャツ短パンだったりするんだし、 なんでもいいだろ。 服は下着2セット+ズボン2本+シャツ+念のためフリース。洗濯用に重曹。 石鹸なし生活実験中なので、出張中も石鹸は使わない。 というか、もう実験とか言うまでもなくこれでいい気がしてきた。 髪の毛はすでにさらさらだし、髪を切ってもらったおかげで 仮に多少べたついても問題は少ない。

そういえば今日もシャワーをかけたら脂まみれのフケが出た。 量はだいぶ減っている。

機内食って深夜発だとどうなるんだろ。 一時間くらいで出ても困るよな。普通寝るだろうし。

いつもラノベを貸してくれる先輩が会社をやめてしまったため、 今回の飛行機ではラノベは読めない。 というわけで、文明人らしくノートPC。 しかし、本当の文明人なら今更ノートPCはないよな。

ひつじこの食欲がぱったりと消えた。授乳があっての あの食べる量だったということか。 土産に食べ物を買う意味がなくなったなあ。

前回食べたクラムチャウダーのまずさは破壊的だった。 でも考えてみれば初めてGDC行った時に食った奴はあんなじゃなかった気はする。 店による違いがそこまで大きいというのは感覚的には信じられない。 吉野家と松屋の差くらいならありうるにしても、あれはそういうレベルではなかった。

とは言え、その比較的おいしかったものであっても、 自分でアサリを買ってきて作るボンゴレの旨さとは 比べるべくもない。期待はしないぞ。 あのエビサンドイッチとかもたぶんおいしくないんだろうな。 観光客がむしゃむしゃ食べてるのを見るとやけにおいしそうに見えるわけだが。

2012年3月3日

GDC中の日記はここに書いていくことにしよう。他の人からも見えるので、見たい人がいればここを見てもらうことにする。

複数開いて編集したらどうなるんだろ。

お、大丈夫っぽい。もう片方のウィンドウでも編集結果がは反映された。 ということは、これ、描いてる間に、どういうふうに文章をまとめてるかまで 人に見られうるということか。 まあ、いいだろ。どうも3人今もいるらしい。 まさか、他の人は編集できないよな。まあできたらできたでコメントでもしてもらえばいいか。

gmailにログインした状態の人ならだれが見に来たか特定できるようだが、 今いる2人はそうではないようだ。 これおもろいなあ。 そういえば本を書いている時にはこれを使って いろいろやりとりしたのだった。あの時より進化してるんだろう。 でも編集中と確定後でフォントがずれるのはどうにかしてほしいな。 chromeのフォント設定が悪いせいかもしれない。強制メイリオちゃんが 悪さしてそうな気はする。

初日は英語になれるための時間で、内容にはあまり期待してない。 CG技術の話はどうせ聞いただけでどうこうなるものでもないし。 自分で試して地雷を踏んでさんざん試行錯誤して初めて問題点がわかる。 とは言え、何が流行しているかくらいはわかるだろう。

強制メイリオを外しても字がずれるな。むしろこの方がひどい。 行の後ろに行くほどずれがひどくなる。

フォントをcourier newにしたら直った。これでいいじゃん。 プロポーショナルフォントの扱いにバグがあるのか。

お、人が増えた。これおもろいな。コメント可能にしておくか。

そういや、チャット機能とかあったなあ。本書いてる時はこれを使っていた。 googleは大したものだ。もっともこれを使うことを提案してくれたのはgoogleに務めている人だったのだが。

2012年03月04日

おとつい風呂で頭にシャワーをかけていたら、白いせっけんかすみたいなものが モリモリ出た。フケだ。昨日も少し出た。 なお、脂はかなり減ってきた。 数えていないが、石鹸を使わなくなって一週間くらいは経っている。

今日は2030くらいに出発する予定。

残り物を片づける。玉ねぎ大根レンズ豆汁、古い納豆、 しなびた小松菜。あと、オタマが食べないことが発覚した ゴーダチーズを食おう。グニグニした食感がダメらしい。 チェダーはボロボロ崩れるのでオタマも良く食べる。

いつもならパンでも焼いて持っていきたいところだが、 ひつじこが大変なので今回はなし。 さつまいもは保存性で劣るしな。 食料は全て現地調達する。 基本一人であれば飯屋に入らずに食料品スーパーで素材だけ買って、 どうにかするのが正しい。 どうせ半分くらいは誰かと一緒に外食になるのだし。

2012年03月02日

最近gmailが喪に服しているんだが、これ何なんだろう。 googleロゴが黒くなって押しても反応しなくなっている。 まさか本当に喪に服しているんではないだろうが、 ロゴを押して画面更新できないのは不便なのでどうにかしてほしい。


もどる