Open4
シミュレーション系の実装
概要
人工生命シミュレーションを作る際の、主に実装面のノウハウをここに置きます
系について
おおまかな要件
- https://github.com/mitsuyoshi-yamazaki/ALifeLab/issues/157
- 自己複製の可能な生命を育む世界を実装する
- 生命個体は人間が実装して放つこともできる
こだわり
- 決定論的な物理法則にする
- 現実の科学のようにより効率的な物理法則の利用法を編み出せるようにしたい
オブジェクト指向
系に存在する仮想の物体は、プログラミング言語のオブジェクトで表されるようには(必ずしも)ならない
物理法則の計算はそれ自身でひとつのドメインをつくるので、仮想の物体が何かの情報処理をすることはない
情報量の変化しないヘルパーメソッドを生やしたり、何かの値を保管したりするためにオブジェクトで表現することはある
MVP (Minimum Viable Product)
エンジン/フレームワーク部分をつくっているのでMVP自体が大きくなってしまう
というより、実装をつくる前の、仕様をつくる段階なので、仕様バグを消すことがMVP