だだもれ

2007年12月30日

昨日の飲み会であんな話をされた直後にこれとはなかなか面白い。

リンレン買ってきた。田舎で試す。

ライブラリ配布作業。人に配るのはもっと先だと思ってたのでおおあわて。 DirectXのバージョンが違うと動作しない可能性がある。 できればXPに最初から入ってる奴で動くようにしたいんだがなあ。 D3DXさえ使わなければかなり幅広いバージョンで動くはずなのだが、未確認だ。 そういう意味ではOpenGL化したいんだが、 結局ドライバ入れないとダメみたいなことになるからな。 最低でもvp20対応してないと動かないし、もうDirectXで行くしかねえか。 atiかnvidiaに限って言えばGLの方がいいのは確かなので、 両バージョン用意する方がいいのかもしれんが、 またこっちの手間が増える。GLだけで行けないのが確実である以上あきらめて DirectXにしよう。

実家帰ってきます。mixiの方は更新するかも。 こっちは家からでないと更新できないので。

2007年12月29日

本。某ロボゲーに似た何かになる予定のものの第一バージョン。 実家では文章だけでいい部分を書くとするか。 最適化、ローディング、ハードウェア使用第2段階、あたりは 何もなくても書ける項目だ。

現在texファイルが760KB。全部日本語と仮定すれば38万字。 400字詰め原稿用紙にみっちり詰めて950枚。 だが、たぶんまだ増える。

本関係者へ。いつも置いてあるアレの拡張子をtexにすると元テキストファイルが 取れます。必要ならどうぞ。

2007年12月28日

シューベルトはほぼ暗譜。たまに見直さないと強弱記号やアクセントが抜けるが その程度。速度も120以上は出る。 ほぼ通して楽譜に書いてある音を出せる状態まで来た。 一ヶ月前は「こんなの弾けたらもうピアノ弾きじゃん!」とか思って いたが、いざそれなりに弾けるようになってみるとえらく簡単な曲に見える。 むろんまだ音楽以前なので人に聞かせられるように するにはさらなる修練が必要になるのだが、それはそれだ。 かかる時間やモノの完成度を度外視すれば、大抵の曲は 楽譜通り音を鳴らせるところまでは行けるのではなかろうか。 そう考えるとなおさらハノンとチェルニーを熱心にやるべきだと思えて来る。 必要とされる速度と指のパターンを体に染みつかせないことには、 いくら曲を練習しても 速度を一定以上に上げられないし、「楽譜通り音を鳴らせる」 の先にある音楽性を云々する余裕も出てこない。 一刻も早くチェルニー30を終わらせよう。

しかし、チェルニー40は憂鬱だ。 30よりしんどいものが40個だ。どうがんばっても1年では終わるまい。 月3つのペースで13ヶ月ちょいかかる。 この飽きっぽい私が 毎日1.5時間もピアノ弾いてる生活をあと1年以上も続けられるとは 到底思えないわけで、たぶんそこまで行く前に挫折するんだろう。 上達が目に見えてわかるうちはいいが、 今の上達速度はあと半年も維持できまい。 もっとも半年前もそう思っていたのだが。

今週の速度は98。どこまで上げられるだろうか。

2007年12月27日

ベビプリというトチ狂った企画。19人姉妹で0才から18才まで。 開いた口が塞がらんが、 とりあえず見定めねばならんなあ。 キャラ一覧をちらりと見た感じではなんというか属性博覧会という以上に 何を言っていいのかわからない状態だが、 あそこから何をどう展開させるつもりなのかには興味がある。 それに、何といってもあの公野先生だからな。

本の内容、webサイトにした方が公共の利益になる気がしなくもないんだが。 私も楽だし。とかいうのはともかくとして、 とにかく今は書く他ない。これが書き終わらん限り身動きが取れん。

427ページ。峠は超えた。3D回転をどう説明すべきかというのは 極めて難題なわけだが、とりあえず基本方針は立った。 ビュー行列の生成が最大の難所なわけだが、 「直交基底3本並べると回転行列になる」という 実用的だが直感的に理解するのが困難な話はやめて、 2つの角度をatanで求めて二回回す方法で説明した。 コードは長いは処理は重いわで何もいい事がない方法だが、 何故動くのかは説明しやすいし理解もしやすい。

明日からサンプル用ロボゲーの制作に入る。と言っても最初は 四角い地面に箱を置いて、適当な落書きテクスチャを貼るだけの代物だがな。 弾を撃ち合うためには衝突処理がいるが、3Dの衝突処理をやるには ベクトル幾何がそれなりにできていないといけない。 ここが次の難所だ。まあ年内にはそこまで行かないだろうが。

とりあえずtexのスタイルをいじってもう少しtexくさくないものにしたいが、 そんなヒマはない。どっかにもう少しゆるく見えるスタイル定義を 配布してる人はいないだろうか。 とりあえずコード部分に枠つけて薄いアミカケする、 というくらいでも大部違うんだが。

2007年12月26日

OpenGLに変換済み頂点を渡すインターフェイスが見当たらない。 DX9で言うD3DDECLUSAGE_POSITIONTか、DX8で言うD3DFVD_XYZRHWに当たる何かがない。 ユーザに自力で頂点処理を最後までやらせようと思うとこれが必要なのだ。 ないならもうDirectXで行くしかない。 GLSLが使えれば何もしないシェーダで同じことができるのだが、 固定機能しか使ってないのにシェーダサポートがないマシンでは動かないというのは 何か釈然としない。 やっぱりDirectX固定にしちまうしかないか。 GL版もあるよ、と言いたかったんだが。

420ページ。3D回転の説明で悩みまくる。 あと、ユーザからの頂点入力を同次座標wつきにした。 変換終わってから渡せやゴルァ。 内部的には何もしない頂点シェーダを使用。 しかし後ろの章ではハードウェア頂点処理をサポートしたいので、 2系統作らないといけないな。 いや、あるいはある所からはハードウェア変換のみサポート、 というふうにしてしまうべきか。

明日中に3Dの基礎を片づけて衝突処理に入りたい。 それが片づいたら描画ライブラリ、ニセXMLパーサ、ライティングと進む。 遠いな。遠すぎる。図もムチャクチャ足さないといけないし。 しかしともかく文章を一通り書いてしまわないことには 細部に気をつかう余裕が出てこない。

Zバッファの逆数格納問題は頂点シェーダで 1サイクル余分にかけてやることで解消できる。 Zバッファの精度に怯えて暮らさなくて良くなるわけだが、 その代償である頂点シェーダ1サイクルが安いか高いかは場合によるだろう。 しかし、忘れた頃に「精度足りねえんだけどどうにかならねえ?」 とか言われるあの鬱陶しさを考えれば、このコストは割に合うような気がする。 シャドウマップとか被写界深度とかにも影響が行くのでそう簡単には決められないが、 本のライブラリはそれでいいかもしれんな。

2007年12月25日

うちのVOCALOID2は1コアしか使ってないようなのだが、 インテルのデモに使われたバージョンは並列化パッチでも当ててたんだろうか。 んなわけないし、たぶんハッタリなんだろうなあ。 とにかくさっさとマルチコア対応してほしいものだ。 マルチコア化なんて素材制作アプリのためにある代物と言っても過言ではない。 並列化が効くのはデータの独立性が高く物量が大きい絵や音の加工くらいの ものだろう。VOCALOID2で使わんで他の何に使うというのだ。

