Vai al contenuto
Tutti i lavori
  • #computer-vision
  • #automation
  • #roblox
  • #games
  • #desktop
  • #freeware

Leaf's Grand Blue Autofish

Un'app gratuita per Windows che pesca nel gioco Roblox Grand Blue: legge lo schermo con OpenCV e l'OCR, gioca il minigioco con il mouse e registra ogni pesce con rarità e valore.

Ruolo
Sviluppatore e designer unico: rilevamento, input, interfaccia, i suoi effetti sonori e build di rilascio. Nato dalla macro di pesca open source di 1vtt, con il consenso dell'autore.
Risultato
Gratuita su GitHub dal 2 ottobre 2026 e ancora in aggiornamento. Nelle mie sessioni ha pescato 48.928 pesci per 4.612.065 d'oro, e mi ha portato al quinto posto nella classifica dei rebirth del gioco.
Anno
2026
Stato
in corso
Stack
  • Python
  • OpenCV
  • NumPy
  • RapidOCR
  • ONNX Runtime
  • mss
  • pywebview
  • Nuitka
Leaf's Grand Blue AutofishIdle
Ogni cattura è vera, presa dalle mie sessioni.
Casts
0
Catches
0
Profit
0G

Pronta quando vuoi tu

Premi Pesca un pesce per lanciare.

Una ricostruzione della pagina Pesca dell'app, con i suoi stili e i suoi suoni. Le catture sono estratte a caso da 400 reali.

  1. L'inizio

    Una macro che funzionava, e poco altro

    Gioco a Grand Blue, e la sua pesca è un grind lungo. Ho trovato la macro di pesca open source di 1vtt, e funzionava, ma era essenziale: una finestra di console, un file JSON da modificare a mano e una calibrazione difficile da fare bene. Nessuna comodità. Il mio primo pensiero è stato che potevo farla meglio da solo.

  2. L'obiettivo

    Migliore per chi non ha mai aperto un terminale

    Volevo metterci il mio lavoro di UI e UX e la mia esperienza di computer vision. Una vera interfaccia al posto della console, una calibrazione che ti guida passo per passo, numeri dal vivo invece di testo che scorre, un rilevamento che non perde un abboccamento per un solo frame sbagliato, e un exe pronto, così nessuno deve installare Python. 1vtt ha accettato che partissi dalla sua macro, ed è diventata un'app a sé.

  3. L'avventura

    Guardare lo schermo come un giocatore

    L'app guarda solo lo schermo e usa solo mouse e tastiera, come un giocatore molto attento. Non legge né modifica mai i file o la memoria del gioco. Lancia, clicca il pulsante SHAKE finché un pesce abbocca, legge il badge di rarità, tiene la barra di recupero sul pesce, poi legge il messaggio di cattura per registrare il pesce, le sue mutazioni e quanto vale.

    Intorno al motore ho progettato l'interfaccia, tutta in HTML e CSS dentro pywebview: una dashboard con una scena oceanica, un Inventario delle sessioni passate con grafici ed export CSV, una calibrazione guidata con un'immagine per ogni passo e impostazioni per temi, colori d'accento e un font adatto alla dislessia.

    Ogni parte reagisce quando la usi, e ha i suoi effetti sonori, che ho creato io: il passaggio del mouse, i clic, il cambio di pagina e gli interruttori, l'avvio e lo stop, e un suono di cattura diverso per ogni fascia di rarità. Il suono conta molto in come si percepisce un'interfaccia, e volevo che questa fosse accogliente e un po' cool. Puoi sentirli nella demo qui sopra.

  4. Le difficoltà

    Cose che lo sfondo può imitare

    Grand Blue disegna la sua interfaccia sopra acqua, sabbia e scene notturne, e quasi tutta è trasparente. Il pulsante SHAKE è un disco traslucido, quindi il suo colore è in realtà quello della scena. Il badge di rarità fluttua sopra il personaggio e si sposta con la telecamera. Durante il recupero, un pesce uscito dal bordo del riquadro sembrava una cattura conclusa. E il messaggio di cattura entra ed esce con un'animazione, accanto ad altro testo. Ognuno di questi ha richiesto un rilevatore basato su qualcosa che lo sfondo non può imitare, misurato su sessioni registrate invece che regolato a occhio. La scheda Tecnica li affronta uno per uno.

  5. La fine

    Gratuita, pubblica e ancora in crescita

    La versione 0.1.0 è diventata pubblica su GitHub il 2 ottobre 2026, con un server Discord per l'assistenza, e la 0.1.2 è arrivata tre giorni dopo: testo letto sulla scheda video, cattura dello schermo più veloce e ripresa automatica quando la pesca si blocca. Si scarica gratis, e il suo codice sorgente non è pubblicato.

    La prossima versione aggiunge le abilità automatiche: l'app spende i punti abilità nell'ordine che scegli e fa rebirth da sola. Per ora ce l'hanno solo i sostenitori. Con una build di prova sono arrivato al quinto posto della classifica dei rebirth di Grand Blue in pochi giorni.

    Quinto nella classifica dei rebirth, al Rebirth 43.
