ゲームオブジェクトの最適な一般化の程度は

酔っ払いながら書いた自分のためのメモがホットエントリに一瞬顔出しただけでアクセス数が一桁違って戸惑ってしまった。いきなりわけのわからん文章を読まされた方も戸惑っていることだろうと思う。でもそんなの関係ねえ!

自分たちが作っているのはあくまでゲームルールを駆動するアプリケーションなのであって、ゲーム内の概念をクラスヒエラルキーへ写し取ることではない。短絡的にこれが可能だからといって、ゲームオブジェクトをみて「これがオブジェクト指向か〜」と言ってクラスヒエラルキーでゲーム世界を表現するのは愚の骨頂。あとでゲームオブジェクト間の依存をどうするかでグローバル変数やダウンキャストや独自IDという地獄にはまることになる。

自分の主張の根拠はゲームルールがどういうものかという点にあるので、最適な一般化はゲームルールを記述する範囲内でアイデンティファイできる程度ということになる。前のエントリの例がそのままで、これ以上もこれ以下もないということだろう。