だだもれ

2007年5月31日

stateパターンにおいて、stateを差し替えるのはstateらしい。 stateを持っているクラスをstate自身が知っていないと これは不可能だ。また、自分を差し替えるので、 stateはどこかに置いてあって頻繁にnewやらdeleteするものではないだろう。 一方strategyは持っているクラスが自分で差し替えるから、 strategyクラスは自分を持っているクラスを知らないし、 差し替えのタイミングでnew,deleteすればいい。 なるほど違うな。 シーケンス遷移なんかはstateパターンが良かろうが、 いらないインスタンスがいつまでも生きているのは良くないので、 できるだけ必要になるギリギリでnewして、いらなくなったら可能な限り早く deleteできるような仕組みを考える必要がある。

ビジョナリーカンパニーという本を買ってきた。まだ読んでないが。 あと、ついでに「地球へ...」の漫画を衝動買いした。 でもアニメが終わるまでは読まない。

ピアノは最初に曲を練習し、後から基礎練習をする。 何故なら、帰ってきてすぐならかろうじて音も出せるが、 基礎練習を1時間もやればもう夜中だからだ。 それなりに音を出さないとタッチその他がまるでわからず練習にならないのである。

体の使い方を改善してからというものハノンをやってもさっぱり疲れないので 練習した気にならない。筋トレから脳トレにシフトしている証拠で 喜ばしいのだが、筋肉痛は正義という世界観がまだ抜けていないようだ。 脳が疲れる練習を心がけよう。

やっぱり人が多いからダメなのだ。 人が倍になると、一人当たりの責任感は半分より小さくなる。 だから、責任感の総和は人が増えるほど減る。そんな感じ。 自分の行動がチームの運命を左右するという実感がなくなること こそが諸悪の根源なのではないか。 プログラマだけで野球の試合ができるような状態では 責任感やチームとの一体感など得られようはずもなく、 結局少数の人が良く能力が高い人に仕事が集中することになり、 人を増やした意味は完全になくなる。 それほどの害悪を許容してまで人を増やさねばならないほどの 作業量が本当に必要なのか。わからない。

2007年5月30日

電脳コイル2まで。なんだかさっぱりわからないが、なんかいい。 何がどうなっているのかさっぱりわからないが、 それはそれとして見られるし話の筋は取れる。不思議である。 そういえば母から電話がかかってきて「電脳コイル見ろ」とか言われてた気もする。 母はコンピュータなんてまるで知らないので、 「新鮮な何か」としか認識していないのだろうが、 それでも面白いのだから大したものだ。

仕事が入りそうな予感がしてきたが、 もしその予感通りであればまるで魅力を感じない。 しかし、9月末のイベントはおいしすぎるのでそれまでは 会社を辞めるわけにも行かん。であれば積極的にやれるだけのことはしよう。

借りたインデクスを6まで読み終えた。月姫系、とか言ったら怒られるんだろうが やっぱりそういう印象。ロジックの面白さが足りてないのと、 キャラの属性付けが原色すぎるのがちょっと辛い。 7巻も読み始めているが、この新キャラの口調は辛すぎる。マジか。

毎日ピアノで1時間以上食われててゲームをやるヒマがない。 建設的で良いことだが、借りてるものがたくさんあるのもどうにかせねばならぬ。 ペルソナ3FESも放置状態だ。 アイギスがどういう結末を迎えるのか見届けねばという気持ちはあるのだが、 何分ゲームが辛すぎる。 まあピアノが一段落すればゲームをやる気にもなるだろう。 何事も始めてしばらくは上達速度が大きいので楽しいものである。

ゲームが辛くてもストーリーやキャラクターの魅力で先に進もうという 気になるくらい魅力的なストーリーやキャラクターのいる ゲームを、ゲームが辛くならないようにちゃんと作りたい。 でもうちじゃストーリーとかキャラクターを重視したゲームなんて 作らないからなあ。

ゲームのストーリーがションボリであることが多いのは、本職に頼まないからである。 しかし、本職に頼むとそれはそれでゲーム内容との関係が薄くなって 作業の合間にデモとムービーが入るだけの代物になりがちだ。 うまく両立させられる人はたぶんそれほど多くはいない。

ピアノ。音階すらまともに弾けない状態で言うことかどうかはわからないが、 自分のタッチが甚だ不満。 スタッカートには軽さがないし、音量の制御が粗くてしょっちゅう暴発する。 レガートはレガートでイマイチだし、脳内でやってるフレージングに指が ついていかない。なるほど、これは音楽ではない。 しかし今は音階が先だ。ドレミファソラシドと弾くだけで これほど難しいとは思わなかった。 親指にスイッチする所で音がどうしても途切れる。

2007年5月29日

「達人プログラマー」を読んだ。 だいたい以前読んだ本と内容がかぶっていたので取りたてて 感動があるわけではないが、良い本っぽい。 思想と実践のバランスを取りつつ一日で読み通せる分量に抑えてるっぽいのがいい。 しかし、この手の本はもういいかと思う。気が滅入るだけだ。 自分を改善するのは簡単だが、他人を改善するにはどうすればいいのだろう。

音階が難しい。右手は上がっていくのが、左手は下がっていくのがやけに難しい。

人数が多いことが諸悪の根源なのだという思いが日に日に強くなる。 一人当たりの作業速度も品質も落ちる。 コストは人数分きっかり増える。 チーム内のゴタゴタだけは人数分以上に増える。 そもそもどうしてあんな大人数でゲームを作ってるんだろう。 プログラマが15人も必要なゲームがこの世に存在するとは到底思えない。

大神ちょっと進めた。木に丸を描くと花が咲くようになった。 やっぱりすごい。ゾクゾクする。 でも前書いたような欠点は相変わらず気になる。

ハヤテのアニメは実にしょーもない。だが嫌いじゃない。 ロミジュリはどうしようもなくベタベタだ。だが嫌いじゃない。

なのは。なんかなあ。嫌いじゃないけど。

2007年5月27日

弟が来てダラダラしていた。 11半音の和音を聞かせたら「鍵じゃん」と言われた。 言われてみりゃそうだ。ONEもKANONもこの和音なしには成り立たない。 そして、そう言われてからこの和音が鍵にしかつながらなくなってしまった。 古典派以前の音楽にこの和音は出てこないので、 もっと手を広げないといつまでもこの和音のイメージが鍵になってしまう。 いかん。極めていかん。

楽しき農夫、楽譜に書いてある音符をなぞる、という意味では最後まで弾けた。 今まで見たこともない指遣いがいくつかあってそこでつまづくので、 どうにかせねばならないのだが、指が開きにくいという 物理的要因が最大の障害なので、指を開くストレッチも日課に入れる。 人差し指と薬指で5度の和音が弾けねば ならないというのはなかなかにきついハードルだ。

2007年5月26日

集団において、「私は自分の仕事をしっかりやれば良い」 と思うのは最悪だ。極論すれば、自分の仕事が多少いい加減でも 周囲の様子が見えている方がよほどいい。部分の和は全体にならないからだ。 部分の和が全体に等しくなるような分業は理想だが不可能である。 プロジェクトだけでなく、会社もたぶんそうだ。 他のプロジェクトが燃えようが知ったことではない、という態度は悪だ。 しかし下っ端にできることはあまりにも限られている。

個人が集団のために貢献しようと思うには何が必要なのだろうか。

ピアノの弾き方に関する本を3冊買ってきた。 これだけあれば偏ることはあるまい。

昨日ピアノを弾いたら何かがはじけた。 ハノンは筋トレではなく脳トレだ。 プレディはハナッから脳トレとして扱っていたが、 ハノンはまだ筋トレっぽさが残っていた。それが違和感の正体だったのである。 筋トレが目的ではないのでゆっくり弱めに弾き、ひたすら左手の動きに集中する。 といっても意識で動かすというよりは、左手の動きを眺めている感じ。 拳法でも打っている手を眺める感じが必要だが、同じだ。 1から4を4通りで連続16曲、というあたりが集中力の限界。 ところで、今日からシューマンの「楽しき農夫」が課題に加わった。 ハノンも増えた。バッハは減らない。 全部真面目にやると一日2時間くらいは平気で飛ぶので、 うまくローテイションを組まないとダメだろう。