Pesci pescati nelle mie sessioni
48.928
Pesci pescati nelle mie sessioni
L'oro che valevano quelle catture
4.612.065 G
L'oro che valevano quelle catture
Di pesca, dal 30 settembre al 16 ottobre
175 h
Di pesca, dal 30 settembre al 16 ottobre
Download da GitHub
28
Download da GitHub
Nella classifica dei rebirth
#5
Nella classifica dei rebirth

Prossimi passi

  • Esca e cibo

    Leggere l'esca e il cibo che hai dalle schermate del gioco, poi usarli da sola seguendo un ordine di priorità che scegli tu.

  • Indice dei pesci

    Ogni specie con la sua rarità e il suo valore, più un tuo prezzo per ciascuna, per quando la scambi a un valore diverso.

  • Notifiche

    Una notifica di Windows o un messaggio su Discord per le catture rare, la fine di una sessione, gli errori e le pause.

  • Controlli di sicurezza

    Accorgersi del messaggio AFK, di un riavvio del server o di un ritorno al menu, poi fermarsi e avvisarti.

  • Pesca per te

    Lancia, aspetta che un pesce abbocchi, clicca il pulsante SHAKE, gioca il minigioco di recupero e rilancia, finché non la fermi.

  • Legge ogni cattura

    Il nome del pesce, le sue mutazioni, la rarità e quanto vale, dal messaggio che il gioco mostra a schermo.

  • Conserva le sessioni

    Una dashboard dal vivo mentre peschi e un Inventario delle sessioni passate con grafici, un registro con ricerca ed export CSV.

  • Lascia andare alcuni pesci

    Scegli le rarità che non ti interessano e l'app le lascia andare invece di tirarle su.

  • Abilità automatiche

    Spende i punti abilità nell'ordine che scegli e può fare rebirth da sola al livello di Pesca che indichi.

  • Si calibra con te

    Una guida passo per passo le insegna dove sono le cose sul tuo schermo, con un'immagine per ogni passo. Fino a cinque profili.

  • Non ti intralcia

    Si mette in pausa da sola quando Roblox non è la finestra in primo piano, e le azioni principali hanno tasti rapidi che funzionano nel gioco.

  • Come piace a te

    Tema scuro, chiaro o quello di Windows, un colore d'accento, un font adatto alla dislessia, ed effetti sonori che ho creato per ogni parte dell'interfaccia.

La dashboard

La pagina Pesca mostra la sessione mentre succede: tempo, lanci, catture, lanci senza abboccamento e oro guadagnato, poi ogni cattura con la rarità, quanto è durato il recupero, quanto la barra è rimasta vicina al pesce e il valore.

