Web App

Vtes.Simulator

Archiviato PersonaleDocker Hub

Un simulatore di turno per Vampire: The Eternal Struggle: si gioca il proprio turno per intero contro avversari governati dal computer, con il database delle carte ufficiale e le partite riproducibili.

Ogni partita ha un seme, e il seme si riarma. È quello che trasforma un comportamento strano in qualcosa di riproducibile invece che aneddotico: il resoconto di fine partita mostra il seme, e un pulsante rigioca la stessa partita con le stesse decisioni.

Gli avversari non sorteggiano. La decisione nasce da un profilo di comportamento per archetipo, corretto dal ruolo al tavolo, un mazzo da bleed fa cose diverse se ti sta davanti o se è lontano, e poi modulato da clan e discipline. Le ventiquattro combinazioni sono consultabili dall'interno, con i pesi in chiaro: si può guardare cosa sta per fare l'avversario prima di scoprirlo giocando.

Il motore non conosce l'interfaccia. Parser, comportamenti, esiti, generatore casuale e combattimento sono funzioni pure, verificabili senza DOM e senza store: è il motivo per cui i test sono novecento e girano in pochi secondi.

Stato. Dismesso il 14 agosto 2026, ultimo dei progetti VTES a restare in esercizio dopo il gestionale e il bot. Non è andato perso niente: girava senza dati propri sul server, quindi quello che resta basta a rimetterlo online.

apr 2026primo commit
235commit
903test
5.957carte nel database

Piattaforma

Interfaccia
Vue 3 con TypeScript, stato in Pinia, build con Vite
Motore
funzioni pure separate dallo stato: parser, comportamenti, esiti, casuale, combattimento
Database carte
2.456 di libreria e 3.501 di cripta, generate dai dati KRCG
Caricamento
il database arriva solo alla lettura della decklist: il bundle iniziale resta sui 140 KB

Partita

Fasi
unlock, master, minion, influence, discard, poi la fase degli avversari
Avversari
da uno a tre, ciascuno con ruolo al tavolo e archetipo
Decisioni
profilo per archetipo, corretto dal ruolo, modulato da clan e discipline
Combinazioni
24 fra ruolo e archetipo, consultabili con pesi e probabilità in chiaro
Riproducibilità
ogni partita ha un seme: si riarma e si rigioca identica

Interazione

Zone
trascinamento fra tutte, con Ash Heap e RFG unificati come vogliono le regole
Annullamento
storia di trenta passi, con scorciatoia da tastiera
Statistiche
da dieci a cinquemila partite simulate nel browser, o da riga di comando senza interfaccia
Accessibilità
fuoco confinato nei modali, navigazione da tastiera, contrasto AA

Rilascio

Test
903, bloccanti: la build non parte se ne cade uno
End-to-end
opt-in, attivati da una parola nel messaggio di commit
Budget
700 KB sul bundle esclusi database e dati statici, oggi 293
Immagine
scansione Trivy bloccante, deploy con healthcheck e ritorno automatico all'ultima stabile

Stato

Dismesso
14 agosto 2026: servizio spento, sviluppo sospeso
Cosa resta
codice, test e documentazione conservati, immagine su Docker Hub in sola lettura

Stack

Tecnologie
VueTypeScriptPiniaVite