インタラクションのモジュラー性
世界は木構造かフラットか
Unityのようなgame engineやDCCはtransform treeを持ちがち 階層的組み立て自体の理解しやすさ・再利用性 (e.g. prefab) なぜ?
仮説
木構造はプロツールっぽいUIになるのでおもしろくない
木構造の何らかの特性がゲーム性を損なう
e.g. exponentialな成長がlinearな成長に見えてしまう
適切に設計されたルール・物理法則はフラットな構造での創発を最大化する?
木構造は横方向の相互作用が弱い (無い)
横をシミュレーションすると負荷が厳しい
木という抽象化そのものが、横方向を切断することで成り立っている
物理法則をたくさんとると、木が一意に定まらない
e.g.
相互に固定されているオブジェクトのtree
依存性のtree
見た目的に意味のあるtree
宇宙の物理空間は空間階層を持たない
たとえば家は壁のパネルとか家具の組み合わせで成り立ってるとする
車で突っ込むのを考える
雑な木構造の実装は、家ごとふっとびがち
フラットにやっとけば、勝手に最大詳細度で再現される
前提として、全てのオブジェクトはプレーヤーが意図をもって置いている
プレイヤーの選択に対して、報酬を与える機会がある
木構造化は機会損失を発生させる
抽象によって選択が無意味になるから
図面と実態は異なる
図面は木構造でもよく見える
逆に、木構造は唯一の解ではなくなる
generative / ルールベース
なので、木構造UIの実装の大変さのわりに、得られるプレイヤーの効用が0~negative
剛体を扱いやすい身体をしている
人間のスケールでは遠隔作用は弱いが弱すぎない
音・光
剛体は圧倒的強度と、一見明確な境界面を持つ
剛体は光も音も遮断する事が多い
剛体を組み合わせて剛体で覆うことで、人間にとってのモジュラー性が高まる 一石二鳥
基本的に、商品というのはデフォルトで内部が不可視である
ノウハウの集約による利益独占を許さない、コモディティ化せよという圧力
flattenする権利
不変性を要求するということ
リアル世界では常に不変
内部の不変性がモジュラー性を高めるケースとそうでないケースがある
物理的部品は不変であることでモジュラー性が高まる
受入検査が信頼できる
結合試験も信頼できる
逆に考えると、不変しか選べないので、不変が問題ない境界でしか認知されえない
まだ完成してないものを売ることはできない
ソフトウェアではそれができる
まだ完成してない物体の例
この箱には雑に作ったエンジンが入っています
高負荷を掛けると爆発します
半年後には多分動くようになります
経済メリットが少ない境界も選ばれない
ナットとボルトは別で流通するほうがよい
一方で、ナットの頭とねじは別で流通しない、長さがいろいろあるのに
強度というクリティカルなコントラクトが担保できなくなるから
売る側も買う側も、コントラクトに対して試験を行う
SaaSにはコントラクトの不変性と内部の不変性のトレードオフがある 売る側が自由に決めることができる
モジュールと扱えない
常に人間の開発組織というグルーで追従し続けないとシステムが崩壊する
オープンソースのライブラリは物理的商品に似ている