Sobre el proyecto

openttdrs es un simulador de transporte inspirado en OpenTTD, implementado en Rust con un cliente gráfico basado en Bevy. El proyecto sigue una filosofía de desarrollo incremental, asegurando que siempre exista una versión jugable mientras se aborda la paridad con el original mediante cortes documentados. **Características principales:** - **Core de Simulación:** Manejo de mapa, ticks, comandos, simulación de carreteras y ferrocarriles, señales parciales (PBS), economía y gestión de partidas guardadas (JSON e import/export .sav). - **Cliente Bevy:** Vista isométrica usando assets OpenGFX, menús, toolbar y UI. Soporta modos de servidor y cliente. - **Red:** Protocolo TCP lockstep para multijugador y un binario de servidor dedicado. - **NewGRF:** Soporte parcial para catálogos Action0/3/5 y runtime, con matrices documentadas de propiedades y callbacks. - **Generación de Mapas:** Alineación reciente con fases de OpenTTD (paisaje, ciudades, industrias) para semillas específicas, aunque la generalización sigue en curso. **Requisitos y Uso:** Requiere Rust 1.98+ y librerías nativas de ventana/audio. Los assets gráficos y de sonido están versionados en el repositorio, permitiendo ejecutar `cargo run` directamente sin descargas adicionales ni scripts de preparación. El primer inicio materializa localmente los PNG necesarios desde el atlas incluido. **Estado del Proyecto (Alpha):** Se encuentra en la versión `0.1.0-alpha.1`. Incluye hitos como el MVP de red (I8), migración de host, editor básico, GameScript-lite y una IA rival (TransCargo). La paridad total en render raster, NewGRF completo y fidelidad de saves aún está en desarrollo, con divergencias documentadas en matrices canónicas. **Desarrollo y CI:** El proyecto cuenta con una infraestructura robusta de CI/CD que incluye pruebas de formato, clippy, documentación, auditoría de seguridad (cargo-audit/deny), pruebas de fuzzing determinista y cobertura de código. Se recomienda `sccache` para optimizar compilaciones locales.