Dクラッカーズプラス。数年ぶりに出た後日談。 とてもいいんだが、こういうのを読むと淋しくなる。

和記号(Σ)って高一までのカリキュラムに入ってないのか。 しかし、Σという記号は恐ろしくプログラミング的な記号なので、 こういうコードのことです、とコードで定義してやれば 容易く理解できる気もする。 というか調べたらsinやcosも高二じゃないか。 atanなんて高校の範囲じゃないし。 高一までの数学ができてればOKな本、という触れ込みにするつもりだったが、 そうすると三角関数まで説明するハメになる。 というか、実際ゲームを作ろうとする人のどれくらいが三角関数を まともに理解しているのかがわからない。 もし実はわかってない人が多いのであれば説明を加えるのは悪いことではないが、 たいがいの人がそれなりに使えているのなら邪魔以外の何者でもない。

三平方の定理は大丈夫だよな? 連立方程式は解けるよな? 二次方程式は解けるよな? 因数分解はできるよな? 多項式の積の展開はできるよな? なんか疑い始めたらキリがなくなってきた。 ここまではオーケーと言うために何か統計的な根拠が欲しい。 正直「オイラーの贈り物を読め」の一言で片づけたい。

2007年12月24日

アホんところでダラダラしてた。 今日は会社で本書く。

ブレイブストーリー中。面白いが、 各イベントの意図がわかりやすすぎる気もしなくもない。 成長物語は好きだが、さすがにこれは成長物語すぎやしないか。 ところで、体型はだいたい人間で顔が猫で全身毛に覆われた生き物、 みたいなのは良くファンタジーに出てくるのだが、 リアルに想像すると結構気持ち悪い。 何をどうやっても特殊メイクみたいなのしか想像できない。

夜まで本書いてきた。行列の乗算の数学的な定義を説明。 先に行列の一般的な扱いを説明してしまったので、 3Dの数学も説明しやすい。本当に必要になる前に説明するのは 嫌なのだが、こればかりは仕方ない。

そうか、魔法使いであることが人助けになり得るのか。 その手の感染症リスクとかゼロだもんな。 献血ついでに登録してくるかな。骨髄バンク。

本が当初の予定から200%増しくらいで遅れている。 12月末はベータ終了くらいの勢いだったはずだが、現在アルファすら終わっていない。 恐ろしいことに章構成すら確定していない。 誰からも催促されない状態で自発的に作業するというのはずいぶんと困難な ことなのだが、期待していると言ってくれている何人かの顔が 思い浮かぶのでがんばる。いや、顔を知らない人の方が多い気もするな。

2007年12月22日

ピアノ。どうもレッスンでは音階がうまく弾けない。全体に緊張のせいか ピアノが違うせいかでうまく行かないのだが、音階は特にうまく行かない。 相当みっちりやったのだが。 チェルニーは8が終わり9と10。インベンション14は 私の解釈全否定。ちょっとムッとしたが、とりあえず先生の言う通りに弾いてみよう。 この弾き方だとゆっくりの時にもっさりして聞こえるが、 確かに速度が上がってくれば違って聞こえる気もする。 シューベルトは一応最後まで見てもらった。細かい指示が出たので、 後はそれをり織り込みつつ速度を上げる。 次のレッスンは正月明けなので、それまでに全体を135くらいで弾けるように しておきたい。150となるともう慣れの問題ではなく 単純に動き精度が足りないので、基礎力が十分進歩するまでは無理だ。 135の速度だと6分で終わる。

本。13章のライブラリからピクセル処理をGPUに回した。 最初まるで速くならかったので 調べたらDrawPrimitiveを19×15のマス一個ごとに呼んでいた。 そりゃダメだ。 そこで冗長なステート変更をスキップするコードを入れたら DrawPrimitiveは2回になったのだが、しかしあまり速くない。 えんえん調べたが、結局VisualStudioからデバグ実行したのが原因だった。 デバグなし実行するとフレームレートが4倍になる。 よくわからないがそういうこともあるのだろう。 ともかくボンバーマンが500FPS以上で動く様は結構爽快だ。 しかも私のライブラリは毎フレーム強制的に1ミリ秒寝かせて CPUの占有率が上がりすぎないようにしているので、 全力ではない。たぶん寝なかったら1000超えるだろう。 CPU計算の時に100そこそこしか出なかったことを考えると、 GPUのありがたみがよくわかる。 この感じだと頂点処理をCPUに置いたままでも それなりなゲームは十分作れるだろうな。 ここから頂点形式を最適化して、頂点バッファをGPUに置いて、 頂点処理もGPUに回して、といろいろ面倒くさいことを全部やっても 多分今の倍の性能は出ないだろう。 仕事でやっているチクチクした高速化技法は限界を目指そうと思わなければ 全く不要な代物なのだ。処理が複雑化することを考えると不要どころか 有害ですらある。

最適化支援ツールの類はたいがいおもちゃになる。 VTuneもNVPerfHUDも確かに役には立つ。しかしあれを使うのは それで原因がわかることがわかっている場合か、 他に打つ手がなくなった時だが、当然後者は手遅れで役に立たない。 顕著な犯人が浮かんでこないために より細かい機能まで活用しようとするが、結局は時間の無駄となる。 VTuneなんてどの関数で何%食ってるかわかれば目的の9割は達成されるし、 残りの1割は遅いのが命令数のせいかキャッシュミスのせいかを 確定するくらいである。CPU依存のペナルティやら何やらの話をし始めたら もう終わりだろう。そういう話をすることが割に合うコードなんて 本当にごく一部だからである。 NVPerfHUDにしても、テクスチャを2x2に差し換えたり頂点以降の処理を スキップしたりする機能は大変便利だが、 しかしそんなものはハナッからそういうことをするボタンを デバグ機能として仕込んでおけばそれでいいのであって、 必要性の高いツールとは思えない。 GPUの問題の9割は、ピクセルか頂点か、計算かフェッチかという二つの 項目について調べればほぼ理解できる。 といってもこのへんは趣味がハデに出るのであまり同意されないが。 この前もスルーされたし。

しかし、最適化のより基本的な知識は一章割いて入れねばなるまいな。 アルゴリズムと計算量理論、並列性の概念、スループットとレイテンシ、 キャッシュという思想。そのあたりをまるで知らん奴に コードを書かせるとものすごいことになる。

アニメーション制作進行くろみちゃん。 アニメって大変なんだろうな。 しかし大変であっても誇りと楽しさを失わないで やっている人達がたくさんいるのだろう。 ゲームも同じだと思うが、さてそのあたりはどうだろうか。 他人のことはわからないので、せめて自分はそうでありたいと思うのだが。 「嫌ではない」のレベルは最低限必要だが、 全員が「嫌ではない」のレベルで働いたら絶対クソゲーになる。 できるだけ「楽しい」レベルの人の率が高くなるような開発にしていくには どうすればいいだろう。私はまず人を減らして規模を落とすべきだと思うのだが、 大抵賛同されない。「そんなことはわかっているが不可能だ」 という答えしか返ってこないので最近は私も言うのをやめた。

光文社新書「お金は銀行に預けるな」。大変勉強になった。

2007年12月21日

