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.