Inventario

Ogni sessione viene salvata. L'Inventario mostra l'oro guadagnato e l'oro all'ora, la cattura del giorno, il mix di rarità e il registro completo delle catture, che puoi cercare, filtrare, copiare come riepilogo o esportare in CSV.

Abilità automatiche

Arrivano con la prossima versione, e per ora solo per i sostenitori. Scegli l'ordine delle abilità su una mappa dell'intero albero, e quando un livello porta abbastanza punti l'app apre l'albero tra due lanci, sblocca la prossima, chiude il menu e torna a pescare. Può anche fare rebirth da sola al livello di Pesca che scegli, poi ricominciare l'ordine dall'inizio. Si possono salvare fino a tre ordini e condividerli con un codice.

Calibrazione e impostazioni

La calibrazione è una guida passo per passo: indichi le cose su un fermo immagine del gioco, l'app le controlla una per una, e nulla cambia finché ogni passo non è superato. Le correzioni rapide rifanno un singolo pezzo dall'interno del gioco. Le impostazioni coprono tasti rapidi, rarità da saltare, abilità automatiche, tempi, motore di rilevamento, aspetto e suono.

Il ciclo di pesca

Il motore è una macchina a stati che lavora solo su catture dello schermo. Ogni decisione nasce dai pixel: non c'è nessuna API e nessun accesso alla memoria del client di Roblox.

  1. Lancio

    Si sposta sul punto d'acqua calibrato, tiene premuto il mouse per il lancio e rilascia.
  2. Attesa e SHAKE

    Osserva l'area del minigioco, trova e clicca ogni pulsante SHAKE che compare e chiude i popup di troppo. Rilancia dopo un timeout.
  3. Abboccata

    Legge il badge di rarità sopra il personaggio. Una rarità che hai scelto di saltare viene lasciata andare riponendo la canna e riprendendola.
  4. Recupero

    Segue la barra e il pesce a ogni frame e decide quando tenere premuto e quando rilasciare con un controllore predittivo che mira poco più avanti del pesce.
  5. Lettura

    Legge il messaggio di cattura con l'OCR: specie, mutazioni e lunghezza, poi calcola il valore. Le mutazioni si moltiplicano tra loro.

Architettura

  • Motore

    OpenCV, NumPy

    La macchina a stati e i suoi rilevatori: analisi HSV e di forma su piccole aree dello schermo, template matching con maschera e componenti connesse. Nessuna rete neurale, a parte l'OCR.

  • Sessione

    Python

    Tutto ciò che sta intorno al motore: impostazioni, profili di calibrazione, tasti rapidi, avvio, stop e pausa, e il salvataggio di ogni sessione man mano.

  • Interfaccia

    pywebview

    Ogni finestra è HTML, CSS e JavaScript semplice in Edge WebView2, del tutto offline, su un unico design system con tema scuro e chiaro.

  • Cattura e input

    mss, DirectX, SendInput

    La cattura dello schermo della finestra del gioco, e input di mouse e tastiera inviati solo quando Roblox è la finestra in primo piano.

  • Lettura del testo

    RapidOCR, ONNX Runtime

    I modelli sono inclusi nel pacchetto, quindi leggere il testo non va mai online. Usa la scheda video quando può.

  • Rilascio

    Nuitka

    Compilata in un exe per Windows con tutto ciò che le serve, così i giocatori non installano Python.

Misurato, non regolato a occhio

Quando un recupero o un clic su SHAKE va storto, l'app salva ciò che ha visto: gli ultimi 90 frame della barra di recupero con la lettura di ciascuno, oppure uno screenshot del pulsante SHAKE mancato con i suoi punteggi. Ogni correzione qui sotto è partita da quelle registrazioni, e ogni rilevatore ha un benchmark costruito su screenshot reali del gioco.

Due lunghe prove