今の状況は身に余る。 自分の評価と他人の評価がつりあってない。 そして他人の評価に自分の評価が引きずられている。 自分よりずっと上のステージにいる人を見て、ちょっと目が覚めた。 全然足りてないじゃねえか。 本はできるだけ早く書こう。「本を書く人」という称号は身に余る。 その称号だけが独り歩きして自分でも増長する。 出た本を見た後の評価が問題なのだということを忘れそうになる。 一刻も早く「本を出した人」という称号にしないと精神が保たない。

それと、たぶん私はまだ自分が書いが本が店に売られるということを信じてない。 もし完成しなかったら今会社で費している時間は完全に無駄で、 会社は私の人件費数ヶ月分をドブに捨てることになる。 たぶんそこに罪悪感みたいなのがあって 「仕事ないのかよ」と言わずにはいられないんだろう。 本がダメになっても、その間遊んでなかったという免罪符が欲しいのだろうか。 もちろん、大変そうなチームがたくさんあって人が足りない人が足りない 言ってるのに自分に声がかからないのが淋しい、というのは間違いなくあるが、 少なくとも言葉の上では「本書いた方が会社のためになるから本書け」 と言われているわけで、到底その言葉が信じられなくても 今は信じたことにして本を書く他ない。

2007年12月20日

414ページ。ページ数の増加が再開するのは 3Dグラフィックス用プログラムを一通り書いてからなので、 少々かかる。

電話くれた人すみません。あわててトイレから出たんですが、 すでに留守電モードになっててどうやったら会話できるのか わからない状態でした。 家電話は相手の番号がわからないのでかけなおすこともできず、 こういう時に困ります。

本。頂点処理から後をハードウェアにまかせる方法の説明。 ただしまだ二次元。 スクリーン座標に変換済みの頂点を受け取って、 三角形を描画してくれるだけのライブラリを整備した。 できることはアルファブレンドモードを選ぶこと、 テクスチャを1枚セットすること、頂点カラーを与えること。これだけ。 明日はこのライブラリにボンバーマンもどきを移植して、 あわよくば次の章へ進みたい。 しかし、次の章は3D化の最初の章で、 最初に「遠くのものを小さく描くにはどうすればいいか」 を説明せねばならない。これがまた骨が折れる。

2007年12月19日

とらドラ6。もうすっかり釘宮ヴォイスで鳴っていることに気づいて どこか負けた気分になった。 いやしかし少々アレンジされているような気もする。

行列と行列のかけ算を勝手に定義する、という説明をしてみた。 (AB)p=A(Bp)となるように積ABを定義するにはどうすればいいか、というお話。 実際の行列のかけ算と全く関係なく勝手に編み出したら、 「たまたま」実際の行列のかけ算と結果が一致した、という流れになっている。 もちろんたまたまでなく必然なのだが、それが必然であることを 数学的に示すのは私には無理だ。 このあたりの説明は相当大胆なのでいろんな人に意見をもらいたい。

スタンダードな「行列のかけ算はこういうもので、これを使うと 複数の変換をまとめられます」という説明の方がいいのかもしれないと 思わなくもないが、それだと「どうして行列のかけ算をこれに使おうと思ったのか?」 という疑問が解けない。複数の変換をまとめたいという動機がまずあって、 そのためには結合則を満たすような行列同士の演算をでっちあげる必要があり、 そのようにでっちあげたのが行列のかけ算である、 という順番であれば目的とその解決というストーリーで一本につながり、 それだけで充足する。そのストーリーが歴史的に真実かどうかは この際問題ではないのがミソだ。

考えてみると行列というものを導入する動機がいまひとつ薄い。

GPU化開始。まずライブラリを作ってから使い方のサンプルを 作って本で解説。一通り揃ったらボンバーマンもどきを移植。

2007年12月18日

自力三角形ラスタライズサンプルを作ってみた。 しかしこれは必須項目ではないな。興味のある人だけ見ればいいだろう。 演算誤差の扱いや境界の扱いの問題があるので、それなりに その手のものに熟達していないとうまくは書けない。

合唱の先生が出てるコンサートを聞きに行ってきた。 プロと言われる人でも天地ほどの差があるのだなあ、 と改めて当たり前のことを思った。 うちの先生の声の通りっぷりは異常。 なんつうか、3とか5とか7とかの奇数倍音がバンバン鳴る感じ。 具体的に何をどうすればああなるのかはわからないが、 とりあえずは共鳴を妨げない姿勢や口の形を身につけてゆく他あるまい。 あとは筋肉。 体幹の筋肉を鍛えることがどう声をデカくすることにつながるのかはわからないが、 感覚的にはまちがいなく相関がある。

本は411ページ。明日は拡大縮小をやって、ついに行列の合成。 行列A、Bとベクタpについて(AB)p=A(Bp)という結合法則が成り立つことを 証明すれば行列の合成が可能なことがわかるのだが、 むしろ結合法則が成立するように行列同士の かけ算が定義されただけ、と考えた方がストーリーは捉えやすい。 実際どうなのかは知らんが。 明日中にGPUを使う所まで行けるといいが、たぶん無理だろう。

FM合成じゃなかったですか。そのうちちゃんと勉強してみようかなと 思いますが、今回は適当で。本筋じゃないですし。

2007年12月17日

いっそ完膚なきまでにあきらめがついてしまうか、 そんなことが思考に入りこむ余地がないくらい他にやることがあればいいのに。 しかし周りからは依然として圧力がじわじわとかかってくるし、 私自身がそういうことを気にし出してしまった以上容易には止められない。 ラノベを読んでいるだけでそういうことに思考が行ってしまう。 今までは恋愛話をいくら見ても別の宇宙のファンタジーくらいにしか 思っていなかったというのに。 何かと「あんときメールの返事しなかったなあ」、 みたいな失敗を思い出して後悔するとか、 webで世の中の人の意見を調べてみたりとか、そんなのはあまりにも時間の無駄だ。 何か決定的に行動を起こして決定的に失敗するか成功するかしないと たぶんじわじわと全ての効率が落ちた状態で生活するハメになる。

ピアノを始める時も出会いがどうのと言われた。 先生は普通に既婚者だし、個人レッスンで出会いもクソもあるかと思うのだが、 知らなければそう思うのも無理もない。 英語なんてなおさら出会いもクソもないだろうに。

気分が沈んで仕方ないのでピアノ。 今週の速度は97。速いが、まだ行ける。 シューベルトは通してみたら10分強。 かなりの時間を苦手なごく一部で食っているので、 そこを直せば劇的に高速化できる。 プログラミングと同じ考え方をしているのはどうかと思うが、 シャンドール先生も「曲の解釈は音楽だがピアノを弾くことそのものは単なるスキルだ」 と言っておられることだし、かまうまい。 私はまだ音楽以前の段階にいるのだ。 今週末までにAパート2分を目指そう。 それくらいの速度になれば見てもらうのも効率がいい。 とにかく40分という短すぎるレッスン時間を有効活用するには 速度が絶対的に必要になる。 チェルニー30-8と9も8割速度で完成させたい。 7割でしか弾けないまま合格が出てしまうのはチェルニーの目的を考えれば あまり良くないからだ。 ハノンの音階もいい加減全部それなりに弾けるべきだ。 シャープとフラットが4つ以上のものをまとめて練習して片づける。

