Sobre o projeto

openttdrs é um simulador de transporte inspirado em OpenTTD, implementado em Rust com um cliente gráfico baseado em Bevy. O projeto segue uma filosofia de desenvolvimento incremental, garantindo que sempre exista uma versão jogável enquanto se trabalha para alcançar a paridade com o original, com desvios documentados. **Características principais:** - **Core de Simulação:** Gerenciamento de mapa, ticks, comandos, simulação de estradas e ferrovias, sinais parciais (PBS), economia e salvamento de jogos (JSON e import/export .sav). - **Cliente Bevy:** Visualização isométrica usando assets OpenGFX, menus, toolbar e UI. Suporta modos de servidor e cliente. - **Rede:** Protocolo TCP lockstep para multijogador e um binário de servidor dedicado. - **NewGRF:** Suporte parcial para catálogos Action0/3/5 e execução, com matrizes documentadas de propriedades e callbacks. - **Geração de Mapas:** Alinhamento recente com fases de OpenTTD (paisagem, cidades, indústrias) para sementes específicas, embora a generalização ainda esteja em andamento. **Requisitos e Uso:** Requer Rust 1.98+ e bibliotecas nativas de janela/áudio. Os assets gráficos e de som estão versionados no repositório, permitindo executar `cargo run` diretamente sem downloads adicionais ou scripts de preparação. A primeira execução materializa localmente os PNGs necessários a partir do atlas incluído. **Estado do Projeto (Alpha):** Atualmente na versão `0.1.0-alpha.1`. Inclui marcos como o MVP de rede (I8), migração de host, editor básico, GameScript-lite e uma IA rival (TransCargo). A paridade total em renderização raster, suporte completo a NewGRF e fidelidade de saves ainda está em desenvolvimento, com divergências documentadas em matrizes canônicas. **Desenvolvimento e CI:** O projeto possui uma infraestrutura robusta de CI/CD, incluindo testes de formatação, clippy, documentação, auditoria de segurança (cargo-audit/deny), testes de fuzzing determinístico e cobertura de código. `sccache` é recomendado para otimizar compilações locais.