2007年5月25日

管理とか運営のことばかり考える。 チーフでもなんでもない最下層のプログラマが考えるべきことでは ないはずだが、考えずにはいられない。

ピープルウェア、という本を読んだ。いい本だが、気が滅入る。 やる気を出させることが最良の方法であるのはわかっているが、 そのためには自分がチームの中で一定の役割を果たしているという自負が必要だ。 人数が多いチームでそれを持つのは困難を通り越して不可能である。

こういうことをひとしきり考えた末に、 「オレ、平社員じゃん。こんなこと考えてどうなるのよ」という 思考に戻ってくる。査定の結果5000円くらい給料が上がるそうだが、 それがまるでうれしくないのは何故だろう。 5000円上げてもらえる人間は部内でも少数らしいが、 まるで喜べないのは何故だろう。結局金の問題ではないのだ。

2007年5月24日

放っておけば確実な死。それでも人は手術を嫌がる。 「だって、ほら、今私元気だし、きっと大丈夫ですよ」。

「燃えているチームの人はそれに気づいていないので燃えているとは言わない」 と言っている人のチームが燃えているとしたらこれほどの皮肉はないだろう。

「下っ端からの率直な意見を吸い上げたい」という台詞と、 「下っ端の意見はガセが多く、それに惑わされるのは考え物だ」 という台詞が同じ人の口から出るのは不思議だ。

通常下っ端は積極的に発言したりはしない。 そういう人から意見を吸い上げようとすれば、 匿名で好き放題書き込める場所を作るとか、 社内web日記に書かれたグチから推測するとか、 そういう「ノイズの多い情報」を活用せざるを得なくなる。 ノイズを嫌って責任ある情報だけが欲しいと言うならば、 下っ端から意見を取ることはあきらめざるを得ない。 しかし、私が思うに「フィルタリングを経て有用性が検証された情報」ほど 危険なものはない。一体だれがそのフィルタリングをするのだろう。 それが信頼できるという保障が一体どこにあるのだろう。 「フィルタリングされた情報だから安心」などと思い込んだが最後、 どのように間違った情報であっても信頼できる情報として広がってしまう。 「信頼できる情報」だけが存在する無菌状態であれば、 人を騙すのは非常に容易いのだ。 一方ノイズが多い情報源は情報の数が多いために相反する情報が多く存在し、 「ああ言ってる人もいるしこう言ってる人もいるが、全体としてはこんな感じ」 という曖昧な印象に落ちつく。判断を他人に委ねることはできず、 常に疑念を持ちつつ判断するという態度が自然と養われるだろう。 また、それなりな情報量が集まった場合に 完全なガセが場を支配する確率は驚くほど低い。 wikipediaや2chは信用できないが故に信用できるのである。

2007年5月23日

怖い夢見て起きた。 少し経ってから考えてみると怖いというより夢の割には良く出来てるお話という 感じなのだが、オチがついた瞬間目が覚めて、しばらく体が しびれたような感じで動けなかった。 「怖い物を見た時って、こんな感じなんだろうな」 と納得できる、肉体感覚としての怖さ。 幽霊が出てきて、その幽霊が指し示す方向に行くと死体がありました、 という話だが、実は最初のシーンで死体が画面に映ってる。 三人組の二人が残り一人を学校に行く前に誘うが、何故か留守。 その時に縁側の下に画面には等身大の人形みたいなのがわずかに見えている。 しかしその時点では「あくまで人形」としてスルー。 たぶんカカシみたいなものを作っていたという前提があるんだろう。 作りかけのそれが縁側の下に置いてあるという設定か。 ラストシーンで幽霊に導かれた末に辿りついたのはそいつの家で、 序盤のシーンと同じ構図なのだが、ハエが飛んでる。 振り向くと幽霊はそれを思いっきり指で指し示してる。 ドキドキしながら縁側の下を覗き込んだところで目が覚めた。

どうして燃えるのだろう。 いや、原因はわかっている。対策もわかっている。 しかしその対策は実行されない。 決断がなされないからだ。

ぐるロジであと一個まで行ったからといってその解法が正しいとは限らない。 単に直線距離を短くするように進路を取ることは最短距離を進むことには ならないし、下手をすれば辿りつくことすらできない。 見掛け上完成に近づいているからといって、それが本当に完成に近いとは限らない。

完成の必要条件は複数あるが、満たしてゆく順番は自由ではなく 必ず妥当な順番というものがある。 後になればなるほど満たすのが困難になる条件があるからだ。 例えば絵素材を大量に作ってしまったあとで処理落ちやメモリあふれを 修正するのは困難を極める。ロクな設計もせずに絵素材の量産に入り、 「後は処理落ちだけどうにかすれば完成ですね」あるいは 「後はメモリに収まるようにすれば完成ですね」 という状態まで行ったとしよう。偉い人は画面に出ている綺麗な絵を 見て「そうか、あとちょっとか」などと安心するわけだが、実際には完成は遠い。 処理落ちやメモリあふれといった問題は非常に根本的な問題であり、 これまでさんざん量産してきた絵素材を全て修正する以外に手がないことも 稀ではないからだ。

2007年5月22日

プログレッシブメッシュの例を見たくてDXSDKのサンプルを覗いてみた。 アルゴリズムはSIGGRAPHの論文ベースらしく 詳細はわからないが、見る限り単に頂点を間引いているだけに見える。 少なくともこのままでは使えない。

2007年5月21日

ロミジュリのファイヤーエムブレムっぷりはたまらない。

今日読んだ本に書かれていた夢のない言葉の数々。 「プログラマの能力のバラつきは容易に10倍を超える」 「どうプロジェクトを進めるかよりも、誰をプロジェクトに入れるかの方が 遥かに重要で、新しい方法論にかけた期待はたいがい裏切られる」 「遅れているプロジェクトに人を入れるともっと遅れる」。 管理者にとっては目を背けたい種類の事実だろうが、 現実的な条件下においてこれらは全て事実である。 しかしながら、これらの事実を知る管理者はおそらくほとんどいないし、 それを知る者が進言しても受け入れられることは稀だ。 私も管理者になったらそれらのことを忘れてしまうのだろうか。

2007年5月20日

作曲したい。ピアノで適当に弾いてるとものすごく楽しい。 だが、今のピアノ力では脳内の音が手に伝わらない。 それに音楽を知らなすぎるのでパターンが毎度一緒になる。

「クラシック」と言われる音楽は20世紀初頭に死んだという。 理論の上での進化をやめた流行音楽と、 理論の進化が人に理解できないレベルに到達してしまった現代音楽に 二極化してしまったからだ。 その後の音楽で唯一 ジャズだけが唯一普通の人が聞いて心地良い範囲に踏み留まりながらも 音楽理論の拡張に成功した、という話を聞いた。ならばジャズもやってみたい。 あれだけ変な音が鳴っていても全体としては変ではないという あの不思議感が何によるのか、自分で弾いてみればきっとわかってくるだろう。 まあショパン、ベートーベン、モーツァルトあたりの王道古典を いくらかやってからにしたいので遠い話ではあるが。

面白いことが起きそうだが、期待しすぎてもいかんので期待せずに続報を待つ。

先生が来た。自分の方向がそれほど間違ってないことが確認できてよかった。 脳内の先生動きイメージを更新できたので、 これでまた数ヶ月はイメージを保持できる。 課題はやっぱり体の傾き。傾くのはアキレス腱付近の柔軟性が不足しているのと、 あとは単純に習慣の問題だ。ストレッチを十分やり、 型なりを体の傾きに気をつけてやっていればいずれ解決するだろう。

と二月頃にも思った気がする。やばい。進歩が遅い。ちょっと重点的にやらねば。

