正本の世界を持つ
世界シミュレーション、authoritative WorldState、Operation実行、永続化を担当。Alpha 1.0では実起動・mutation・recoveryまで確認されています。
MACHIVERSE / DEVELOPER
MachiVerseはC# / .NET 10で開発しているエージェントベースの大規模世界シミュレーターです。 現在のdevelopには、Simulation Core / Gateway / General View / Administration Viewを実接続したAlpha 1.0の再現可能なvertical sliceがあります。
ARCHITECTURE
MachiVerseは4つの最上位コンポーネントを独立した実行・ビルド・配布単位として扱います。 コンポーネント間では内部型や実装DLLを通信契約として共有せず、versioned Protocol / schemaを境界にします。
世界シミュレーション、authoritative WorldState、Operation実行、永続化を担当。Alpha 1.0では実起動・mutation・recoveryまで確認されています。
外部接続、認証認可、confirmed cache、操作集約、publicationを担当。Core / View / Adminの実接続が成立しています。
一般利用者向けの参照・参加・操作UI。Blazor WASM + three.jsで、実browser E2Eとprediction / reconciliationの基礎が接続済みです。
監視、Config、運用UIを担当。Alpha 1.0ではhealth確認とConfig read / changeのE2Eが成立しています。
QUICK START
現在READMEで案内しているQuick StartはWindows向けです。.NET SDK 10.0.400相当と最新のdevelopを前提に、起動スクリプトで4コンポーネントをまとめて立ち上げます。
git checkout develop
git pull
start-alpha.bat
start-alpha.bat --no-build
ENGINEERING PRINCIPLES
同一World Seed・同一設定・同一操作では同一結果へ収束することを基本契約とします。
コンポーネント間で内部型や共有DTOライブラリを通信契約として使わず、Protocol / schemaを境界にします。
実装前に関連設計書とAGENTS.mdを確認し、未承認の仕様を推測して確定事項として実装しません。
調整可能な数値は、各コンポーネントが所有する外部Configから変更可能にする方針です。
CURRENT LIMITATIONS
現在のlocal Alpha profileはloopback-onlyの開発・integration用であり、production security profileの代替ではありません。
CONTRIBUTING
通常の作業は対象コンポーネントの常設ブランチから作業ブランチを切り、Pull Requestで統合します。 プロトコル変更では実装より先に対象のプロトコル設計書を更新し、設計変更も関連ドキュメントへ反映します。
main stable / release candidate
↑
develop next integrated version
↑
├─ simulation
├─ gateway
├─ view
└─ administration-view