Como Funciona o Catálogo de Scripts de Automação do Genshin Impact
Qualquer pessoa que jogou Genshin Impact conhece essa rotina: coletar 168 curiosidades para ascensão de personagem, limpar pontos de minério, completar masmorras diárias. O processo se torna um segundo emprego. A comunidade resolve esse problema do seu próprio jeito. O projeto BetterGI usa visão computacional e emulação de input para automatizar o grind, e o repositório 4 serve como algo como um gerenciador central de pacotes para isso.
Fiquei curioso para ver como os desenvolvedores organizaram o repositório de scripts de usuário. Quando centenas de pessoas submetem rotas de farm, rotações de combate e macros JS personalizados, um projeto pode facilmente se transformar em uma bagunça. Aqui os autores construíram um sistema rigoroso de moderação e estrutura através de Pull Requests regulares.
O Que Está Dentro do Repositório
O repositório alimenta uma vitrine web 5. Os usuários iniciam o cliente BetterGI, selecionam o cenário necessário no catálogo, e o app puxa dados diretamente do Git. Sem banco de dados complexo no servidor — o GitHub atua como a fonte única de verdade.
O catálogo é dividido em quatro áreas principais:
- 6 — scripts de rotação de combate. Estes descrevem timings de habilidade do personagem, pausas e condições de conclusão de masmorra.
- 7 — rotas de navegação. Estes são arquivos JSON com coordenadas de movimento do personagem desde teletransportes até pontos de coleta de recursos.
- 8 — cenários complexos de automação em JavaScript com reconhecimento de padrões e uma interface personalizada.
- 9 — lógica para o modo de cartas "Summon of the Seven".
Arquitetura dos Scripts de Navegação
A maior parte do catálogo são rotas de coleta de recursos (10). Para manter milhares de arquivos legíveis, a comunidade introduziu um padrão rigoroso de nomenclatura:
0Exemplo do repositório: 11 (Cristais, Liyue, Cloud Retainer, 6 peças). Os números das rotas não são arbitrários. As rotas são ordenadas ou pela ordem de teletransporte para reduzir tempos de carregamento, ou pela densidade de recursos para farmar os pontos mais ricos primeiro.
Conflitos são tratados de uma forma interessante. Suponha que dois autores criaram rotas de coleta para a mesma flor, mas para configurações diferentes de personagem:
1Se o jogador tem um personagem que coleta recursos remotamente, ele baixa um preset. Se a coleta é feita por um personagem de espada de duas mãos padrão para quebrar minério — outro. A estrutura do catálogo isola essas variantes usando pastas com o sufixo 12.
Cenários Complexos em JavaScript
Movimentos simples não cobrem todas as tarefas. Para coisas complexas como farm automático de linhas de lei ou runs de materiais de ascensão, scripts JS são usados. Estrutura típica de pasta em 13:
2Dentro de 14, desenvolvedores conectam correspondência de imagem de template (Template Matching via OpenCV) e simulação de clique. Se o ícone necessário da pasta 15 aparece na tela, um branch lógico é acionado.
Para configuração de parâmetros, autores de scripts podem anexar overlays HTML personalizados. As regras do repositório têm requisitos claros para eles: bundles SPA pesados sem código fonte são proibidos, então o motor web do overlay não consome RAM extra durante o jogo.
3Contribuidores e Suporte
O projeto é mantido por uma comunidade chinesa ativa. A maior parte das mudanças vêm através de PRs do GitHub, onde os autores aderem a regras rigorosas de comentários e formatação.
Para Quem o Projeto Será Útil
Se você escreve bots de jogos ou cria automação baseada em visão computacional, 16 é um ótimo exemplo de como organizar um banco de dados colaborativo de scripts:
- Como fazer do GitHub um registro de pacotes sem escrever um backend.
- Como armazenar assets de reconhecimento de imagem junto com código executável.
- Como construir um esquema de nomenclatura de arquivos que elimina duplicação e confusão entre dezenas de autores.
O código fonte é aberto, e documentação sobre formatos de cenário está disponível no site do projeto. Mesmo se você está longe do Genshin Impact, as soluções arquiteturais para organização de arquivos e padrões de contribuição podem ser emprestadas para suas próprias utilidades.
Projetos relacionados