増7度がいい。渋い。あと、増4度がいい。不思議感。 1から11半音まである和音の中で 2,3,4,5,7,8,9,10半音の和音は馴染があるが、 6とか11の良さは最近知った。 音楽理論の本を読んだのは正解だったな。物に名前をつけることが これほど世界を広げてくれるとは。 デザインパターンもきっと役に立ってくれることだろう。

strategyとstateは実装は同じだが意図が違う、と理解してもいいんだろうか。 「ボスのHPが50%以下になると行動パターンが変わります」 はどっちだろう。まあやる事は一緒だが。 ところで、うちらの周りでは「HPが下がると行動パターンが激しくなる」 ことを「発狂」と呼びならわすのだが、これってうちだけだろうか。 少なくとも会社に入るまでは聞いたことがなかったのだが。

2chの一部ではXBOX360愛好者を「痴漢」という蔑称で呼ぶようだが、 私もその一人らしい。360買ってる段階で反論の余地もないわな。 いささか品位を欠く蔑称だが、それも2chの味だろう。 たまに「オレ痴漢だけど」などという書きこみがあるのが面白すぎる。

PS3が360を駆逐するほど売れて、Wiiが済み分け可能な程度に収まれば 3年後くらいにPS3をしゃぶり尽したゲームが出たのだろう。 しかし撤退さえしなければハードメーカー本体にはまだ期待できる。 やはりPS3のそのべらぼうな計算能力をフルに活用したものを見てみたいではないか。 今年の冬以降ローンチで一作目を出せた チームが二作目を出してくる可能性もある。

そういやいつまで下っ端なんだろうな私。もう5年過ぎたぞ。 チーフプログラマやってみたい。人を管理してみたい。 シェーダやら描画エンジンやらの底辺の技術雑用は楽しいが、 もう少し別のこともしてみたい年頃だ。 しかし、管理や調停は「大人パワー」が物を言う作業で、 「王様の耳はロバの耳」と叫ぶことでキャラを立てている私のような人間は チーフには向かない。 というか横に座ってる人が有能すぎるので 同じチームになる限り私の出番はない。自信ないしありがたいことではあるのだが。

2007年5月19日

頂点、どうにかしたいな。実行性能的にも作成コスト的にもだ。 遠くに行くほど小さく映るのだから、 視点からの距離に応じて頂点数を動的に変えるべきである。 そんなことは3Dゲームが発生した時からわかっていたことだが、 手間を増やさず見栄えも悪くしないようないい手がなかった。 そして今なお決定的な手はない。 何かないものか。

法線マップについて考えていた。 法線マップは頂点からピクセルに負荷を移す技術だ。 ピクセルは遠くなれば勝手に小さくなって処理が軽くなるので、 勝手にLODが効くという素晴らしい特性を持っている。 しかし、例えば1024x1024の法線マップを一枚用意するだけで 1MBもの容量を食うわけで、容量効率は良くない。 1MBと言えば2万頂点以上に匹敵する量であり、 もし2万頂点増やしていいなら法線マップなしでも同等以上の品質が出せる はずだからだ。 法線マップは容量を犠牲にして速度を取る技法であると言える。 でもそれってどうなんだろう。

あーでも2D同人ゲー作るなら相当恩恵があるな。 ペラいポリゴンにハイトマップから計算で作った法線マップを貼れば 3Dモデル同様のライティングが可能になる。 コストやスキルの関係で3Dモデルを作れない場合でも 3D的なエフェクトや演出が可能になるというのはなかなかおいしい。 同人ゲー作るなら3Dモデルはしんどいし、このアプローチが良さげ。

「ぽちゃぽちゃあひるちゃん」。ちょっと気になる。

今更だが、大神をちょっとだけやってみた。ちょっとだけ。 これはアートだ。 感動的に美しいし、アイディアが素敵すぎる。久々にゾクゾクした。 「何故これが日本で売れないんだ」と怒ってくれる外人がいることがうれしい。 こんなゲームを作ったらどんなにか自信を持てるだろう。 だが、それはそれとして不満も結構ある。 まずオープニング長すぎ。早く操作させてほしい。 あと画面が見にくい。 フレームレートは30で普通なんだろうが、妙に動きが見にくい。 さらに解像度も低く見え、筆っぽいフォントが妙に読みにくい。 いわゆる「ゲーム部分」も今のところはあんまり面白くはない。 戦闘が発生する度に閉じこめられるのがテンポ良くない。 また、すでにして筆でトドメを刺すのが面倒くさくなってきた。 マップを出しっぱなしにできないので迷う。 謎解きが親切すぎてすでにして作業感。 カメラがあんまり良くなくて、ずっと右スティックに手をかけた状態に なってしまう。 あとロード長い。 などと文句を言ってみたくなるわけだが、これはゼルダの後だから というのが大きいかもしれないな。

まだ1時間くらいしかやってないのでこれは第一印象ということで。 貸してくれた人はゼルダより断然おもろいって言ってたし。 ただ「何やっていいかわからないゼルダと違って親切」 という評価のされ方をよく見かけるので、 ゼルダで謎解きの快感に目覚めてしまった私には合わない可能性も高い。 それに貸してくれた人はゼルダをクリアしたことがないみたいなんだよな。

たぶん早すぎたんだろう。Wiiで出せれば全然違ってただろうに。 あの続編とギャルゲーまみれになったPS2末期では埋もれても仕方ない。

「Now Loadingを出したら負け」という自分ルールを設定。 2秒でも十分うっとうしい。 画面を切り替えたり何かを出したりしないで耐えられる時間に収める べきだと強く思った。 最近DSとかWiiのゲームを多くやってるので余計にそう思う。 15年前PCエンジンで猿のように遊んでた頃なら今のロード時間なんて まるで気にしなかっただろうけれども、今は時代が違う。 これだけ性能が上がったのだから、ロード時間などなくなって然るべきだ。

2007年5月18日

電話はとりあえず修理見積もりに出して、代わりのものを借りてきた。 電話帳は移せなかった。W-simとやらに保存していないとダメらしい。 「説明書読んでないんですか?」みたいなこと言われてへこんだ。 ハイテクは苦手なんだよくそう。 デフォルトでW-simに保存すりゃいいじゃねえかくそう。

インターフェイスを軽視する技術者にはなるまいと誓った。 それにそもそも、他人に多くの知識を要求する設計は オブジェクト指向の原則にもとるわけで、技術者としても低級なのである。 いやまあ、説明書読んでない私が悪いんだけどな。

新人優秀だわ。差はあるにせよ、みんなそれなりにはできてて安心できる。 そろそろライブラリも拡充せんとなあ。 テクスチャセットのインターフェイスを開けて、 頂点シェーダとピクセルシェーダを受け入れるインターフェイスつけて。 あとは音が鳴るようにして、複数パッド対応して、 あとはネット対戦用の通信モジュールを足せばほぼ完璧。 同人ゲー用フレームワークに使えるレベルにまでは到達する。 優秀な人にはそれだけの自由度を得る権利があるからな。

らきすたのイニDっぷりがすごかった。 車CGの安っぽさまでうまく再現している。さすがと言う他ない。 まあイニDのアニメのショボさはあんなものではなかった気もするが。

デザインパターンの本をざっと読んだ。 次の仕事の時にはデザインパターンのカタログからやり方を選びつつ UMLでクラス図を書いて、コーディングルールに従って書く、 みたいなことになる。 おお、まるでプログラマのようだ。私にもついにプログラマになれる日が来るのか。 正直あんまりなりたくないんだけどなプログラマ。

衝突検出アルゴリズムとコーディングスタイルで講義をした。 やっぱ講義っていい。脳からなんか出る。そして自分の勉強にもなる。 さらに新人は講義を聞くことが義務づけられているので、 そこでうまくアピールできれば手下にできるかもしれん。 普段から力を見せつけておかねばな。まあ約一名有能かつふてぶてしいのがいるので 彼にハッタリは通用せんだろうが、まあそれはそれでいい。 ともかくも本番までにもう何度かは講義を やってもっと明瞭にしゃべれるようにしておかねばな。 「外郎売り」の練習ももっと真面目にやろう。まだまだ不足だ。