Due sessioni che ho lasciato andare da sole, lette dai file di sessione che l'app salva. Il 2 ottobre, uno stress test con la fortuna al massimo e le condizioni migliori che potessi creare. Il 12 ottobre, una prova delle abilità automatiche: l'app è salita di livello, ha speso i punti e ha fatto sei rebirth senza di me. Le catture superano i lanci per via dei pesci bonus, come Double Catch, che portano più di un pesce per lancio.

2 ottobre, senza nessuno
11h 45m
2 ottobre, senza nessuno
Catture da 4.364 lanci
4.888
Catture da 4.364 lanci
Oro in quella sessione
502.821 G
Oro in quella sessione
Catture mitiche in quella sessione
98
Catture mitiche in quella sessione
Rebirth da sola, 12 ottobre, in 11h 46m
6
Rebirth da sola, 12 ottobre, in 11h 46m

Sfide

Problema

Un pulsante SHAKE trasparente

Il pulsante SHAKE è un disco scuro traslucido, quindi cercarlo come un'immagine voleva dire cercare la scena dietro. Sull'acqua scura il vecchio rilevatore non ne trovava nessuno su 7 di prova. E alcuni clic proprio sul pulsante semplicemente non venivano registrati.

Soluzione

Ora il rilevatore confronta solo ciò che non dipende dalla scena: il testo bianco sul disco, poi un controllo che il bordo sia scurito in modo uniforme tutto intorno. Su 200 pulsanti incollati in 13 screenshot reali ne trova il 99%, contro il 65,5% di prima, senza clic sbagliati. Roblox preme solo un pulsante che considera sotto il mouse, quindi ogni clic ora ci arriva scivolando, aspetta 30 ms con un movimento di 1 px, tiene premuto per 50 ms, poi controlla che il pulsante abbia reagito, e se no riprova più lentamente. In una sessione dal vivo hanno abboccato 36 lanci su 36, e solo 1 clic su circa 540 è stato ripetuto.

Problema

Leggere il badge di rarità

Il badge fluttua sopra il personaggio e si sposta con la telecamera. Un lettore basato sul colore sbagliava il 7,7% delle volte e scattava nel 17% dei frame senza badge, e i modelli che imparava dalle partite diventavano pian piano ritagli di mare.

Soluzione

Il badge indica la rarità due volte, con il colore e con i suoi glifi (da ! a ??? e ?!), e ogni glifo è un riempimento piatto dentro un contorno nero spesso. Il lettore di glifi trova quelle forme chiuse, le divide in barre, punti e riccioli, e indica una rarità solo quando colore e sequenza concordano. Non usa modelli e non impara mai dalle partite. Sul benchmark legge il 90,6% dei singoli frame, senza rarità sbagliate né falsi rilevamenti, in circa 4 ms per ritaglio.

Problema

Catture fantasma

Un recupero finiva quando il pesce non si leggeva per qualche frame. Con i pesci difficili succedeva a metà: la prima sessione dal vivo ha registrato 12 catture false su 60. Le registrazioni hanno mostrato il perché: il riquadro disegnato in calibrazione finiva circa 54 px prima della barra, e i pesci veloci ne uscivano.

Soluzione

Ora la fine del recupero la decide la barra stessa: l'app impara i bordi stabili della barra durante il recupero e continua a tirare finché sono a schermo, anche quando il pesce per un attimo non si legge. E quando il pesce tocca un lato del riquadro, quel lato si allarga a piccoli passi. Nella sessione successiva il riquadro si è allargato di 72 px nel primo recupero difficile, e da lì non si è perso nessun pesce.

Problema

Leggere il messaggio di cattura

Il messaggio entra ed esce con un'animazione accanto al contatore della serie e ad altro testo, e una zona fissa leggeva la riga sbagliata. Anche il confronto approssimato confondeva nomi simili: un Golden Green Seahorse veniva registrato come Red Seahorse.

Soluzione

