このプロジェクトについて

openttdrsは、OpenTTDにインスパイアされた輸送シミュレーターで、Rustで実装され、Bevyベースのグラフィカルクライアントを使用している。このプロジェクトは、増分開発の哲学に従い、ドキュメント化されたカットを通じてオリジナルとのパリティを追求しながら、常にプレイ可能なバージョンを維持している。 **主な特徴:** - **シミュレーションコア:** マップ管理、ティック、コマンド、道路・鉄道シミュレーション、部分的な信号(PBS)、経済、セーブゲーム管理(JSONおよび.savのインポート/エクスポート)。 - **Bevyクライアント:** OpenGFXアセットを使用した等角ビュー、メニュー、ツールバー、UI。サーバーモードとクライアントモードをサポート。 - **ネットワーク:** マルチプレイヤー用のTCPロックステッププロトコルと専用サーバーバイナリ。 - **NewGRF:** Action0/3/5カタログとランタイムサポートを部分的に対応。プロパティとコールバックの対応状況はマトリックスでドキュメント化。 - **マップ生成:** 特定のシードに対してOpenTTDのフェーズ(地形、都市、産業)と最近アライメントされたが、一般化はまだ進行中。 **要件と使用方法:** Rust 1.98+とネイティブのウィンドウ/オーディオライブラリが必要。グラフィックおよびサウンドアセットはリポジトリにバージョン管理されており、追加ダウンロードや準備スクリプトなしで`cargo run`を直接実行できる。初回起動時に、含まれているアトラスから必要なPNGがローカルにマテリアライズされる。 **プロジェクトのステータス(アルファ):** バージョンは`0.1.0-alpha.1`。ネットワークMVP(I8)、ホスト移行、基本的なエディター、GameScript-lite、ライバルAI(TransCargo)などのマイルストーンが含まれている。ラスターレンダリングの完全なパリティ、完全なNewGRF、セーブの忠実度などはまだ開発中で、カノニカルマトリックスに逸脱がドキュメント化されている。 **開発とCI:** このプロジェクトは、フォーマット、clippy、ドキュメント、セキュリティ監査(cargo-audit/deny)、決定論的なファジングテスト、コードカバレッジを含む堅牢なCI/CDインフラストラクチャを備えている。ローカルでのビルド最適化には`sccache`が推奨される。