指数オーダーの問題は、最適解を求めることを放棄すること以外に 手に負えるようにする手段はない。 最も良く使われる妥協手段は貪欲算法である。 優先順位をつけてその順に処理し、前段の結果は覆さない。 これで劇的に計算量は落ちるが、得られる結果の質も当然落ちる。 そこで、貪欲算法ベースでやりつつも、各段階でいくらかの幅で 微調整を行うことでなんぼか結果を改善するアプローチが考えられる。 焼きなまし法や遺伝的アルゴリズムの考え方を導入することで これが可能になるだろう。 何の話かと言うと、プロジェクトの進め方の話だ。 優先順位をしっかりと決めてできるだけ仕様を定めてから開発を開始しはするが、 開発を何段かフェイズに分けて各節目で予測不可能な部分に関して 微調整と実験を許容できる範囲で行って品質を高めてゆく。 逐次型と反復型のうまいバランスを追求していくことが必要だ。

よく「ウォーターフォールは使えない」との声を聞くが、 多くの場合それはウォーターフォールになっていないからではないか。 前もって決められる部分と決められない部分の分別が甘く、 前もって決められる部分の仕様をロクに決めないまま走り出すケースが 極めて多い。そのような状態でアジャイルだXPだと叫んだところで 余計に混乱するのは目に見えている。 まずはウォーターフォールにきちんと取り組むべきだ。 「ゲームなど土台計画できないものなのだ」 「最終的な絵が出てみないと面白いかなんてわからない」 「制限は創造性を損う。自由にやるべきだ」 などの妄言が平気でまかり通る現状をどうにかせねばならぬ。 せめてガント図くらいは書くべきだ。

これが大人になるということなのか。 カタギのプログラマっぽい教養を毛嫌いしながら5年やってきたが、 この現実の前には折れざるを得ない。

2007年5月17日

コーディング規則、UML、デザインパターン。 どうでもいいと思っていたが、これらを 防火システムの一環として有効活用できそうな気がしてきた。 あとはアジャイル開発やらXPなんとかやらか。 とりあえず普通のソフトウェア会社がやっていることを一通り知って よくよく検討しておかねばならない。 むろん私は下っ端なのでそれを使うかどうか決める権限などないのだが。

新人に書いたものの説明をさせたらいきなり UMLのクラス図を書き始めて焦ったというのもある。 この際だからさっさと勉強して私も「知らないとマズそうな雰囲気」 を形成するのに一役買いたい。 それが本当に有用であるかに関わりなく、 「何かを勉強しないとマズそうな雰囲気」が職場に漂うことには意味があるだろう。 横に勉強をしている人がいることは、それだけで圧力になるのだ。 ましてUMLは確かに使える。 ところで、コンポジションと集約と関連の境界が相当曖昧に思うのは私だけか。 そもそも分類の方法が統一されていないように感じる。 私が見た範囲で一番わかりやすかったのは、 まず「AがBの一部なのか、AがBを持っているだけか」でコンポジション及び集約と 関連を分離し、「AとBの寿命が等しいか」でコンポジッションと集約を分離する方法。 人がバットを持っている時、バットは人の一部ではないので関連。 人に対して腕は部分で寿命も同じなのでコンポジション。 車に対してエンジンを考える時、エンジンを他の車につけかえたりするような イメージであれば部分ではあるが寿命は異なるので集約。 この分類は比較的明瞭だ。しかし問題はそれがメジャーな解釈なわけでも なさそうなことである。解釈は実に様々だ。 しかし皆が好き勝手な分類をしていたら会話にならないし、それではUMLの意味がない。 実際、「実体で持ってたらコンポジション、ポインタ(参照)で持ってたら集約、 関連?知らね」みたいな理解をしている人もいた気がする。 もう少しサンプルを集めないとダメだなこれは。

にしても、何故コンポジションだけは英語のままなのか。

お堅いソフト会社はこんな場所はずっと昔に通過してるんだろうな。 ゲームだけが特別だなんて思えた頃が懐しい。私は間違っていた。 ゲームプログラマと言うが、それはクリエイターじゃない。 単なる技術屋だ。マシーンだ。 うちらのセンスが問題になるような状況そのものが間違ってる。 ゲームデザイナは別にいるのであって、プログラマが妙な匙加減をしたり 創意工夫を凝らしてゲームを面白くするのは役割分担に反する。 むろん現実にはプログラマだっていろいろやるのだが、原則としてはそういう ことにしておかないと分担が曖昧になって責任の所在もわからなくなり、 間違いなく炎上する。

確かにマシーンじゃない作り方は楽しいのだがな。 仕様がない状態で自分の好きに作るだから当然のように楽しい。 勝手に雪を降らしたり、勝手に爆発を派手にしたり、 勝手に砂煙を加えたり、ステージによってビームの着弾エフェクトの 飛び方を変えてみたり、勝手にボスの攻撃を作ってみたり。 最終的に入れていいかの許可は取るが、誰に頼まれたわけでもない自分の意思だ。 だから結局一番楽しかったのは新人の頃にいたプロジェクトだった。 自分が単なる歯車ではなくゲームを作っているという実感に満ちあふれていた。 だが、それはプログラマ4人だからまだ可能だったというだけで、 プログラマが10人いてチームが30人なんてことになるともう到底不可能である。 一回カタギの作り方を覚えた上で小規模開発に戻るとまた 新たな発見があるかもしれないし、まずは一旦カタギのやり方を学ぶべきだ。

1100/50=22。毎週22万台か。1/4が日本だとすれば5万台。 これからの一年間毎週今の5倍売れ続けると踏んでるわけだなソニーは。 どこまで行くのか見守りたい気分だ。

携帯電話が壊れた。電話を取ることはできるので、液晶が割れただけだろう。 とにかくどうにもならないので明日電話屋に行ってくる。

2007年5月16日

生物の設計は冗長である。同じことをするものがたくさんあったり、 いらないものがたくさんあったり、とにかく冗長で適当だ。 しかしそれゆえに多少壊れても気にせず動く。 プログラムでも同じことが言えるのではないかと考えるのは至極自然だろう。 そして実際そう思われているフシがある。 共通化せずコピペした方が一箇所がバグっても他に累が及ばなくて良い、という 意見はおそらくそう稀なものではない。下手をすると多数派である可能性すらある。 しかし、プログラムと生物は違う。 生物において1細胞ができることなど高が知れているわけで、 個体を殺すほどのダメージを与えることは稀である。 だが、プログラムは違う。どんなに重要でないコードであっても0アクセス一回で 丸ごと殺すことができるからだ。 生物の頑健性は極度の並列性による所が大きい。 細胞は兆のオーダーで並列で動いており、 エラーの率が一定以下であれば全体の動作に支障を来すことはない。 しかしプログラムはどんなにコードがたくさんあっても 基本的に一つの計算機で実行される直列の代物である。 それは本質的な差違だ。 プログラムが短いほど良いのは当たり前で、 コードを書かないこと以上にバグを出さない方法などないのである。 そして、コードが短いほど良いのであれば、必然的に人数が少ないほど良い ということにもなる。

ゴミを捨てた。でもまだまだ本が多い。

PS3の週間売上が1万切ったらしい。 でもソニーは今年度中に1100万台PS3を作るつもりなのだそうだ。 この状況で逆転したら歴史に残ると思う。

2007年5月15日

「扉の外II」。ラノベ化された福本、みたいな感じで普通におもろい。 心理戦が記号化されすぎている気はするが、これくらい単純化されてないと わかりにくくなるしこんなもんだろう。 「とらドラスピンオフ」。しょーもない。実にしょーもない。だがそれがいい。

ぼくらの、を見ていて、この設定でギャルゲー作る奴が出そうだよな、 となんとなく思った。

早起きして、本を一旦床にぶちまけて分類してみた。 時代遅れのコンピュータ本がそれなりにあって、 売れるわけもないので捨ててしまおう。 それにしても、どこかになのはの小説と漫画があったはずなのだが なくなってしまった。弟にくれてやったかもしれない。