くそう。弾いてる間はいいが、弾き終わるとダメだ。 相手が欲しいと自分が思っているのかすらよくわからないままに、 「言われてみりゃ一人で死ぬのも、子孫を残せないのも嫌な気はする」 みたいな曖昧な感情だけが増幅されている。 これだけ一人暮らしに特化した生活パターンを持ちながら、 結婚をどうこう考えるなんて滑稽もいいところだ。 しかしそれでもwebを見て回っては 「いい年こいて相手がいたことがないなんてのは人間的に欠陥品である証拠」 とか書かれてるのを頻繁に見つけてヘコむ。実際それは事実だろう。 私の能力は欠陥の穴埋めとして存在しているのだから。 何をやっても自分がからっぽなのではないかと思うことが最近多い。

本当に欲しいと思った時には手遅れ、ということはたくさんある。 そういうものは本当に欲しいと思う前に、 あるいは必要性を実感する前求めなくてはいけない。 このことが私にはどうにも理不尽に思われて、 保留を繰り返す原因の一つになっていた。 そういえば今日の朝不動産屋から電話が来て、マンションを買わないかと誘われた。 私が住んでいるあたりは再開発がかかるので価値が上がるらしい。 人に貸せば住めない時間も有効活用だそうだ。 まあそういうのは何かしらの調査をせねばわからんし業者の言うことを 額面通り信じる気などさらさらないのだが、 しかしその手の「金を運用するテクニック」にも一定の真実はあるのだろうとは思う。 考えるのが面倒くさいからといって銀行に金を預けて放置しておくことが 最良であるとは思えない。 この手の決断は正しい決断であるならば早いほど良いのであって、 保留しているうちに手遅れになる可能性はある。 手遅れになる前に抜本的な手術をしろ、 というのは私がいつも会社で主張していることだが、 私自身にはそれはまったく適用されておらず、大抵判断は保留だ。 だから、最近は「勇み足による失敗は失敗ではなく学習である」 という無茶苦茶な理論でとにかく動くことを課している。 染みついた保留癖はそう簡単には直らないが、一定の効果はあった。 ピアノと英語は勇気を出した結果だ。 自分が初めて会った人、しかも外人とこんなに会話ができるなんて思わなかった。 ここ数年で一番長いこと話した親族以外の異性は英語の先生だろう。 この前の宴会も勇気を出して参加したが、あれも正解だった。 あまりに豪華メンバーで一回は躊躇したのだが、 「CEDECで話したんだし、オレだって豪華メンバーの一人だ」 とか無理に思いこんでどうにかした。どうにかなった。今月もあるので参加する。 とにかく、致命傷にならず、それが人にそれほど大きな迷惑をかけないのであれば 多少の無茶はどんどんすべきなのだ。その過程でいくらか人に迷惑を かけてしまうこともあるだろうが、もう気にしない。 気にしないようにがんばる。

「ツァラトゥストラへの階段」。ラノベで福本。扉の外の人だ。 どうも同じ設定で、今度は一人のキャラを長く描くつもりっぽい。 パターンは一緒で、主人公が勝ちすぎない程度に勝つだろう、 というようなレベルではオチは見えているのだが、 もう少し細かいところでは全然先がわからないので私には十分面白い。 私がもしこういうゲームに参加したら一瞬で死ぬ側の人間だろう。 それにしても、この人の作品はなんでこういちいちエロいんだろうか。 少し手を入れればそのままその手のゲームのシナリオになりそうだ。 とりわけ後半の株ゲームはどう見てもそれにしか見えない。 まっとうなシナリオとキャラを用意して、味付けとして この株ゲームをうまくシンプルに整理して盛りこめば 普通に面白い代物が出来そうに思える。 というわけでヒマなら読んでみてください、T氏。

絶対音感持ちであることを合唱では明には言っていなかった。 しかしそれが人の役に立つならばもっと使うべきだと先日思い直した。 どうせすぐ忙しくなって辞めてしまうだろうと思っていたが、 なんだかんだ言ってもう一年以上いるのである。気にするだけ馬鹿馬鹿しい。 先生は私など比較にならないほど強力な絶対音感持ちなので、 先生がいる時には私がでしゃばる必要などないが、いない時には役に立てる。 ただ、難しい事もある。私が5年前より成長しているならば、 そのあたりもうまくやってのけられるだろう。

本。ベクタや行列はまず「単にコードを短くするための道具」 として導入した。 数学的な道具としてでなく、まずはプログラミングにおけるクラスの一種として 導入する。 ベクタ演算や行列ベクタ積の持つ幾何学的な意味は後回しだ。 あくまでも複数のスカラ演算をクラスにまとめた結果として存在する のがベクタや行列であるという立場を取る。 元々「先に行列と行列のかけ算はこうするんです」と言う説明の仕方は 数学的ではない。 「こういう結果になるような計算手順を決めて、これにかけ算という名前をつけた」 という方が正しいし、わかりやすくもある。 この説明の仕方であれば最初にベクタや行列の全性質を説明せず 小出しにすることができるので、この本向きだ。 しかし論理展開は注意深くやらねばならないだろう。 私の内部ではベクトルの加減算の幾何学的な意味がすでに自明になっているが、 読者にとってはそうではないからである。

浮動小数は全部doubleにした。floatは玄人向けすぎてこの本にはそぐわない。 まあ終わりの方で説明を入れるつもりではあるが、上級編。 頂点データすらdoubleで渡せるようにインターフェイスを整備する。

2007年12月16日

いろいろ試してたら筋肉痛が。脇の伸縮を鍛えたい。

大手小町を見てると結婚とかする気が失せるな。 夫の給料が安いと罵る嫁の書きこみとか。700万で安いっておい。 私なんて放っておいたら永久に到達しない額なのだが。 少なくともこの会社で到達することはねえ。

仕事。大幅に高速化し得る細工を仕込んで、 これで今回の仕事はほぼ終わり。あとはメンテナンスとせいぜいあっても調整程度か。 当分本だけ書いていられるはずである。

FM合成ってのがなんなのか知らなかったが、 何のことはない。正弦波を足すことじゃないか。 丁度今日やってた。webでトランペットのフーリエ解析結果を拾ってきて そのままパラメータぶっこんだらそれなりにそれっぽい。 ただし金管の音色のかなりの部分は鳴り始めの不安定領域によるものなので、 そこを再現しないと本当に金管には聞こえないわけで、 お遊びでやるのは辛すぎる。 しかし、電子音には電子音の良さと使い道があるのであって、 少ない倍音組成しかなく単純な波形であることをうまく活かした方がいい。 生楽器にはあれほどシンプルな波形は決して出せないのだ。

音と音のつなぎでノイズが入る。 二次微分まで連続になるようになめらかにつながないとたぶんダメなのだが、 正弦波ではパラメータが足りない。 未知数が三つないと自由度が足りなくてつなげないからだ。 正弦波を3次スプライン曲線で近似してやれば 二次微分まで連続になるようにうまくつないでやることはできる。 それが良いのかもしれぬ。

2007年12月14日

ターンA7。このキャラだもん、女装させられるよなあと 思ったら案の定。 そういえばエルガイムでもダブルゼータでもしてた気がする。 誰かの趣味か。

本に暫定の表紙を描いてもらった。やる気出るね。 関係者用にアップしてある。 マジでこれ表紙で出したら勇者だな...間違いなく会社と出版社に止められる ので心配するまでもないが。 まあ書いてる最中くらいはいいだろ。

20日でこれか。自分用の記録。

2007年12月13日

