Sobre o projeto
Mindustry é um jogo de estratégia em tempo real de código aberto que combina defesa de torre com automação: os jogadores constroem e conectam cadeias de produção para alimentar as defesas, em vez de apenas colocar torres. Ele é escrito em Java e desenvolvido abertamente no GitHub, com o README descrevendo-o simplesmente como "o RTS de defesa de torre de automação".
Plataformas e distribuição
O projeto é compilado para um cliente desktop, um cliente Android e uma build de servidor independente. Versões pré-compiladas são publicadas no GitHub, e o README também contém links para downloads no itch.io, Google Play, F-Droid e Flathub. Builds automáticas de ponta são geradas para cada commit em um repositório de builds separado, permitindo que os testadores acompanhem o desenvolvimento sem precisar compilar.
Compilando a partir do código-fonte
Contribuir requer o JDK 17, conforme explicitado no README (outras versões do JDK não funcionarão). O sistema de build é o Gradle, com scripts wrapper para Windows e Linux/Mac. Os comandos típicos são `gradlew desktop:run` para executar, `gradlew desktop:dist` para produzir um JAR desktop empacotado, `gradlew server:dist` para uma versão de servidor, e `gradlew tools:pack` para empacotamento de sprites. As builds para Android passam pelas ferramentas de linha de comando do Android SDK, exigindo `ANDROID_HOME`, aceitação de licença via sdkmanager e modo desenvolvedor no dispositivo; `gradlew android:assembleDebug` produz um APK não assinado e `gradlew android:installDebug android:run` instala e lança no dispositivo conectado. Os locais de saída são documentados como `desktop/build/libs/Mindustry.jar` e `server/build/libs/server-release.jar`. O README também lista uma correção comum para erro de permissão (`chmod +x ./gradlew`) e avisa que a primeira execução do Gradle pode levar vários minutos para baixar dependências.
Geração de código e arquitetura
Uma parte notável do projeto é que o pacote `mindustry.gen` é gerado em tempo de build e não está presente no repositório. O README explica suas fontes: classes `Call` e de pacote vêm de métodos anotados com `@Remote`; classes de entidade como `Unit`, `EffectState` e `Posc` são geradas a partir de classes de componente em `mindustry.entities.comp` e combinadas via definições em `mindustry.content.UnitTypes`; e `Sounds`, `Musics`, `Tex` e `Icon` são gerados a partir das respectivas pastas de ativos. Esse pacote gerado é marcado na documentação como não devendo ser editado manualmente.
Comunidade e contribuição
O projeto mantém um guia de contribuição que cobre estilo de código e expectativas para pull requests. Novos contribuidores são direcionados para issues marcadas como 'candidate' no repositório separado Mindustry-Suggestions, que também é onde são arquivadas solicitações de recursos e feedback. Outros recursos vinculados no README incluem um quadro Trello para planos de lançamento, uma wiki do projeto e Javadoc gerado, além de uma comunidade ativa no Discord.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.