黒い奴等が出始めた。食料はないはずだし、巣になりそうな場所は根こそぎ 開け放っているので以前に比べれば格段に許容数は減っているはずなのだが、 それでもいる。外来であればいいが、小型機や中型機も見るので、 どこか気づかない場所に巣喰っている可能性は否定できない。 引き続き環境を悪化させることに力を尽そう。 一番効くのは部屋の表面積を減らすことなので、 引き続き物を捨ててゆくことにする。

さあ、明日の朝はゴミをたくさん捨てるぞ。 たまった電撃大王とか、いらなくなった本とか、酒瓶とか。

シェーダなんて大した物ではない。 PS2レベルからでも半年あれば追いつける。身を以って知った。 むろん最先端の所には勝てないが、勝つ必要などないし、どうせ無理だ。 どんな技術であれトップになる必要などないのであって、 先頭集団の末尾あたりと区別がつかないレベルにまで達すればそれでいい。 問題はそこまでいかに安いコストで到達するかである。 などと思っている私はどうやら少数派であるらしい。

シェーダその他の技術は安い素材を豪華に見せかけるためにこそ使うべきだ。 PS2時代より高い金を払ってPS2より綺麗な絵を出すなんて当たり前なわけで 何の面白みもない。 PS2時代よりも安いコストでPS2よりも綺麗な絵を出すのが面白いんじゃないか。

メインプログラマをやれる人間の数以上にプロジェクトは増やせない。

燃えているプロジェクトに人を投入しても状況は改善しない という事実は、常識ではないどころか非常識とされている。 人を増やせばその分早く終わる、というのは並列度が十分に高いという 前提があってのことでそのような状況は現実にはありえないのだが、 それがわかっている人間は極めて稀である。とりわけ偉い人には理解されない。 通常プロジェクトは設計を軽視する。 その場のノリで分担を決め、個々人が好き勝手な設計と実装を繰り返すので、 仕事の直交性は極めて低く、依存関係も非常に入り組んでいる。 また、仕様が曖昧で容易に変更され、またプログラマ側もそれを見越して 仕様がないうちから勝手な予測のもとにコードを書くので コードには一貫性がなく、バグも多く、無駄になるコードも多いし、 何よりも処理の内容が文書化されず記録に残らない。 そんな状態でさらに人を投入するのだ。燃えないはずがないではないか。

「相当数」のプレステ3タイトルか、すげえな。すごいよ。

犬は放っておけばいつまでも寝ている。猫はこたつから動かない。 人だけが例外だと思う方がどうかしているのであって、 何の命令もないのに自発的に会社に貢献する人間など稀だし、 とりたてて圧力もないのに勝手に勉強する人間も稀である。 これに対処するには会社に貢献する行動をすると 得をするようなシステムを作る他ないと思うのだがな。 統計的に扱えるくらい社員が多いなら、その運営も統計的な手法に よらざるを得ないだろう。

今日は胸の中に黒いものがうずまいている。

久しぶりに授業することになった。慣らし運転を多くやっておかないとな。

2007年5月13日

DSやWiiでは任天堂しか売れないと言われているが、 もしそれを開発者が言っているならばチキン野郎と罵られても仕方あるまい。 そもそも任天堂以外で大作の続編でもないのにきちんと売れたゲームは 確かに存在している。 むろん「きちんと売れる」というのはつまるところ黒字になることで 100万個売れる事ではないのだが。

明日は掃除とシェーダの実験でもしようかと思ったが、 いきなりどこぞの合唱を聞きに行くことになった。習志野ってどこよ。

合唱聞いてきた。微妙。演出は凝ってて、かなり周到に歌詞にこめられた 感情を表現しようという意図は見て取れた。しかし正直私は合唱はよくわからん。 ああいうものなのかもしれないとも思うが、敢えて率直に感想を書いておく。 まずハーモニーが汚い。音程が取れてないように感じる。 人数が多いので余計にだ。しかも女声合唱ならではのあのオバサンビブラートが 余計に音程を崩している。また、何を言っているのかがかなり聞き取れない。 歌詞がわからないのではせっかくの演出が台無しだ。 二つ目の混声合唱の方は上に挙げた欠点に加えて、 たまにテノールがうるさくて女声を食っている。 男の声は女の声に比べて声の立ち上がりが急で同じ音量でも大きく聞こえることが多く、 加えてたぶんあまり訓練されていないものだからたまに地声がドンと出てしまっている。 これは逆に女声が弱々しいことにも問題がある。 短い音は小さく、長くなると出しやすくなるからか後から音が大きくなるので、 リズム感がまるで伝わらないし、自然に歌詞も聞こえにくくなり、 そして男声に負ける。後半の管弦楽+合唱+ソロのは、 管弦楽がいまにもバラけそうで不安だった。バロック曲で チェロが低音部でリズムを取っているのだが、音の立ち上がりが遅い のでリズムがずれて聞こえる。 さらに、トランペットだけピッチが高くて調和してない。 そして合唱のピッチが悪いのでやはりこれも調和してない。猛烈に聞いていて不安。 そして、ソロのソプラノは例によってビブラートがかかりっぱなしで ハーモニー感がまるでない。動きが激しい部分ではビブラートとあいまって 何がなんだかわからなくなっている。そもそもビブラートの幅が最大3半音にも 及ぶのはどう考えてもダメだろう。調性が破壊されてしまう。

繰り返すが、合唱とか声楽とかはそういうものなのであって、 私が素人だからその良さをわかっていない、という可能性はある。 テレビで見かけるオペラの類でもビブラートはかかりっぱなしで 調性がわからなくなるような歌声は良く見るからだ。 というか、そうじゃない声楽の人なんて滅多に見ない。 女声がビブラートでわけがわからんようになっているのも、 たいがいどこの合唱団もそうなのでそういうものなのかもしれない。

と考えてみると、私が行ってる合唱団は私の好みに合っていると言える。 女声はビブラートかかりっぱなしにはなってないし、 きちんと拍の頭で出るよう指導されてるし、 歌詞が聞こえることも重視されているし、 ピッチは純正調に近づけることまで要求される。 客観的に聞いたことがないのでよくわからんが、 ひょっとして結構マシなんじゃなかろうか。 もっともそうなのは人数が少ないからで、増えたらああなるものなのかもしれんけど。 今日のは50人くらいはいたからな。

つうか、ビブラートは飾りなんだから、始終かかってるのがおかしいんじゃないか? ここぞというところで使うものだろう。 合唱のその他大勢に関してはほとんどの場面でビブラートは無用だと思うのだが。 ヴァイオリンであればかけっぱなしの人はケチャップビブラートとか言われて バカにされるし、かけるにしたって半音も音が変わることはありえない。 なぜ歌だけがああなんだろう。楽器の一つとして和音の構成要素として使うことを 考えたら、絶対あんなマネはできないと思うのだが。わからん。

ぐるロジ、stage11の最終面がまるで解ける気がしない。 これ終わったら一応のエンディングが出る可能性もあるのだが。くそう。

2007年5月12日

GPUが浮動小数点フォーマットを標準とした設計に移行するまで HDRはトンチでやるのが妥当だろう。 FP16なんて性能的に無駄が多すぎる。RGBA8に落とすだけでどれだけ他のことが できるようになることか。シェーダの中は放っておいてもFP16精度なのだから、 可能な限りシェーダ単体で計算を完結させる作りにすれば 結果を格納するバッファの精度問題は軽減される。 帯域と一緒にROPも削られるからシェーダ負荷が多少上がっても 問題にならないだろうし。 そもそもHDRなんて一時の流行にすぎないんじゃないのかと思う。 ブルームと順応以外の用途なんてないわけで、 たかがそれだけのためにFP16なんて使うのはどう考えても無駄だ。 ダブルスティールがそれだけ衝撃的な作品だったということなのだろうが、 いつまでもその幻影に囚われていることもあるまい。