胴体の前後方向の曲げ伸ばし運動を重点的にやっているのだが、 これはすごいな。歩くのも階段をのぼるのも物を持つのも物を殴るのも ピアノを弾くのも全部これだ。 今日は蒲田まで2kmほどこれで走ってみたが、脚が全然疲れない。 普段より強い負荷がかかったためか鈍い痛みが 背中の下半分を覆っているが、使っている証拠だしいいだろう。 だいたい見えてきたので次は胴体の左右方向の曲げ伸ばし運動も 取り入れたいのだが、これはまだよくわからない。 とりあえず歩くのが一番長時間やる運動なので歩きに取り入れたいのだが、 どうにもぎこちない。最初はこんなもんかもしれんが。

前後、左右と来て三つ目の基本運動は腰の回転なのだが、 回転を体重移動と同時にやるのは相当難しい。 前にある足と逆の手で殴るパンチは腰の回転で打つのが普通だが、 前進運動とこれをうまく同期させるのは難しく、 大抵移動が終わってから腰を回して打つような状態になって、威力が出ない。 よしんば同時にやれても回転軸が甘くなってねじりの力が逃げてしまう。 たぶん最初は前後の曲げ伸ばしと体重移動を同期させることから始めた方がいい。 両手を同時に前に出してパンチを打つと回転しようがないので 純粋に前後方向の運動だけを練習できる。ついでに肩甲骨もよく動くようになって 一石二鳥だ。

ガーナは雨の量が減ったせいで水力発電の発電量が低下し、 結果アルミニウムの精錬コストが増大してかなりヤバい状態に陥っているらしい。 英語の先生の一人にガーナの人がいて、この前そんな話を聞いた。 うちらが考えなしにエネルギーを使いまくっていることが そういうところにダメージを与えている。 普段は地球の裏側のことまで考えて生きてはいないが、 こういう機会があればさすがに考える。 増えすぎた種が自滅するのはずっと繰り返されてきたことで今更 嘆くほどのことではない、という科学者的な意見もあって大枠では私も賛同できるが、 種としては自業自得でも最初にダメージを食う人達は別に何をしたわけでもないのだ。 海に沈む国の人々もそうである。 しかし、それはそれとして私は何もしない。 せいぜい数日の間こまめに電灯を切ったりするようになる程度だろう。 申し分けなく思う気持ちは持ち続けたいが、それも所詮偽善だ。

ロード時間は1秒まで、という掟でゲームを作りたい。 DVDからの直接実行を想定すれば同時にロードしていいのは5MB程度となる。 でもこれ結構多いと思うぞ。 できるだけロード後に生成できるものはロード後に生成するようにして、 さらにきちんとロードするデータの特性を鑑みた圧縮をかければ それなりなことはできる。

ターンA、6まで。妙に新鮮で面白い。会話になってない会話とか。 それにしても、これが世に出るまで黒歴史という言葉が存在しなかった、 ということが信じられない。もうずっと前からあるような気がしていた。

2007年12月12日

ウソのように96の速度が楽になった。一体何が違うのかわからない。 確かに第九のせいで日曜は練習しなかったから一日空いているのだが、 それくらいであそこまで辛いのは不自然だ。 まだまだ体の使い方にムラがあるということだろう。

朝英語がないのをいいことに2時間半も弾いてしまった。 その甲斐あって、 シューベルトの構成をABAB'とすれば、ABAまではほぼつまづかずに弾ける。 再来週のレッスンまでにABAで5分未満になるくらいまで速度を上げたい。 それくらいになれば流れを感じられるだろうし、それくらい滑らかに弾ければ 音楽性に関して指示を出されても対応できるだろう。

メールで「ピアノ練習室借りてみたら?」と言われ、 調べてみたところ川崎の楽器教室が空いている時間に貸し出しをしていた。 どれくらい空いているものか今度行って確かめてくる。 30分500円から1000円くらいとかなり安い。 後は合唱に早めに行って誰もいない間弾かせてもらう、というのがせいぜいか。

2007年12月11日

本。wavファイルの裏読みこみと再生クラスの整備。それとサンプル。 さて波形データ直入力機能をどうしようか。 将来のために バッファを半分づつロックするストリーミング用関数を用意せねばならないのだが、 インターフェイスの設計が問題だ。 現状波形データクラスと再生クラスが別で、 一つの波形データクラスに複数の再生クラスを接続したりできるのだが、 ストリーミングバッファの場合は一対一になる。 再生クラス単体でコンストラクトできるようにすべきか、 構造を変えず再生クラスから再生位置を取得して波形クラスを書き換えるべきか。 あるいは、ストリーミング再生用の別クラスを用意すべきか。 それと、エラー処理の問題。ファイルがなかったとか、壊れてたとかいう時に エラーを返すべきか、それともその場でassertこいて死ぬべきか。 ぶっちゃけゲームにおいてはファイルがないなんてのは致命傷に決まっているので assertで止めた方がいい。 しかし、ゲーム以外の用途(例えばサウンドをテストするためのアプリとか) に使うことだってあるわけで、 壊れたデータをぶっこむ度にアプリごと落ちていては実用性に乏しい。 しかしゲームに使うことだけを考えれば、ユーザがいちいち エラーになったかを確認せねばならない作りよりは問答無用に落ちた方が ユーザがエラー処理コードを書かずに済むのでよほどユーザフレンドリーだ。 さてどうするべきか。下手に両立させようとすると 両方で使い勝手が悪くなるし。

2007年12月10日

今週の速度は96。 きつい。かなりきつい。これはブレイクスルーがないと100まで到達するかも 怪しい。たかだか100gの重さで押せるはずの鍵盤がこんなに重いのは 無駄な力が入っているからに他ならないのだが、 この速度で脱力と制御を両立するのはまだきついようだ。

本業。サポート業務はどうにも好かん。 しかも自分が作ったものでなく他人が作ったものを箱詰めして渡す、みたいな仕事。 箱詰めにも多少のオリジナリティは入られるが、 もっといい詰め方を思いついたからといって、 後になって詰め方を変えると客が面喰うので変えられない。

2007年12月9日

第九。合唱の善し悪しは中にいるとあんまりわからない。自分が必死だし。 しかしオケの善し悪しはよくわかる。ラッパってしくじると本当にキツいな。 一個あたりの音がデカいだけに。

来てくれた人ありがとう。といってもここを見てるのは一人だと思うが。 もう一人は会社のムチャクチャ歌がうまいらしいという 噂を聞く人で、「本当に素人合唱なんて聞きにきてくれるんだろか?」 とか思ってたが、来てくれた。挨拶できなかったのが悔やまれる。 差し入れももらったことだし、明日礼を言おう。

腹筋が嫌な形になってきた。腹筋と言っても、脚のつけねのすぐ上のあたりの左右の 奴で、おなかの真ん中ではない奴。 歌とピアノと拳法のどれもがここの筋肉を使っているが、 中でも圧倒的にここを酷使するのが歌。 第九のような絶叫ソングだとわかりやすい。 本当は小さな声を出す時も同じなんだが、やはり最初は大きな声で 練習するのがわかりやすい。

結婚、いいなあ。オッサンオバサンが大半の合唱だけに 大半既婚者なわけだが、見てるとなんかうらやましい。 帰り駅までとある夫婦と話しながら歩いたのだが、 もし私があと20年以上生きるのであれば、 ああいう20年後が欲しいと思った。 婿にもらってくれる人はいないものか。 つうか、どうやって探しゃいいんだ。 英会話の先生に、電車で隣に座ってる人と電話番号交換した話を されて、「君もやればできるさ」とか言われたのだが いくらなんでもそれは極端な話だよな。たぶん。 しかし何らかの機会に一緒になった初対面の人に声をかけるくらいは できんとたぶんどうにもならんのだろう。 結婚とか言う前に恋愛をどうにかせねばならんわけで。 ああいう合唱なんかでも積極的な人は声かけたりするんだろうなあ。

