Ultimate Garage - Ultimate Garage Designs Garage Storage — Bradley Woodcraft
Ultimate Garage Designs Garage Storage — Bradley Woodcraft

O que é Ultimate Garage e por que você vai precisar dele

Ultimate Garage é um hub gratuito para ROM hacks de Mario Kart Wii que centraliza exportação de tracks, conversão de assets, gerenciamento de plugins e ferramentas de desenvolvimento em uma única pasta. Você instala uma vez, clica nos botões corretos e o resto do pipeline roda sem depender de dezenas de pastas espalhadas pelo disco. A versão mais recente é a 0.7.6, lançada em 2023, e ela exige o Homebrew Channel ou FBI no Wii para funcionar.

Onde baixar o ultimate garage

O repositório oficial fica no GitHub sob o nome ultimate-garage, mantido pela comunidade MKW. Procure pela release com o arquivo .ipa ou .rar junto, extraia para a pasta raiz do seu homebrew e pronto. Sites de download alternativos existem, mas eu recomendo nunca usar nada que não seja o repositório original ou mirrors confiáveis listados nos fóruns da comunidade, porque versões modificadas podem travar a exportação ou corromper tracks durante o processo.

Instalação e primeiros passos práticos

Antes de mexer no Ultimate Garage, verifique se você já tem o MKW Custom Track Builder instalado na mesma pasta do homebrew. O Garage depende dos arquivos de exportação que o Builder gera, então sem ele você vai abrir o menu do Garage e não ver nenhuma track disponível para processamento. Coloque ambos na raiz do cartão SD, dentro de uma pasta chamada custom/garage ou simplesmente na raiz do homebrew. O path padrão reconhecido pelo sistema é /sd/custom/ultimate-garage/. A primeira vez que você abrir o Garage no Wii, ele vai criar uma pasta exported automaticamente. Isso é normal. Não tente mover essa pasta manualmente antes da primeira compilação, porque os paths relativos dos scripts de build quebra. Se você quiser organizar depois, mova apenas o conteúdo exportado, não a pasta em si.

Um problema comum que todo mundo encontra: o Menu do Garage carrega mas a opção de exportar track fica cinza. A solução mais frequente não é o Garage estar quebrado. É o Builder ter salvo a track em um subdiretório dentro da pasta custom, e o Garage procurar apenas na raiz. Copie a pasta da track (ex: my_track/) diretamente para /sd/custom/, atualize o Garage e a track vai aparecer. Leva uns 5 segundos e resolve 90% dos casos de "track não aparece".

O fluxo de trabalho real

Aqui está o que acontece quando você leva uma track do Builder para o Garage e tenta gerar o .dol final. Abra o Garage, selecione Build ROM, escolha a track, e o sistema vai rodar a sequência inteira: converter texturas, ajustar offsets de geometry, compilar o mapa binário e gerar o arquivo final. Leva entre 40 segundos e 3 minutos dependendo do tamanho da track e da velocidade do cartão SD. Cartões UHS-I mais rápidos reduzem esse tempo para a faixa de 40-60 segundos em tracks médias, enquanto cartões mais lentos podem levar acima de 5 minutos. O formato de saída é um ROM modificada que roda diretamente no Wii ou em emuladores como Mupen64Plus. Se o seu objetivo é publicação online, o Garage também permite gerar o .rp (ROM package) que é o padrão da comunidade para compartilhar tracks em fóruns e servidores de multiplayer.

Outro detalhe que muitos ignoram: o Garage tem uma aba de Asset Convert que lida com imagens PNG, WAV e modelos MMD/TPO. Se você importa texturas feitas no Photoshop ou GIMP, use sempre paleta RGBA com profundidade de 32 bits. O conversor do Garage não trata bem imagens indexadas de 8 bits sem transparência, e o resultado é texturas com quadrados pretos ou coloridos fora do lugar durante a compilação. Eu perdi uma tarde inteira nisso em 2021 antes de descobrir o padrão correto.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Plugins e extensões do ultimate garage

