Hoe de Genshin Impact Automatisering Script Catalogus Werkt
Iedereen die Genshin Impact heeft gespeeld kent deze routine: verzamel 168 curiositeiten voor personage-ascensie, ruim ertspunten op, voltooi dagelijkse dungeons. Het proces wordt een tweede baan. De community lost dit probleem op haar eigen manier op. Het BetterGI-project gebruikt computer vision en input-emulatie om de grind te automatiseren, en repository 4 fungeert als zoiets als een centrale package manager ervoor.
Ik werd nieuwsgierig om te zien hoe de ontwikkelaars de gebruikersscript-repository organiseerden. Wanneer honderden mensen farming routes, gevechtsrotaties en aangepaste JS-macro's indienen, kan een project gemakkelijk een rommeltje worden. Hier bouwden de auteurs een strikt moderatie- en structuursysteem op door middel van reguliere Pull Requests.
Wat Zich Binnen de Repository Bevindt
De repository voedt een web storefront 5. Gebruikers starten de BetterGI-client, selecteren het benodigde scenario uit de catalogus, en de app haalt data rechtstreeks uit Git. Geen complexe server-side database — GitHub fungeert als de single source of truth.
De catalogus is onderverdeeld in vier hoofdgebieden:
- 6 — gevechtsrotatie-scripts. Deze beschrijven personage-ability timings, pauzes en dungeon voltooiingsvoorwaarden.
- 7 — navigatieroutes. Dit zijn JSON-bestanden met personage-bewegingscoördinaten van teleports naar resource-verzamelingspunten.
- 8 — complexe JavaScript-automatisering scenario's met patroonherkenning en een aangepaste interface.
- 9 — logica voor de "Summon of the Seven" kaartmodus.
Navigatie Script Architectuur
Het grootste deel van de catalogus zijn resource-verzamelroutes (10). Om duizenden bestanden leesbaar te houden, introduceerde de community een strikte naamgevingsstandaard:
0Voorbeeld uit de repository: 11 (Kristallen, Liyue, Cloud Retainer, 6 stuks). Routenummers zijn niet willekeurig. Routes worden gesorteerd ofwel op teleportvolgorde om laadtijden te verminderen, ofwel op resource-dichtheid om de rijkste plekken eerst te farmen.
Conflicten worden op een interessante manier afgehandeld. Stel dat twee auteurs verzamelroutes hebben gemaakt voor dezelfde bloem, maar voor verschillende personage-opstellingen:
1Als de speler een personage heeft dat resources op afstand verzamelt, downloaden ze één preset. Als verzameling wordt gedaan door een standaard two-handed sword personage voor het breken van erts — een andere. De catalogusstructuur isoleert deze varianten met behulp van folders met het 12 achtervoegsel.
Complexe JavaScript Scenario's
Eenvoudige bewegingen dekken niet alle taken. Voor complexe zaken zoals automatisch ley line farming of ascensie-materiaal runs worden JS-scripts gebruikt. Typische folderstructuur in 13:
2Binnen 14 binden ontwikkelaars template image matching (Template Matching via OpenCV) en click-simulatie aan elkaar. Als het vereiste icoon uit de 15 folder op het scherm verschijnt, wordt een logica-branch geactiveerd.
Voor parameterconfiguratie kunnen script-auteurs aangepaste HTML overlays toevoegen. De repository-regels hebben duidelijke vereisten hiervoor: zware SPA-bundels zonder broncode zijn verboden, dus de web engine van de overlay verbruikt geen extra RAM tijdens het gamen.
3Bijdragers en Ondersteuning
Het project wordt onderhouden door een actieve Chinese community. Het merendeel van de wijzigingen komen via GitHub PRs, waar auteurs zich houden aan strikte commentaar- en formatteringsregels.
Wie Dit Project Nuttig Zal Vinden
Als je game bots schrijft of computer vision-gebaseerde automatisering maakt, is 16 een geweldig voorbeeld van hoe je een collaboratieve script-database organiseert:
- Hoe je GitHub een package registry maakt zonder een backend te schrijven.
- Hoe je image recognition assets opslaat naast uitvoerbare code.
- Hoe je een bestandsnaamgevingsschema bouwt dat duplicatie en verwarring tussen tientallen auteurs elimineert.
De bron is open, en documentatie over scenario-formaten is beschikbaar op de projectwebsite. Zelfs als je ver van Genshin Impact af staat, kunnen de architectuuroplossingen voor bestandsorganisatie en bijdragenormen worden geleend voor je eigen utilities.
Gerelateerde projecten