প্রকল্প সম্পর্কে
openttdrs is a transport simulation game inspired by OpenTTD, built in Rust with a Bevy-based graphical client. The project follows an incremental development philosophy, ensuring a playable version exists at all times while working toward feature parity with the original via documented cut-offs.
**Key Features:**
- **Simulation Core:** Handles map management, ticking, commands, road and rail simulation, partial signaling (PBS), economy, and save/load functionality (JSON and .sav import/export).
- **Bevy Client:** Provides an isometric view using OpenGFX assets, along with menus, a toolbar, and UI elements. Supports both server and client modes.
- **Networking:** Implements TCP lockstep protocol for multiplayer synchronization and includes a dedicated server binary.
- **NewGRF:** Offers partial support for Action0/3/5 catalogs and runtime loading, with documented property matrices and callbacks.
- **Map Generation:** Recently aligned with OpenTTD's generation phases (landscape, cities, industries) for specific seeds, though generalization is still in progress.
**Requirements and Usage:**
Requires Rust 1.98+ and native window/audio libraries. Graphical and sound assets are versioned within the repository, allowing direct execution of `cargo run` without additional downloads or setup scripts. The first run materializes local PNG files from the included atlas.
**Project Status (Alpha):**
Currently at version `0.1.0-alpha.1`. Milestones include a working networking MVP (I8), host migration, a basic editor, GameScript-lite, and a rival AI (TransCargo). Full raster rendering parity, complete NewGRF support, and save fidelity are still under development, with known divergences documented in canonical matrices.
**Development and CI:**
The project boasts a robust CI/CD pipeline covering formatting, clippy checks, documentation, security audits (cargo-audit/deny), deterministic fuzzing tests, and code coverage. `sccache` is recommended for optimizing local compilation times.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.