L'app legge una fascia ampia in una breve raffica di frame e tiene solo le righe che si possono interpretare come una cattura, seguendo la frase che usa il gioco. La specie si riconosce partendo dalla fine della riga, preferendo il nome più lungo che corrisponde, e ciò che viene prima è l'elenco delle mutazioni. Poi i frame votano il risultato.

È gratuita?

Sì. Se ti ha fatto risparmiare tempo, una mancia su Ko-fi è gradita e mai dovuta. Chi la sostiene dovrebbe ricevere le nuove versioni in anticipo, e ogni aggiornamento arriva prima o poi a tutti.

Verrò bannato?

Può succedere. L'automazione può andare contro i Termini d'uso di Roblox e le regole di un gioco, e l'app non cerca di nascondersi. La usi a tuo rischio, e lo dice anche la licenza. Se ci tieni al tuo account, non usarla.

Legge o modifica il gioco?

No. Non tocca i file né la memoria del gioco e non comunica con i server di Roblox. Fotografa lo schermo, lo legge, poi muove il mouse e preme i tasti, come farebbe una persona.

Il codice sorgente è disponibile?

No. L'app è gratuita, ma il suo codice non è pubblicato. Il repository su GitHub contiene le versioni, le guide e la licenza, e puoi verificare che il tuo download corrisponda allo SHA256 pubblicato.

Perché Windows o l'antivirus si lamentano?

L'app non ha una firma digitale, perché un certificato costa ogni anno e questo è un progetto gratuito. Inoltre ascolta i tasti rapidi e invia clic e pressioni di tasti, cose che gli antivirus tengono d'occhio. Il repository spiega come verificare il download prima di avviarlo.

Cosa mi serve?

Windows 10 o 11 a 64 bit e Roblox aperto in una finestra visibile. Tutto il resto è nello zip: nessun Python da installare. Al primo avvio accetti la licenza, poi una calibrazione guidata richiede qualche minuto.

Posso usare il PC mentre pesca?

Non proprio. Muove il mouse e clicca, e si mette in pausa da sola quando Roblox non è la finestra in primo piano, quindi lascia il gioco davanti e falla lavorare.

Dove sono i miei dati?

Nella cartella dell'app: impostazioni, calibrazione, sessioni e storico delle catture. Nessun account, nessun tracciamento, e l'app non fa connessioni di rete per conto suo. Per rimuoverla, elimina la cartella.

Ho bisogno di aiuto o ho trovato un bug

Chiedi sul server Discord, il posto più veloce per una risposta, oppure apri una segnalazione su GitHub.

  1. 5 ott 2026

    0.1.2: più veloce e più affidabile

    Il testo si legge sulla scheda video e lo schermo si cattura più in fretta, con una nuova scheda Settings > Engine e la velocità SHAKE Instant. Un passo di calibrazione per la zona in cui si leggono i nomi dei pesci. Quando non si pesca nulla per diversi lanci, l'app ripone la canna e la riprende da sola. Meno catture false nelle scene scure, catture velocissime contate, e i pesci bonus come Second Splash registrati come catture a sé. Il registro delle attività si salva man mano.

  2. 2 ott 2026

    0.1.1: si apre dopo un download dal browser

    Risolto il problema dell'app che su alcuni PC non si apriva dopo un download dal browser, perché Windows marca i file scaricati. I messaggi di errore ora indicano prima il server Discord.

  3. 2 ott 2026

    0.1.0: prima versione pubblica

    Pesca da sola, legge ogni cattura, tiene una dashboard dal vivo e un Inventario delle sessioni passate, salta le rarità che scegli e si calibra con un'immagine per ogni passo, con fino a cinque profili. Tema chiaro e scuro, un colore d'accento, un font adatto alla dislessia ed effetti sonori.

Ti serve qualcosa di simile?

Dimmi cosa deve fare, dove gira e per quando ti serve.

Contattami