2007年12月8日

集団の性能と人数の関係をイメージで式にしてみた。N-k*N*N。 第一の項は人の数に比例する部分。第二の項は摩擦みたいな何か。 最初のNしかなければ10人いれば10倍になるが、 人が増えると二次の項が支配的になってだんだん性能が落ちていく。 たぶんプログラマだとkは0.05くらい。10人で効果がマイナスに転じ、 一人あたりがそれなりな性能を発揮するのは6人くらいが限度。 摩擦項の中身はチーム内のコミュニケーションコストだったり、 責任感が減っていくことによる人間の性能低下だったり、 分業の境界領域での不具合だったり、 そもそも後から入れる人ほど性能が低い人である可能性が高いという ことによるものだったりする。 適当に思いついただけだが、実際そんなもんかもなあ、と思った。

本。 全部自分で作る分設計を完全に最適化できるので 仕事で作るものよりも遥かに綺麗にまとまる。 面倒くさい割に性能にそれほど寄与しない部分を決め打ちにして 使用者の負担を減らすことで、 まあ8割くらいの性能を5割の労力で出せる感じのライブラリに仕上がりそうな気が してきた。頂点形式決め打ち、テクスチャフィルタリング決め打ち、 ミップマップは自動生成、みたいな。 しかしシェーダが問題だ。 「豪華な固定機能」くらいに自由度を落として シェーダコードも書けなくしてしまうのが楽なのだが、 見栄えをいじって遊ぶのにシェーダを書くほど効率の良い方法はないわけで、 そこを完全に隠すと味気なくなりすぎる。 売り物用ならそれでもいいが、趣味で使うものは楽しくてナンボなのだから そこは守りたい。 なんか凄まじくヌルい言語を作ってそれで書いてもらうのがいいんだろうか。 本の内容にどこまで入れられるかはともかくとして、 最終的にバラまかれるライブラリの完成形はイメージしておきたい。

perlはコードがすごいことになるのでダメだという意見を良く聞く。 phthonとrybyが二大勢力で、perlはその勢力を急速に減じつつある。 しかし、perlは100行以上書かないことが前提の言語なんだからあれでいい んじゃなかろうか。 100行で書けるものは多少汚なくても問題ないので、 無理矢理に綺麗に書かされる言語を使うまでもない。 というか、C#もperlもC++も向かないような用途がさっぱり思いつかない。 GUIがつけばC#、100行以下で適当に書き捨てするならperl、 C++ライブラリをリンクしたりバイナリをゴリゴリいじるならC++。 それ以外の用途ってなんだろう。 単にperlより先にrubyやpythonを覚える人が増えただけな気もする。

第九前日練習。まあこんなもんだな。オケがつくと自分の声は全く聞こえないので 合ってるかどうかさっぱりわからん。

ピアノ。チェルニー30-7終わり。やっと1/4というところか。 再来週までに8を片づけて9もほぼ完成させておこう。 このまま行けばまあ夏の間にチェルニー40に突入できる。ほぼ順調だ。 ところでシューベルトに時間を食ってインベンション14は見てもらえなかった。 やはり速度を上げないと効率が悪すぎる。 バッハが優先と思っていたが、先生の心がシューベルトに行ってしまっているので、 シューベルトを見てもらうのにかかる時間を短縮しないとバッハが進まない。 そのためにも速度だ。バッハはどうせ次では通らないので、 とにかくシューベルトの速度を上げよう。

「鍵盤を半分押すくらい」「ペダルをだんだん踏みこんで」 みたいな指示を満たすにはうちの電子ピアノは反応が悪すぎる。 そのレベルに微妙なスキルを練習するのは致命的に無理だ。

ペダルの問題。 ピアノは何もしない状態では弦にフェルトを押しつけて振動しないようにしている。 鍵盤を押している間その弦のフェルトが外れて音が響く。手を離すと フェルトが戻って音が切れる。ペダルを踏むとフェルトが全部離れるので 鍵盤から手を離しても音が切れなくなる。 しかしそれだけではない。全部の弦がフェルトから解放された状態で ある音を叩くと、その倍音にあたる弦が共振して音を出す。 だから、ある音を叩いて指を離さないでいる時の音と、 ペダルを踏みながらある音を叩いた時の音は全然違う。 ところが、電子ピアノにはそんな共振はない。 高い機種は計算して共振を足してくれるらしいが、 安物ではそんなものはなく、ペダルはただ音をのばすだけの装置にすぎない。 だから、電子ピアノばかりやっているとペダルの使い方も本当には わからないままになってしまう。

楽器オーケーのところに引越して生ピアノを買う、という究極の選択が あるにはあるが、今の給料でそれを実行するなら出費を月5万くらい減らさないと 生活が耐えられない。食費をギリギリまで抑えてもなお足りない。 やるとすれば「最高級付近の電子ピアノを買う」だろう。 なんぼかはマシになる。しかしそれすら部屋に運びこめるかどうかが不透明。 おそらくは部屋に至る経路を確保できる部屋に引っこさねばならんだろう。 つまり無理だということだ。先生の要求水準がかなり微妙な域に 踏みこんで来たので、何か手を打たんといかんのだが、 現状ではどうにもならん。今の状況で可能な上達に集中するしかないということか。 しかしそれではいつまで経っても音楽にはならん。 誰かピアノを持ってる人を友達にして弾かせてもらう、 とかいうことはできないものか。後は合唱の時に早く行って10分でもいいから 弾かせてもらう、というくらいだろう。

給料上がりゃいいんだがなあ。 でもボーナスは前より評価低かったし、給料も前ほどは上がらんだろう。 前のプロジェクトの時はそれなりに目立ってたが、 あれが終わってからというものえんえん閑職なので、評価のされようがない。 面談で「マジで仕事ねえの?」て聞いたら「君は本を書きたまえ」だったしな。 あからさまに大変そうなチームがあるのに手伝えと言われないあたり、 もしかして、私はもういらない子なのか?とか思えてくる。 つうか本なんて評価のしようがねえじゃん。直接的に利益にはならんし、 人件費考えたら絶対赤字だし、 価値はプログラマにしかわからんし。つうか評価する人は誰も読まんだろ。 仮に評価されたとしても 制度上一回の昇給は5000円程度が限界なので、 手取り30万に到達するのに5年以上かかる計算になる。 階級を上げれば話も違ってくるんだが、 うちの会社は管理職化する以外に階級を上げる方法がない。 にも関わらず 階級ごとに給料の幅が厳密に決まっているので 階級を上げずに給料を増やす方法もない。 私は「特殊技能タイプ社員」という属性で認識されているので、 管理職化はおそらくあるまい。金の面では絶望的だろう。 何かしら考えねばならん。

いまさらターンAを2話見た。面白いじゃないか。 続きみてえ。しかし、たぶんものすごい勢いでダレるんだろうなこれ。 劇場版をバンダイチャネルででも見て終わりにするのも良いかもしれん。