にしてもそう考えるとWiiの性能はズバ抜けて低いな。 ゼルダなんて16bitバッファだろう。 PS2でディザのパターンをいろいろ試してたのを思い出す。 あれだけ作れりゃ十分だと思うが。

液晶時代になって、ピクセルがはっきり見えるようになった。 つまり、ジャギーが酷く目立つようになった。 ジャギーは目の疲れや視認性の悪化にもつながるので、 シェーダ云々を言う前に対処すべき問題に思える。 テクスチャのエイリアシングはミップマップでほぼ除けるので 現世代では問題にならないが、 ポリゴン境界のエイリアシングはコストの高いMSAAしか手がない。 ジャギーを除きつつ処理を稼ぐために低解像度でMSAAつきで描画して、 これを拡大するという手も考えられるが、 拡大を負荷なしでやれる機械でない限りはそれにかかる負荷も問題になる。 拡大に使う計算量は全く画質に貢献しない「死んだ計算量」 であり、性能の数%以上をただドブに捨てることになるのだ。 いっそのこと出力解像度でMSAAつきというのを前提にしてしまって、 それでできることだけをやるというのが素直だし楽でいい気がする。 解像度が高くてジャギーが出なくてフルカラー出力のPS2、 というのはもはやPS2ではないのだから。 シェーダで好き放題やるのは次の世代までおあずけで良かろ。

バイキュービックフィルタで高周波を除くという手もあるにはあるか。 拡大と組み合わせてもいい。 当然ボケるが、ジャギーは消せるかもしれない。 しかし全画面にバイキュービックフィルタをかける負荷はそう安くもないし、 画面がボケボケになるのもなんか嫌ではある。

らきすた5話見た。なんか普通になってた気がする。 まるで4コマのようだ。オチがオチっぽいのが悪いのだろうか。 原作は読んでいるので、元々見る動機はあまりないのだが、 なおさら見る気が失せた感じもする。

ぼくらの5。面白くなってきた。ここからどう展開するのか。

エルカザドはアクションなさすぎ。動かなくても「なんかそれっぽい演出」 だけでそれなりに楽しめるのがこの人の作品なので、 今のところそれほど不満なわけでもないが、 たまには素敵殺人シーンが欲しくなるのもまた人情である。

2007年5月11日

性能があれば大きな連立方程式が解ける。 この連立方程式を解けるというのはすごいことで、 ラジオシティや、陰積分によるシミュレーション、炎や雲などの流体力学計算 などが可能になってくる。 何一つゲームの中身には寄与しない単なる飾りではあるが、 自己満足のネタとしては優秀だ。 PS3はそういう馬鹿な真似をやるには最高のおもちゃだと思う。 何と言ってもSPUは速いのだ。本当びっくりするくらい速い。 何か一つのことに集中して投入するなら使いにくさもさして問題にならんので、 そういう馬鹿な使い方をするには本当に最適なのだ。 ただ、PS3はもう死んでいる。

ガンダム無双が360に移植という話を見たが、本当かな。 移植の意図がまるでわからん。日本の360ユーザに3万本売れりゃ それでオーケー、ということだろうか。 あるいは海外でも行けると思っているのだろうか。

新人研修が面白くなってきた。 課題を全て個人のものとして終わったら他を待たずに次の課題を渡す、 という方法で競争状態になるように仕向けた結果、 かなり差が開いてきたのである。 出来る奴は方向性だけ指示して放置し、 できない人に集中的にコストをかけるための方策である。 また、こうやって競争ストレス下に置くことで 各人の人柄が良く見えてくるのも面白い。

ガ無双、マジなのな。しかも夏発売。 ということは、ずいぶん前から並行して作っていたということだ。 ソニーは知っていたのか、それともダマされていたのか。 イベントで「第二世代のPS3ゲーム」などと持ち上げられたまさにあの時に 裏で360版で作っていたのだとすれば、なんともすごい。 大人って怖いね。

2007年5月10日

売上上位20がWiiとDS。時代は変わり、もう戻ることはないのだろう。

2007年5月9日

GeForce8を積んだノートが出てきた。 あとは4コアのノート用CPUが出ればノートPCを買い替えられる。 しかし、せっかく2コアのノート買ったのに全く使ってないな。 2コアとピクセルシェーダ3.0が前提のゲームエンジンで 同人ゲー作ってバラまこうと思ってたはずなのに、 そんな野望は完全に萎えてしまった。 このまま放っておくとそのうちDX10でPS4.0前提のゲームエンジンとかになっちまうな。 DX10で作るとガクンと動くマシンが減ってしまうのだが。 でも、今一番作りたいのは世界樹もどきツクールだったりする。 3Dダンジョンロープレは理論の絶好の実験場だし、出来を問わなければ作るのも楽だ。

360とかPS3で1億でゲーム作りたい。 大き目のDS並の開発費と期間でも、それほど見劣りしない見栄えは提供 できるはずだと私は思っている。でも、たぶんうまく行かないんだろう。 少人数短期間でもそれなりなものが作れるはずだというのは プロジェクトという単位で見た時の話で、会社という単位で物を見ると もう少し別の事が見えてくる。 コードコンプリートにも書いてあることだが、 人間の性能差はゆうに10倍を超える。 ハズレをつかまされれば同じ金でできることが1/10になりかねないということだ。 そして小規模なチームほど有能な人間の率が高くないと回りにくいという事実がある。 従って、小規模なチームがたくさんある状況は、大規模チームが少数ある 状況に比べて有能な人材をより多く要求する。 しかし現実に有能な人材は限られているので、その数以上にはチームを増やせない。 人を捨てるという選択肢は企業には許されておらず、 そこにいる人間は全員使わねばならないため、 チーム数が少数であることがダイレクトに大規模化を招いてしまうのである。 この論理展開の中にゲームの規模とかデザイン素材のコストとか、 そういうものが一切含まれていないのは皮肉な話だ。 開発が大規模になったから人を増やしたという順番であったはずなのだが、 人が増えたために大規模開発しかできなくなってしまったのである。 こうなると、 「5人で3万くらい売れるDSのソフト作りたいんだけど」などと言っても 人間が余っているので10人に増やされてしまい、 「3万じゃ10人の人件費は払えないね。却下」みたいなことにもなりかねない。 人的資源のやりくりというのがいかに面倒な問題かということだ。

この状況を改善する最も建設的な方法は、教育によって性能を上げることだが、 確実性が低い。 現実的な方法は、性能の低い人間にはそれなりに仕事を与えるようにうまく マネージングすることだ。例えばプログラマであればアプリのコードを 書かせるのは危険なのでバグってても致命傷にはならないツール類をやらせる。 それで少なくとも人が増えることがマイナスの影響を及ぼすことは避けられる。 しかしこういう選別は雰囲気を悪くするだろう。みんな仲良しな雰囲気を良しとする 会社ではなかなかこういう真似はできまい。 また、仕事の割り当てをする人間が必ずしもまともではないという事実もある。 かくして教育に全ての望みを託すことになるわけだが、 教育が必要な人ほど教育を受けたがらないという事実もあって 思うような効果を上げる望みは薄いし、教育にまとまったコストをかける 決断を偉い人が下すことはそもそも稀だろうからどうしても中途半端になる。

大人の事情とは大人が大人でないという事実のことである。 しかし、人類はそういうふうに出来ているのであって、根本的な解決は 不可能だ。「こうすれば良くなる」という方策は多く挙げられるが、 その多くは実行不可能であり、そしてそれが実行不可能である理由は 一言で言えば「大人の社会」であることによる。

みたいなことを考えて、 現状の結論は「自分がいるプロジェクトだけはまともにする。他は知らん」。 平社員には平社員の戦い方があるだろう。

今日はデカいホールでえらい人がしゃべる会があって、いろいろ考えた。

仕事したいなあ。読書して、疲れたら新人邪魔しにいってダベって、 メシ食って帰る。そんな状態。

