Documentazione
Costruire un gioco
Meccaniche e gare
Aggiornata 2026-11-03
Meccaniche e gare
Forma del tema
theme.yaml dichiara gruppi e attributi. Ogni gara ha un task per gruppo; il giocatore sceglie un'istanza posseduta per gruppo. Il server seleziona e salva la combinazione, valida la lineup, calcola i risultati e restituisce un esito spiegabile.
Determinismo
- Il seed è scelto o salvato dal server.
- Stesso seed, lineup e versione delle meccaniche producono lo stesso risultato.
- I risultati portano una traccia per audit e replay.
- Il client non sceglie mai seed o risultato.
Profilo meccaniche
Controlla layout, numero di task, condizione di vittoria (majority, best_of, total_score, margin), varianza e cap, input di fusione e regole di abilità/quiz. Il salvataggio crea una versione e la attiva atomicamente con un evento di audit. La pagina admin Mechanics espone il form e l'attivazione.
Calcolo della gara
RaceCalculationService valida lineup e regole, risolve i modificatori d'ambiente, esegue le prove, risolve l'esito, concede ricompense in modo idempotente e salva replay e traccia.
Fusione e allevamento
- La fusione consuma input e produce una nuova istanza secondo il tema.
- L'allevamento segue il sistema riproduttivo e il ciclo di vita.
- Un'istanza consumata viene rimossa esattamente una volta.
Ciclo di vita
Orologio a giorni attivi, età e maturità intere, morte a durata + 1, estensione e accelerazione a pagamento configurabili.
Simulatori
php artisan animalia:simulate:races
php artisan animalia:simulate:economy
php artisan animalia:simulate:all
php artisan animalia:simulate:competitions
php artisan animalia:simulate:fusion-cadence
php artisan animalia:simulate:abilities
php artisan animalia:simulate:card-rewards
Sono diagnostici e non cambiano i dati di gioco.