clannad9。 アニメの表現力が悪い方に作用している気がするのは、 単に私がやさぐれているだけなのだろうか。 元々猛烈に非論理的な代物なので表現力がデカいメディアでやられると 見えなくていいものまで見えてしまう。 ノベルゲーだと「見えてない人に触られるのか?」 みたいなことを考えなくて済むからな。 理性的な人はちゃんと考えられるんだろうが、私はあんまり考えないタチなので 素直に記号だけで話を把握してしまう。

clannad10。 風子やことみはスパイスが効きすぎたキャラだと思う。 そしてアニメ化はその濃度をさらに増幅してしまった。 みんなこれをどう受け取っているのだろう。 ところで、私はずっと疑問に思っていたのだ。 鍵好きの皆さんは一体どのようなところが気に 入って鍵キャラを好いているのだろうか。 一部の濃度の高い人達に関しては数年前の祭の時に聞いて感銘を受けたり 自分の未熟を悟ったりしたのでまあそれはいいのだが、 敢えて発言するまでに至らない多くのファンの人達はどのようにして このキャラ達を好いているのだろうか。

見てる間辛い作品に価値を認める文化は廃れたのだろうか。 ニコ動でおもろいもの見てるとたいがい何かしらの空しさが楽しさと 一緒に襲ってくるんだが、そういう感覚ってないんだろうか。

似鳥鶏「理由あって冬に出る」。ちと変わった経路で紹介されたので読んでみた。 申しわけないのだが、一番言われて悲しいであろう言葉しか出てこない。「普通」。 最初の数ページはなんか読みにくくて「なんか雰囲気あるかも」とか 思ってたら、あっと言う間に普通に読みやすくなった。 推理しながら読む人間じゃないのでトリックの善し悪しはわからん。 キャラは普通。普通に変人な探偵。 普通にそれなりに考えつつ程良く足りない主人公。 普通に魅力的風味な脇役。すなわち普通。 普通に起承転結してて、普通に何回かに分けて謎が解かれて、 最後は普通に気の効いたオチがついて、すなわち普通。 たぶんチーズを良く知らん人がチーズ食って「全部牛乳発酵したもんじゃん?」 と言ってるのと同様に私もいろいろとわかってないんだと思うが。

2007年12月7日

トマト缶とチーズを煮てパスタにかけてみる。 こうなるとくどいな。おいしいにはおいしいんだが。 それにしてもチーズを使うと皿を洗うのが面倒でいけない。

前書いたVisual C++で通らないコード。

struct A{
   struct Z{
      virtual void foo( A* ) = 0;
   };
};
struct B : public A::Z{
   struct Z{
      virtual void foo( B* ) = 0;
   };
};
struct AZ : public A::Z{
   void foo( A* ){}
};
struct BZ : public B::Z{
   void foo( B* ){}
};
int main(){
   AZ a;
   BZ b;
   return 0;
};

確かにややこしいので、通らなくても無理もないのかもしれない。

2007年12月6日

ゴルトベルクの一部を鳴らしてみた。プープー音で。 三角波のこの懐しさはすごいな。

本。405ページ。音の章は終わり。 音とファイルロードのライブラリで試した新設計が良さげなので、 全体をこれに作り換える。明日半日はそれだな。 その後wavファイルを鳴らす実験をして、 うまく言ったらいよいよ行列か。 「行列って何?」というところから説明するのに一体何ページかかるんだろう。

100g300円のレッドチェダー。うめえ。何このアミノ酸濃度。 チーズってのはダシグッズなんだな。 豆乳で溶いたチーズをパスタにかけて食う。うめえ。 ブルーチーズは臭いので大量に食うと飽きるが、 ゴーダやチェダーは変な臭いがしないので飽きにくい。 そのまま食うならフレッシュ系や白カビ系がいいが、 ダシグッズと考えるなら熟成系には及ばない。 アミノ酸ではパルミジャーノレジャーノが最強と聞くのだが、値段が高すぎる。 なお、この前買ってきた雪印のとろけるチーズはアミノ酸が弱くてダメ。 ゴーダ60%以上使用と書いてあるのだが、所詮は安物か。 というか、残りの40%が何なのかが気になる。 製法がまともならゴーダを名乗れなくてもそれなりにおいしいはずなのだが、 どうも日本のメーカーのチーズは熟成が甘いのか味が薄い気がする。 十勝カマンベールもまずくはないんだが、どこか足りない味だし。

豆乳を使っていることに深い意味はない。 溶媒になりそうなものとしてたまたま豆乳があっただけだ。 最近風に吹かれて豆腐屋ジョニーが圧倒的に波乗りジョニー よりうまいことに気づいて、波乗りジョニーを買わなくなってしまった。 だからといって豆腐屋ジョニーがどこにでもあるわけではなく、 なんとなく「豆乳でいいや」という気分になってしまうのである。 ほとんど水代わりに飲めるので重宝している。 体に良さそうなイメージあるし。

調べたら女性ホルモンに形が似た物質が入っていて 大量摂取は危険らしい。しかしそういう場合の「大量摂取」 ってのはおよそありえない量なのでまあ問題あるまい。 何百年も食ってきたわけだし。

豆乳に加水分解酵素ぶっこんだらアミノ酸スープができてウマーな気がするんだが。 それを煮詰めればチーズ並みのダシグッズが出来るだろう。 でもそういうものがないところを見るとダメなのかなあ。 ミソや醤油はそれに近いが、アミノ酸と塩分の 比率の問題でそのものをダシにはできない。 酸性にして炊けば加水分解されるんだが、タンパク質は 炊くと凝集して分解しにくくなるので、やはり炊かずに分解するのが ベストだ。そうするとやはり微生物か。

考えたらあるじゃん。臭豆腐って位置づけ的には大豆のチーズだ。 豆腐ってフレッシュチーズみたいなもんだし、それを発酵熟成させたものと 云えばアレだ。だが、無理だ。あれは食えない。

豆乳も酸と塩でタンパクが凝集するらしい。 カッテージチーズ的な何かは作れるということか。

第九練習。止まらなければ大丈夫だが、止まるともうわからない。 本番は大丈夫だと信じたいが。とりあえずヤバいところはわかったので 気にはかけておこう。

2007年12月5日

海外ゲームである「Uncharted」を 日本で「アンチャーテッド」という名前で売るのは無茶だろう。 向こうの名前は翻訳せずにカタカナにするのが最近の流行なのは知っているが、 これはいくらなんでもどうかと思う。 まず間違いなく意味がわからない。 みんな英語がわかるようになってきたから大丈夫だろう、という判断 ではないよな。単にいい名前が浮かばなかっただけだろう。 確かに下手な名前をつけると一瞬でB級っぽくなってしまうので 怖いのはわかるのだが、その割には副題に「エルドラドの秘宝」 とかついていてやっぱりB級。 どうせなら「Extream Justice」を「必殺処刑コップ」にしてしまうくらいの気概が 欲しいものだが。

本。音鳴った。プープー音。8bitモノラル8KHz。たまらない音質。 一通りサンプルを揃えたら一曲何か鳴らしてやろう。 しかしまあ遊びはさっさと終わらせて、次は二次元変換。 ついにベクタと行列の話をする時が来た。

問題は浮動小数点。とりあえず本質的なところが片づくまでは doubleでやってもらうとしよう。 性能をギリギリまで求めようなどと思わなければ 全部doubleでやるのは良い考えだと思う。例え売り物であってもだ。

2007年12月4日