コーディングスタイルが宗教論争になる現実をもう少しどうにかしたい。 次が始まる時にはコーディングスタイルについて議論するミーティングを したいな。コードコンプリートで提案されてるスタイルは大体賛同できるし 理由もはっきりしているのでこれを叩き台にするのは丁度いい。 従わない人は必ずいるから無理に強制はしないにしても、 えてして頑固な人でも自分がそうしている理由を忘れていたりするものなので、 考え直してもらうきっかけにはなるだろう。 コードコンプリートを読んで、私もいくつか書き方を変えることにした。 関数定義の{を別行に書かないとか、 なんぼ短くてもif文の中身をifと同じ行に書くのをやめるとか、そんな感じ。 反論できない理由があれば従う、というのは私のルールとして守りたい。

性能が重要だと思っている人は、まだ高い性能によって 新しいゲームが可能になるという希望を持っているのだと思う。 私だってそう思いたいし、そういう夢を持たせることで今までゲームは 発展してきた。しかし、ここらで一回Wiiのように性能を抑えたアプローチを 取るのは必然である気がする。 MSやSCEにしても次の機械をさらにデカくて熱いマシンにする気はあるまい。 任天堂は今世代でやったが、MSとSCEは1世代先送りにした、 というだけの話であろう。 というか、私が思うに責められるべきは高性能陣営側だ。 PS3やXBOX360は高い演算性能がWiiには不可能なゲームの面白さを 実現することを誰の目にも明らかな形で示すべきなのである。 サードパーティなんて所詮勝ち馬に乗ることしか考えないのだから、 ハードメーカー自らがローンチでそれをやってのけなくてはならない。 もしそれで支持を得られていれば、こんな事態にはなっていなかったのだから。

ただ、悲しいかなPS3程度で可能になるゲーム性は、 多少のスケールに差こそあれPCで十分実現可能である。 PS3の演算性能など甘く見積ってもPCの10倍程度であり、 10倍程度の差ではできることの範囲に大した差などないのだ。 360であればなおさらだ。 今性能を要求すると言われる演算用途は結局物理とグラフィックで、 少なくとも日本ではさしたる訴求力を持っていない。 もっと別の何かを性能によって可能にしてはくれないだろうか。

私は正直だいぶ悲観的になっている。性能がゲームを面白くするなんて 到底信じられない。計算量を多く投入すると、ゲームの規模は大きくなる。 例えばキャラ100体が1000体になる。物理演算の適用範囲が増す。 AIの思考が複雑化する。このような場合、ゲームの制御は曖昧になる。 予測しにくくなるからだ。これはゲームの練り込みを困難にすると同時に、 プレイヤーにとってもゲームの挙動が複雑化して把握しにくくなることを意味する。 情報量が多い、あるいは挙動が複雑で把握しにくいゲームであればあるほど、 プレイヤーに求められる把握の明瞭度が落ちていく。 例えば将棋は100%明瞭に状況を把握せねばならないが、 これを少し複雑にしたファイヤーエムブレムではランダム性が存在し、 完全に明瞭な把握は不可能だし、求められてもいない。 ファイヤーエムブレムで3ターン先まで読んでゲームをする人は稀だが、 将棋では稀でもないということだ。 これをそのまま拡大してファイヤーエムブレムのユニット数が1万になったと 仮定すると、もうユニットを単体として把握することは不可能になり、 結果単体として把握しなくとも良いようなゲームデザインがなされ、 同時にもっと曖昧な把握だけで遊べるような調整がなされるだろう。 これはどんなジャンルにも同じことが言え、複雑化すればするほど 人間が把握せねばならない情報はより制限されてバランスを保とうとする。 遊ぶ人間の脳の容量は一定だからだ。 どんなに複雑なゲームを作っても、遊べる代物にするためには 単純化して理解できる構造にしなくてはならない。 把握も認識も単純化されたレイヤーでしかされないから、 それが元々複雑なゲームであることの意味は薄れてしまう。 世界には単純で明瞭なゲームから複雑で曖昧なゲームまでの無限の段階があり、 性能の向上は複雑で曖昧な側の選択肢を広げてくれる働きを持つことになる。 逆に言えばそれだけのことなのだ。 むろん、計算量を投入しても複雑度を増さないという選択肢もあるが、 これはえてして飾りになる。グラフィックであったり、ゲーム性に影響しない 類の物理演算であったり、ゲーム性に影響しない類の物量(無闇にキャラが多いとか) であったりする。この路線を歓迎する人が次第に少数になりつつあるのは 明らかであろう。

まだAIには望みがあると私は思っているのだが、さてどうだろう。 プレステ時代にはアストロノーカのようなAIゲーが出たりもしたが、 より計算力の高いPS2時代にはその手のゲームはまるで出た記憶がない。 ましてPS3ならば相当高度なAIが作れるはずなのだが、結局それが面白いかどうかは 別の問題だということなのだろう。 あとは、把握しなくていいなら複雑でもいい、ということは言える。 つまり、理解しなくていい、眺めているだけでいいゲーム。 シミュレータみたいなのをなんとなく眺めて、たまにちょっと介入すると 思いがけない影響が出てびっくり、みたいな。 現代人のライフスタイルを考えるとそれは結構アリかなあと最近思う。

2007年5月8日

一週間ぶりにピアノを弾いた。 そして課題を馬鹿正直にやると基礎練習だけで1時間かかることが 今更ながらわかった。今はヒマだからかまわないけれども。

コードコンプリート中。だんだんこれがいい本であることがわかってきた。 前半の細かい話とうってかわって後半は大規模開発についてのお話。これだ。

40万行って、デカいよな多分。まして90万行って、相当デカいよな。 それだけの量を1年5人とかで書くのは何かがおかしいに決まっている。 ほとんどコピペに決まってるじゃないか。 行数で業績を計るのは間違いだが、 しかし多すぎる行数を何かがおかしいことのヒントとして考えるのは そう間違ってはいまい。 なお、自分で書いたライブラリ部は3万行くらいだった。 1日50行くらい書いてた計算になる。 私もまだ設計する前になんとなく書いてしまうクセが直っていないようだ。

ハノン16曲連続はなんかマゾっぽくていいなあ。快感になってきた。

薬指問題。解剖学的にどうなのか調べてみた。 人差し指と小指は独立した筋肉があって持ち上げることができるが、 薬指を単体で持ち上げる筋肉など存在しないらしい。 中指と薬指を曲げたまま小指と人差し指を伸ばせるのは専用の筋肉があるから であって、訓練の問題ではないのだという。 指をのばす筋肉は指4本を一緒に伸ばす筋肉で指ごとに独立はしておらず、 例えば中指だけを動かせているように見えても、 実はそれは他の指を曲げる筋肉を同時に働かせて拮抗させているだけであるらしい。 しかしもしこれが本当であるならば、 ブレーキとアクセスを一緒に踏むようなやり方しかないことになってしまうし、 中指だけを上げるのはそれなりに可能であるという事実も説明しない。 もう少し調べねばならないな。WEBではこの程度が限度か。

それにしても面白いのは、「指 筋肉」でググると、ピアノ関連の記事が 山ほどひっかかることである。相当メジャーな問題であるらしい。 「脱力だ!」と言う人もいれば、「筋トレだ!」という人もいるし、 さらには「大人は諦めろ」と言う人もいる。 私としては拳法との類推から脱力を含めた制御の問題に帰着させたいところだが、 拳法だって最低限必要な筋力というのはあるし、 制御の邪魔さえしなければ筋力があって困ることはない。 とりあえず可能な範囲を調べてからだ。

2007年5月7日

噂のらきすた4話。さすがにマニアなネタ多すぎだろう。 5話がどう変わるのかは興味あるが、さすがにどうでも良くなってきた。

コードコンプリートを読んでる。眠いが、確認という意味で大変有意義。 UMLの本も読んでるが、こっちはさらに眠いので全然進まない。 あとデザインパターンも勉強しとく予定。 ゲームでもそういうのを意識した開発体制に持っていくのは面白い試みだ。 チーム内でコーディング規則がそれなりに定められ、 デザインパターンやらUMLの用語が飛び交う設計ミーティングをする、 なんてチームは現状見たことがない。それにどれくらいメリットがあるのかは 現状さっぱりわからないが、それが世の中で多数派なのであれば ゲームだけが特殊ということもあるまいし、一度はそういう作法に従った 開発を試してみるべきだ。 私がいまひとつそういうのに価値を感じないのは、結局のところ私が 独立性の高いモジュールばかり書いてきたからにすぎない。 アプリの設計にもそれなりに関わろうとするなら そういうコミュニケーションのための教養も必要になる。

UML図を書いてそれをみんなでああだこうだ言う、 という過程を経てからでないと実装はさせない、 というスタンスは明らかにリスクを軽減する。 設計というものに不慣れな人が多い場合には作業効率の向上も見込める。 カタギのプログラミング作法みたいなのを猛烈に毛嫌いしてきたが、改心する。 プログラマ全員にUML図を書いたり読んだりするスキルを要求することになるが、 最低限の知識くらいならどうにかなるだろ。

2007年5月6日

田舎から戻ってきた。何をしていたわけでもなくダラダラしていただけ。

世界樹を終わらせた。別にレベル上げをしたつもりもないのだが、 結局探索しているうちにLv64。ボスはほとんど楽勝。 lv30を過ぎたあたりで急速に楽になって、その後は先制で眠らされでもしない限り 全滅はほとんどしなかった。 また、スキルの全体像が見えると同時にワクワクが失せて いろんなものが作業になった。 バードは自動回復の歌がとんでもなく強力なことがわかって、 実質そのためだけの存在になり果てた。 ダークハンターはヘッドボンデージを連打するためだけに存在し、 攻撃の主力はレンジャーの3回攻撃。 メディックは全体回復を毎ターン唱え、アルケミストは全体攻撃3属性を ターン最後にブチ込む人。 ブシドーやカースメーカーも作ってはみたものの 戦い方が完全に固まった後のことなので主力になるほど育てる気もせず放置。 そしておまけダンジョンはなんかしんどそうだしパス。 なお、話のオチは定番のものだが、悪くはない。 もう素直なファンタジーはやれない世の中なのだろう。

前半のしんどさは楽しかったが、後半ダレた印象。 第三階層後半から後はダンジョンの密度も薄いように感じられる。 FOEも避けられない場合が増えてくるので倒せるようになるまで鍛える以外選択はなく、 そのために避けられるFOEでも気にせず倒すようになってしまった。 ビクビクしていた前半が懐しい。 特にB20以降のFOEは単なる「面倒くさい奴」である。 あとは最も新鮮な要素である自力マッピングが 作業になり果てたのも大きいかもしれない。 抜け道の存在のせいで歩く度に左右を確認する必要があり、 そのせいで作業感が増している印象もある。 また、後半になってワープや一方通行が頻発するとマッピングに関して 表現力が不足するケースも多くなってくるし、 つけられるコメントの数が予想外に小さく制限されているのもストレスになる。 やはりメモ機能は欲しかった。

でもまあ全体としては面白かった。こういう形で売り物にするのもアリなのかと 驚かされる。マッピングを自力でやるというアイディアもやっぱりすごい。 続編を作るならばもっと洗練したものにできるのだろうが、 この手のものは新鮮味がなくなると辛かろう。 まあそれでも3万人とか買ってくれるなら出さない手はないと思うが。

パクリゲーが同人で出そうだな。 世界樹ツクールみたいなのを作って公開する人すら出かねない。 と思ったが、考えてみればもっと簡単そうな ウィザードリーツクールすら見たこともないわけで、 案外そういう情熱を持った人は現れないものなのかもしれん。

今更だが、GS美神を全巻読んだ。だんだんジャンプ並みのバトル漫画になってきて 新鮮味が薄れてくるのだが、できるだけ元のノリを維持しようという努力が見えて 素敵。何よりキャラが立っていて漫画がうまい。 絶対可憐チルドレンを7冊読んでおもろかったのでこれも読んでみたわけだが、 なるほど大した人である。 ところで、ツンデレという言葉は昔はなかったのだなあと、今しみじみ思う。 ゼロの使い魔を思い出した。

ペルソナ3FES中。ああ、作業。アイギスがなんぼかわいくても作業は作業。 しかし、ゲームデザインについて考える際にはこれはいいサンプルである。 ロープレのゲーム性をどこに求めるかというのはなかなか深いテーマだが、 一貫して毎回違ったものを提供しようとするメガテンの姿勢はいい。 最後までやるか怪しいけどな。モッサリした操作感がまるで直ってないのも辛い。 UIのアニメーションはどれくらいキビキビしているべきか、 というのは一回自分で何か作って確かめてみるべきだな。

ブレイブストーリーのアニメ見た。 ものすごい無駄遣いに見えた。絵は綺麗だが、中身があんまりだ。 たぶん原作のせいじゃない。 この話のミソは現代の小学生にとってのリアルとファンタジーの結びつけ方に あるはずで、異世界で大冒険というのはテーマそのものではないし、 まして「自分勝手は良くない」みたいなお説教をしておしまいになるような ものでもないのではないか。原作読んでないから知らないが。

BBB7。盛り上がってきてるんだが、どこか散漫。 キャラが多すぎるんだろう。 人間が把握できるのは5から9が限度という法則が良く知られているが、 明らかにその限界を超えている。 敵10人、主人公達3人に味方気味の重要なのが5人くらい、というのはやっぱり多いわ。

ぐるロジ210まで。もうしんどい。330面とかあるらしいが、 到底辿りつける気がしない。1面あたり10分はかかる。

30日はカラオケだった。昼間4時間。やっぱり準備しないとダメだと強く感じた。 なお、力を抜いて高音を出す実験はある程度手ごたえを掴んだ。 ちょっと力が入ると途端にファすら出なくなるが、 うまく行けばほとんど消耗なくファが出せ、ソも射程圏内に入ってきている。 ラやシは遠いが、消耗ゼロで出ない音など何の役にも立たないのであって、 無理に到達しようとする必要はない。 ソを無尽蔵に出せるのであればそれだけでも十分すぎるくらいなのだ。 テナーは無理だけれども。

石坂主演の金田一シリーズをいくつか見ていた。いい味出てるわ。 カット割りなんかは今見ても新鮮。 それと夜中に怪奇大作戦をオリジナルと今の奴を続けて見た。毒花粉の話。 オリジナルのシンプルさの方が私には気持ちいい。 アレンジ版はCGもショボいし、変に話をデカくしたせいで却ってありきたりさが 鼻につくオチになっていたように思う。 まあどちらにせよ好んで見ることはないわけだが。

ロープレの類は文芸や仕掛けの面で手を抜くと あっと言う間に最適化問題に帰着する。 1戦闘あるいは1ターン単位ではパズル的な面白さやスリルといったものが 支配的なのだが、結局クリアまでには百のオーダーで戦闘が繰り返されるので 毎回スリリングな戦闘を楽しむような状態では疲れるし非効率だ。 「同じことをやらされるなら効率化しよう」というプレイヤーの心理は 放置しておけば飽きにつながるので、 作る側としては同じ戦術が通用しなくなるように変化を持たせるわけだが、 それが過ぎると効率化がしにくくなりすぎて面倒くささが出てきてしまう ことにもなりかねない。 根本的に戦闘が百のオーダーで繰り返されるようなゲームそのものが いいのか悪いのかという話にもなってくる。 文芸や仕掛けに凝れば飽きを防げるが、 当然戦闘の重要性は低くなるわけで、 「ストーリーの先が見たいから作業に耐える」 というのはあまりに釈然としない。 結局のところこのへんの問題に対する最大の解決策はネトゲ化だった ということなのだろう。 しかし、まだもう少しやりようがあるような気はしている。 世界樹はその可能性を改めて示してくれたように思う。

世界樹を一番普通と思われる構成で最初からちょっとだけやってみた。 強いわ。ああ、これが普通なのね。なるほどな。


もどる