O sistema de plugins do Garage é o que diferencia ele de outros hubs de desenvolvimento MKW. Você pode adicionar plugins que automatizam tarefas como renaming automático de assets, validação de offsets, compressão de texturas e até geração de thumbnails para a galeria de tracks. Os plugins mais usados são o TextureValidator, o AutoRenamer e o TrackInfoGen. Instale colocando a pasta do plugin dentro de /custom/garage/plugins/ e reinicie o menu. Se o plugin não aparecer na lista, verifique se o arquivo plugin.json está presente na raiz da pasta do plugin — sem esse arquivo o Garage ignora a instalação silenciosamente. Um recurso avançado que pouca gente conhece é o suporte a macros. Você pode gravar uma sequência de ações no Garage e reproduzi-las depois com um clique. Útil se você faz build frequente de múltiplas tracks durante testes de multiplayer. A gravação salva em /custom/garage/macros/ e pode ser compartilhada com outros desenvolvedores.

Limitações que ninguém conta

O Ultimate Garage não é perfeito e tem pontos fracos reais. O principal é que ele depende inteiramente da compatibilidade do MKW Custom Track Builder. Se o Builder receber uma atualização que muda a estrutura de arquivos ou os offsets de geometry, o Garage pode parar de funcionar até que os mantenedores atualizem os scripts internos. Isso já aconteceu pelo menos três vezes desde 2020, e cada vez a comunidade ficou sem ferramentas de build por alguns dias. Outro problema: o Garage não tem suporte nativo a tracks com mais de 256 texturas customizadas. Se você ultrapassar esse limite, a compilação vai falhar com um erro de memory allocation. A solução é dividir assets em packs menores ou usar compressão DXT1 nas texturas, o que reduz qualidade visual mas permite que a track compile. Para tracks competitivas de alta qualidade, isso pode ser um limitante sério.

O menu no Wii também é lento em comparação com versões desktop alternativas. Se você gosta de navegar por centenas de tracks rapidamente, o interface do Garage no console pode parecer travado. A alternativa mais rápida para organização massiva é usar o Garage Desktop, que é uma versão não oficial rodando no PC via Wine, mas ela exige configuração adicional e não tem todos os plugins disponíveis na versão console. Outra coisa prática: o Garage não faz backup automático das suas tracks durante a compilação. Se algo der errado no meio do processo, você perde o estado anterior. Eu costumo copiar a pasta da track para /sd/backup/ antes de qualquer build grande. Leva 10 segundos e evita perder horas de trabalho.

Configurações avançadas que fazem diferença

No arquivo config.xml dentro da pasta do Garage, você pode ajustar parâmetros como thread count para compilação paralela, qualidade de compressão de textura e path personalizado para temporários. Mudar o thread_count de 1 para 4 pode reduzir o tempo de build em até 30% em hardware moderno, mas aumenta o uso de memória RAM no Wii. Se o console estiver com pouca memória livre (menos de 20 MB), manter em 1 thread é mais seguro para evitar crashes durante compilação. Opath_temp também merece atenção. Por padrão o Garage usa a pasta temporária do homebrew, que fica no cartão SD. Se seu cartão for lento ou estiver perto do espaço máximo, mude esse path para um dispositivo USB externo se seu Wii for modificado com USB Loader. Tracks grandes (acima de 50 MB) compilam significativamente mais rápido do disco USB do que do SD.

Quando não usar o ultimate garage

Se você está fazendo apenas modificações simples como troca de cores ou ajustes de timing, ferramentas mais leves como o MKW Track Editor ou o próprio Custom Track Builder são suficientes. O Garage adiciona complexidade que só vale a pena quando você está gerenciando múltiplas tracks, usando plugins personalizados ou precisando de automação no fluxo de build. Para um iniciante que quer fazer uma track simples e publicar, o Garage é overkill e só vai confundir com opções demais. Se o seu objetivo é desenvolver para consoles portáteis ou dispositivos com limitações de memória extremamente apertadas, o Garage também não é ideal. Ele foi projetado para a arquitetura do Wii original, e recursos como compressão avançada de textura e validação de plugins rodam melhor em hardware com mais recursos disponíveis.

O fluxo com Ultimate Garage funciona bem quando você entende onde cada arquivo precisa ficar e quais limits o sistema impõe. A curva de aprendizado é curta para o básico, mas os detalhes — como o problema de subdiretórios que mencioniei, a questão das texturas indexadas e o limite de 256 texturas — são coisas que só aparecem depois que você já errou algumas vezes. Manter uma pasta de backup organizada e testar builds frequentes antes de qualquer compilação final evita a maioria dos problemas que vejo gente reclamando nos fóruns.