本。音の基本を書き始めた。しかし、音ライブラリはファイルアクセスを行うので、 ファイル読みこみライブラリを先に作ってしまうことにした。 せっかくだしそれなりにまともに作るかと思って ローディングスレッドを分けた設計にしていたら猛烈な睡魔が襲ってきて 何もできなくなった。マルチスレッドがからむ設計は本当に面倒くさい。 しかし、物を食べて、風呂に入って、ピアノを弾いた後 改めて考えてみれば、そもそもややこしいことを考えねばいけないような 設計は間違っているに違いないのであって、 もっとシンプルになるはずなのである。 考える手順を完全に間違った。 まず先に制約を列挙し、優先度の高い順に制約をソートし、 制約を全部満たす設計だけを残す。たぶん考える余地がないくらい 選択肢が減るはずだ。 いきなり漠然と作り始めるのが間違いである。 眠くなければそれでも途中で正常な思考手順に戻れたんだろうが、 英語の日はとにかく眠いのが常なので仕方ない。

Visual C++にバグを見つけた。泣く泣く設計を変更する。 コンパイルできないのではどうしようもない。gccなら通るのに。

2007年12月3日

本。継承を使ったよりエレガントなシーケンス遷移の実装と、 継承に関連した問題点。

一つ大変更を思いついた。 が、重大な欠点に気づいたのでなかったことにする。

2007年12月2日

クラナドアニメの出来が異常にいいのだが、 なんでこんなに見ていて落ちつかないんだろうか。

先生が来て拳法。方向は間違ってなかった。 胴体を集中的に動くようにする練習はアリだ。 前後方向はかなりいい感じになってきたが、左右方向がまるで動かない。 これから数ヶ月集中的にそこをやろう。 まずはそこを向上させる運動を発明しないとな。 しかし肉体レベルのことだけ考えていては視野が狭くなりすぎる。 あの細かさ、鋭さが必要だ。 あの圧倒的な柔らかさに至るには明らかに機械的な性能だけでは足りない。

喪女板を見ていて、母が昔「女ってのは依存的な生き物なんだよ」 みたいなことを言ったのを思い出した。 女性が書いた漫画では男が書いた漫画以上に女性が依存的に描かれているケース が多いのが証拠の一つだ、みたいなことも言っていた。 そしてスレを見ていると「愛されたい」という台詞が多く出てくる。 喪男板との比較は面白い。 「物を獲得する欲望は男の欲望で、物として獲得される欲望は女の欲望」 なんていう単純な言い方はどうにもうさんくさく感じられるのだが、 板だけ見ているとそういう傾向があるような気はしてくる。 むろんこれは特殊な場所にすぎないのでサンプルとして採るのは危険だろうが。 個体差が大きい問題なので、相当なサンプルを取らねば意味のあることは言えまい。 実際私は相手に欲しがられることを欲望するタチで、 先の構造で言えば女性的ということになるが、 「居場所が欲しい」みたいな事を言う男はいくらでもいるわけで、 どう考えても私が特殊なわけではない。 相手にとって自分の存在が利益にならないと落ちつかない人は それなりに沢山いると思うのだ。そこに男女差があるのかどうかは私にはわからない。

なんてことを考えていた矢先に、友達が家に来て「大手小町」というのを 教えてくれた。2chに比べると一般層の意見が多く読める掲示板である。 これもまたべらぼうに面白い。 結婚って大変だったんだな。知らなかった。というより、考えたこともなかった。 やはり結婚したいなあなどと思いつつも、どこか縁遠いものとして 本気で考えていなかったのだろう。

とりわけ面白かったのは、所得に大きな差がある男女が結婚した話だった。 どちらがどれくらい家賃を払うかとか、それぞれが自由にできるお金は どの程度に設定するかとか、そういうのが問題の種になるのだと言う。 私の母は専業主婦だったので格差も何もあったものではなく、 私はそれが普通だと思っていたので、そんなことが問題になるとはまるで 思わなかった。そもそも結婚した後の金の配分、 などという問題についてなんて考えたこともなかった。 大きく稼いでいる方がより多く負担するのが理にかなうのは誰の目にも 明らかなのだが、人間の心の問題は簡単ではなく、 所得が少ない側が劣等感を持って自分が寄生しているのではないかと 考えてしまったりするらしい。多く稼いでいる方が不公平感に耐えられずに キレるケースすらあるそうだ。 両方があまりそういうことを気にしないおおらかな人間ならいいのだろうが、 たぶん私なんかは自分が少ない側だったら結構気にする方だろう。 それに怖いのは、相手の方が多く出してくれているような状態が 長く続いた時に、それをあたかも「当然の権利」であるかのように錯覚して 態度がデカくなることである。 この手の変化は ゆっくりとしたものなので自分の精神が劣化していることになかなか気づけない。 あっと言う間に引き返せないところまで厚かましい人間に劣化してしまいそうで 本当に怖い。しかし、かといって自分が多く出す側になれば、 おそらく無用な優越感を抱いて、これまた人間性が劣化するだろう。 金なんかどうでも良くなるくらい互いが自分にないものを相手に見つけて それを必要とし合えればそれでオーケーなのだが、 なかなかそうも行かないようである。

「2ろぐ」を良く読んでいる。しょーもないものも多いが、 読んで良かったと思うものも多い。 とあるプログラムの会社の話なんてすごかった。まだ続いてるけど。 とにかく、あれに比べらうちの会社は相当まともだ。 たいがいにせいやと思うことも多いが、それでもまともだ。 そもそもいわゆる健康を害するようなデスマーチなど 私はまったく見たことがない。 私が見るデスマーチはいつももっと静かなもので、 それはおそらくデスマーチとは呼ばれない代物なのだろう。 実際「炎上」や「デスマーチ」といったいかにもものものしい言葉を 使うにはあまりにも地味で静かなものだ。 しかし、だからこそ容易に解決できないという面もある。

通常プロジェクトにおける問題は下流に行くほどコストが増大する。 逆に言えば、より上流で問題を解決することでコストは削減できる。 要するに阿呆を採用してはならんということだ。 採用は最も上流に位置する工程だからである。 しかし、私の会社がまともな試験をしていたら私は落ちていただろう。 面接と学歴のハッタリだけで通してくれたことを感謝せねばならないが、 しかし落ちたら落ちたで博士過程に進んでいたわけで、 それでも良かったかもしれんと今更思う。 楽しく働けたしすごい人達と知り合いにもなれたので後悔はしていないが。

本書いてる間に考えんとなあ。半年前はCEDECまでに考えとかんとなあ、 とか言っていたわけだが。でもまあ、CEDECとか本に匹敵するイベントが 設定されるとも思えん。GDCもないみたいだし。

2007年12月1日

他の会社とか他の部署の人と飲み会。 同じところもあり、違うところもあり。 おもろかった。

娘を連れてきてた人がいて、とてもかわいかった。 1才とかかなあ。 いいなあ、娘。

ボーナス面談。まあ金のことはいい。働いてないのは事実だ。 ついでなので「本当に本とか書いてていいの?仕事ないの?」と聞いたが、 「今は本を書け」と言われた。なんか「稟議通って予算も組まれてる 正式なプロジェクトだからちゃんと書く責任がある」 とか言われるとかえって嫌な気分になるのは何故だろう。 いやまあ会社で好き放題書いたコードを著作権を放棄した上で ソースごと公開していい、なんてのはこの上ない快感なわけで、 その点に関しては何の文句もないのだが。


もどる