Numeri sempre più grandi il design e la matematica dei giochi incrementali

Nel nostro articolo introduttivo sui giochi incrementali, abbiamo esaminato la storia del genere ed esaminato ciò che rende questi giochi unici, ma non abbiamo approfondito il loro vero design. Mentre i giochi incrementali possono sembrare semplici, il loro design rivela intenti complessi e riflessivi dai loro creatori. Guardando alcuni esempi di successo del genere, possiamo apprezzare meglio le caratteristiche di questi giochi e capire meglio come possiamo progettare i nostri.

Prima di immergermi nel quadro matematico, vorrei sottolineare tre aree del design che sono facilmente trascurate ma importanti: la qualità dell'esplorazione e della scoperta, la differenza tra espressioni "inutilizzate" e "clicker" del genere e l'importanza di tema e arte coerenti.

La gioia della scoperta

Uno dei più importanti vettori di "divertimento" in un gioco incrementale è quello di scoperta. Molti di questi giochi iniziano con una configurazione iniziale molto semplice, ma la complessità aumenta a mano a mano che il giocatore avanza. Il processo di scoperta di questa complessità attinge al fascino innato di scoprire funzionalità nuove e nascoste. Scatola di caramelle, ad esempio, può essere inteso come un gioco principalmente basato sull'esplorazione del suo sistema, e il punteggio "crescente" di caramelle è semplicemente il meccanismo per sbloccare ulteriori contenuti.

Pertanto, la maggior parte dei giochi incrementali non rende l'intero sistema disponibile sin dall'inizio, ma invece "porta" ulteriori funzionalità rispetto ai livelli della valuta principale. Questo contenuto potrebbe essere un "noto sconosciuto", come in In ozio per governare gli dei, dove alcune sezioni del gioco sono esplicitamente vuote e specificano come e quando possono essere sbloccate, o "sconosciuto sconosciuto", dove il giocatore non sa nemmeno che le caratteristiche esistono fino a quando non viene raggiunto un certo livello, come quasi tutto il contenuto nel Cookie Clicker. Alcuni giochi possono contenere elementi di entrambi: AdVenture Capitalist informa il giocatore di gran parte del suo contenuto che può sbloccare, ma contiene numerose funzioni nascoste che emergono nel corso del gioco.

Immagino che abbiamo una lunga strada da percorrere.

La scoperta è una caratteristica importante da considerare nella progettazione di un gioco incrementale perché fornisce un sistema di ricompensa esplorativo al giocatore mentre vengono a conoscenza delle meccaniche di base del gioco. Presentare tutto in anticipo non solo aumenta la barriera all'ingresso nell'apprendimento del gioco, ma rimuove anche la gioia derivante dalla graduale familiarizzazione con un sistema.

Idling o clic?

I giochi incrementali tendono a concentrarsi su due meccanismi primari sovrapposti ma distinti: 

  • Crescita autonoma che il giocatore aumenta gradualmente il tasso di.
  • Coinvolgimento attivo dei giocatori la cui produttività aumenta gradualmente.

I giochi incentrati su questi ultimi avranno generalmente una meccanica "clic" letterale per produrre crescita, o qualche altro mezzo per richiedere la partecipazione attiva del giocatore, come i tappi di archiviazione che richiedono un intervento frequente del giocatore. Nel CivClicker, per esempio, il giocatore deve principalmente gestire attivamente la propria città, con solo brevi periodi di crescita oziosa. Viceversa, i giochi incentrati sulla crescita autonoma potrebbero includere una meccanica di clic, ma se così fosse, la sua importanza gradualmente calerà a favore di qualcosa di automatizzato. Nel AdVenture Capitalist,ilil giocatore deve cliccare attivamente all'inizio, ma sblocca rapidamente la capacità di automatizzare il processo, e quindi è largamente libero dall'incremento manuale.

Questa scelta è in gran parte una questione di preferenza e di enfasi sugli obiettivi del gioco. Un gioco che richiede una gestione attiva può essere più coinvolgente per il giocatore in un breve lasso di tempo, ma, se implementato in un modo che richiede troppo coinvolgimento del giocatore troppo spesso, può venire a violare i principi del design etico e umano del gioco. Viceversa, un approccio più autonomo o inattivo può richiedere meno impegno da parte del giocatore in una determinata sessione di gioco, ma può generare un impegno a lungo termine per il gioco, il che aiuta a spiegare perché i giochi "inattivi" su Kongregate hanno un tasso di ritenzione così alto. AdVenture Capitalist informa utilmente anche il giocatore di ciò che è accaduto in loro assenza, sottolineando che non richiede la vostra costante attenzione:

Direzione artistica e tema

I giochi incrementali spesso traggono beneficio da un tema narrativo sul quale si esercitano i meccanici (anche se questo può essere facilmente trascurato perché questi meccanismi sono così minimi).

 Un tema sensato può aiutare a dare un contesto all'esercizio altrimenti astratto di numeri crescenti. allo stesso modo, tutti i giochi beneficiano della buona direzione artistica e del design e gli incrementali non fanno eccezione. Un'estetica coerente aiuta il gioco a vivere un'esperienza unificata, e un'interfaccia pulita riduce il costo mentale della navigazione del gioco, in modo che il giocatore possa concentrarsi sul gioco stesso, piuttosto che interpretare gli elementi di interfaccia utente sbagliati.

L'esempio sopra da AdVenture Capitalist è una buona illustrazione di questo. Il suo tema è la gestione aziendale e l'espansione capitalistica (che si adatta al gameplay di numeri sempre crescenti), e utilizza un'estetica Googie anni '50 per la sua direzione artistica. Viene utilizzato in modo coerente (e con umorismo), in modo tale che persino i menu e le esercitazioni siano "di carattere" e rinforzino il tema visivo e narrativo. 

La necessità di grafica e scrittura dei giochi incrementali potrebbe essere un po 'scarsa rispetto ai giochi di altri generi, ma è importante non confondere la scarsa necessità di no bisogno.

Numeri in aumento

La meccanica più significativa dei giochi incrementali è il numero in aumento. Abbiamo definito quest'ultima volta come:

  1. La presenza di almeno una valuta o numero,
  2. che aumenta ad una velocità prefissata, con uno sforzo minimo o nullo,
  3. e che può essere speso per aumentare il tasso o la velocità a cui aumenta.

È il terzo elemento che influenza in gran parte la sensazione del gioco, ed è il più difficile da progettare bene. Dato che è un esempio particolarmente semplice, diamo un'occhiata a Numero di Tyler Glaiel. Ha i tre elementi chiave di definizione e quasi nient'altro: un numero sale e puoi spendere quel numero per farlo andare più veloce.

Quando il gioco inizia, il "tasso di guadagno" del numero in aumento è di 0,1 al secondo. La quantità di "numero" salvata può essere spesa per farla andare più veloce. Ecco i primi cinque acquisti, con il loro costo nella prima colonna e il nuovo tasso "numero al secondo" nel secondo:

Costo Tasso di reddito
1.0 0.2
1.2
0.4
1.4
0.7
1.7
1.2
2.2 1.8

Anche con una manciata di osservazioni, possiamo identificare alcuni dei tratti distintivi del design incrementale qui. Uno è il aumenti non lineari a costi e benefici: richiede sempre più numeri per ottenere miglioramenti incrementali relativamente minori. 

Questo ha senso dal punto di vista della praticità: se il costo / beneficio rimanesse lo stesso (ad esempio, se costasse sempre 1 numero per acquistare un aumento di 0,2 del tasso di reddito), non ci sarebbe alcuna variabilità nel risultato e il reddito l'aumento del tasso salirebbe ad un ritmo costante e prevedibile. Questo diventerebbe noioso molto rapidamente!

Invece, questo è il costo (in blu) e il tasso di reddito (in arancione) per i primi venti acquisti:

Blu: costo del x aggiornamento. Arancione: percentuale di reddito al secondo generata da x acquisti. Ad esempio, il decimo acquisto costa 7 numeri e genera un tasso di reddito di 7,6 numeri al secondo.

(Puoi scaricare un XLSX dei dati usati per generare questi grafici da questo repository GitHub o visualizzare un equivalente di Google Sheets.)

Possiamo vedere qui, molto ovviamente, che queste funzioni non sono lineari (anche ignorando il salto di formula dei costi al 12esimo iterazione), e che il costo aumenta rapidamente superano gli aumenti dei tassi di reddito. Questo è un aspetto importante del design, perché significa che il tempo speso in attesa di permettersi il prossimo aggiornamento cresce esponenzialmente più a lungo dura il gioco. Quindi il gioco procede abbastanza velocemente all'inizio, con il giocatore che ha solo bisogno di aspettare periodicamente per risparmiare abbastanza per il prossimo acquisto, ma rallenta gradualmente.

La maggior parte dei giochi incrementali ha più fonti di aumento del tasso di guadagno da aggiornare, invece di un solo come Numero lo fa. Questa è una delle principali fonti di scoperta e strategia dei giochi incrementali, perché avere più vettori di miglioramento i cui costi aumentano in modo non lineare introducono interessanti possibilità di ottimizzazione per il giocatore. Se il giocatore sceglie di investire pesantemente in un singolo edificio o in un aggiornamento, il costo in aumento esponenziale significa che a un certo punto altre opzioni diventeranno relativamente più economiche, anche se inizialmente avevano un prezzo molto alto. Questo significa che il giocatore ha una serie di opzioni a sua disposizione, ma devono essere costantemente rivalutate perché il valore relativo per il giocatore è in costante cambiamento.

Miglioramenti lineari con costi esponenziali

Esponenziale costo il ridimensionamento è vantaggioso per le crescenti risorse e gli investimenti in termini di tempo di cui necessitano, ma la maggior parte dei giochi non impiega esponenziali tasso di reddito aumenta. Perchè no? 

Nel grafico dell'ultima sezione, è il divario fra le due linee che ci danno il rapporto costo-versus-beneficio in continua crescita. Per ottenere ciò, in realtà richiediamo solo un costo (in arancione) per aumentare esponenzialmente (o polinomialmente); il tasso di reddito potrebbe aumentare in modo lineare e il divario tra le linee si amplierebbe ancora.

Ad esempio, in Clicker Heroes, una delle prime fonti automatizzate di incremento del numero proviene da un "eroe" chiamato Barbalbero. Inizialmente, costa 50 e ti dà un tasso di reddito di 5 al secondo. Il secondo livello costa 53,5, ma dà ancora un ulteriore aumento del tasso di 5. I primi cinquanta acquisti sono simili a questo, sempre con il costo in blu e il tasso di reddito in arancione:

Si prega di notare che per semplicità ignoriamo un certo numero di altre meccaniche di costo / tasso in Clicker Heroes.

La funzione "tasso di reddito" qui è solo una linea retta, dal momento che ogni acquisto lo aumenta per l'importo impostato di 5, quindi la formula per esso è molto semplice: il tasso totale al secondo è solo il numero posseduto moltiplicato per 5 (quindi, \ (y = 5x \)). 

Il costo, tuttavia, sta aumentando a un ritmo sempre crescente. Il costo incrementale di ogni livello aggiuntivo è inizialmente minimo; sul grafico possiamo vedere per i primi venti il ​​divario tra i due è quasi costante. Ma poi si stacca drammaticamente, richiedendo sempre di più per ogni aggiornamento successivo. 

La formula per la funzione di costo qui è in realtà una che è ampiamente utilizzata in molti giochi incrementali:

\ [Prezzo = BaseCost \ volte Moltiplicatore ^ (\ # \: di proprietà) \]

Per il nostro esempio di Barbalbero, il costo base è 50 e la variabile "Moltiplicatore" è 1.07, quindi il secondo livello costa \ (50 \ volte 1.07 ^ 1 = 53.5 \), il terzo costa \ (50 \ volte 1.07 ^ 2 = 57.245 \), e così via. Il valore del Moltiplicatore determina la curvatura della linea, con valori più alti che indicano curve di costo più ripide. (Un valore di 1 darebbe una linea di costo lineare). 

Clicker Heroes usa 1.07 come moltiplicatore di aumento per tutti i 35 dei suoi eroi potenziabili e tutti i vari edifici di Cookie Clicker utilizzare un valore di 1,15. È interessante notare che le 10 aziende di AdVenture Capitalist tutti usano un moltiplicatore diverso, ma ognuno è compreso tra 1,07 e 1,15. L'aspetto comune degli stessi moltiplicatori in giochi diversi suggerisce che le curve prodotte tra questi limiti sono equilibrate e soddisfacenti. 

Tuttavia alcuni giochi divergono da lì. Gioco incrementale multiplayer di Steam Mostro, parte del loro evento di vendita estivo 2015, utilizza moltiplicatori fino a 2,5, che aumentano molto rapidamente.

Come accennato in precedenza, il ridimensionamento del costo esponenziale ha il vantaggio di bilanciare più percorsi di aggiornamento garantendo che ognuno segua un percorso di rendimenti decrescenti. Ciò rende alcuni dei bilanciamenti tattici innati alla formula di costo stessa, piuttosto che qualcosa che il designer ha bisogno di definire esplicitamente. Perché anche se una determinata risorsa è a volte o anche per lo più 'migliore', il suo costo in aumento esponenziale significa che non può essere sfruttato esclusivamente. 

Diamo un'occhiata all'elenco degli edifici aggiornabili in Cookie Clicker come esempio:

Costruzione Costo base
Tasso di reddito base
Cursore 15 0.1
Nonna
100 0.5
Azienda agricola
500 4
Fabbrica
3.000 10
Il mio
10.000 40
Spedizione
40.000 100
Alchemy Lab
200.000 400
Portale
1.666.666 6666
Macchina del tempo
123.456.789 98.765
Condensatore di antimateria
3.999.999,999 mila 999.999
Prisma
75 miliardi 10.000.000

Possiamo vedere diversi modelli apparenti solo da questa tabella. 

Il primo è che il costo base di ogni aggiornamento successivo è quasi cinque volte superiore al precedente (tranne che per gli ultimi). Questi aumenti di mezzo ordine di grandezza assicurano al giocatore il tempo sufficiente per godersi ogni risorsa appena sbloccata; aumenti più bassi significherebbe che gli sblocchi potrebbero arrivare troppo velocemente, ma più a lungo rischierebbe di annoiare il giocatore prima di raggiungere il prossimo sblocco. 

Il tasso di reddito (biscotti al secondo, per questo gioco) nel frattempo aumenta solo di circa un terzo per ogni livello aggiuntivo, il che significa che mentre gli edifici contribuiscono con importi numerici sempre più grandi, in realtà sono sempre meno efficienti rispetto al loro costo.

Tuttavia, poiché ogni edificio segue la stessa formula di aumento dei costi \ (Prezzo = BaseCosta \ volte 1,15 ^ (\ # \: Proprietà) \), ogni edificio segue in realtà un modello molto simile. Il grafico sottostante mostra una linea per ciascuno degli 11 edifici, con i loro primi duecento aggiornamenti, con il costo del registro lungo l'asse y e il tasso di reddito del registro sull'asse x. (Trattandosi di funzioni esponenziali, una scala logaritmica rivela la loro somiglianza meglio di una lineare).

Questa riga rappresenta un edificio diverso, con un costo sull'asse y e una percentuale di reddito sull'asse x (entrambe le scale logaritmiche). Questa è una visualizzazione del costo a vantaggio della curvatura che abbiamo discusso in precedenza

Quindi, anche se questi edifici appaiono molto diversi, dal momento che ognuno produce e costa nominalmente molto di più del precedente, le loro formule di costo esponenziale producono curve che sono intrinsecamente simili, pur creando un sistema che il giocatore può ottimizzare.

Contabilità per l'efficienza

Mentre i giochi incrementali sono superficialmente sul far salire i numeri, è come farli salire più velocemente possibile che fornisce profondità di gioco per i giocatori appassionati. Il giocatore ha sempre più strade di miglioramento prima di loro tra le varie risorse aggiornabili (di solito insieme ad alcune funzionalità aggiuntive che discuteremo più avanti), e quindi sfida il giocatore a valutare queste scelte. Dovresti comprare l'aggiornamento più economico che puoi permetterti adesso, o risparmiare fino a quando non ti puoi permettere il livello successivo?

Poiché alla fine desideriamo acquistare tutti gli aggiornamenti, l'approccio più efficiente è solo per valutare l'ordine ottimale. Immagina uno scenario in cui stiamo attualmente producendo 5 del nostro numero al secondo (\ (nps = 5 \)) e abbiamo una scelta tra due aggiornamenti. Il primo costa 20 (\ (cost_a = 20 \)), e aumenterà il nostro tasso di reddito di 1 (\ (rate_a = 1 \)). L'altro ha \ (cost_b = 100 \), ma ha anche \ (rate_b = 10 \). Il primo è più economico, ma è anche meno efficiente in termini di costi. 

Bene, proviamo ad acquistare A poi B:

  • Attendiamo e risparmiamo per \ (20/5 = 4.0 \) secondi, quindi acquistiamo A.
  • Ora aspettiamo \ (100 / (5 + 1) = 16.67 \) secondi, quindi acquistiamo B.
  • Ora abbiamo \ (nps = 16 \) e ci sono voluti \ (20,67 \) secondi per raggiungere.

E se facessimo il contrario?

  • Attendiamo e risparmiamo per \ (100/5 = 20.0 \) secondi, quindi acquistiamo B.
  • Ora aspettiamo \ (20 / (5 + 10) = 1.33 \) secondi, quindi acquistiamo A.
  • Ora abbiamo \ (nps = 16 \) e ci sono voluti \ (21.33 \) secondi per raggiungere.

Quindi, sembra che comprino prima A e poi B sia più efficiente, perché \ (20/5 + 100 / (5 + 1) < 100/5+20/(5+10)\). We could generalize this example to get a formula like this:

\ [\ frac cost_a nps + \ frac cost_b (nps + rate_a) < \frac cost_bnps + \fraccost_a(nps + rate_b) \]

Ma questo è utile solo per il confronto tra due possibili aggiornamenti, e quindi non è così utile se abbiamo avuto una grande quantità di scelte. Abbiamo bisogno di semplificare la formula per isolare le variabili per un solo aggiornamento (la cui derivazione è spiegata in dettaglio in questo fantastico articolo di Adam Babcock), che dà questo:

\ [\ frac cost_a nps + \ frac cost_a (nps + rate_a) \]

Ora, possiamo applicare questa formula a ogni aggiornamento possibile, e il risultato più basso, a causa della transitività delle disuguaglianze, produrrà ciò che dovremmo acquistare successivamente (con alcune eccezioni che non meritano di essere prese per questo livello di analisi). Ciò semplifica enormemente il processo di ricerca del percorso più efficiente per l'ottimizzazione.

Questo è ovviamente rilevante per il giocatore, ma è anche utile per il designer. Conoscendo il più efficientel'utilizzo di vari elementi di gioco può identificare l'esistenza di picchi involontari nei requisiti di tempo e assicurare che anche il gioco ottimale progredisca ad una velocità intesa dal creatore.

La derivazione di scenari di gioco ottimali ci consente anche di confrontare diversi giochi incrementali, in quanto possiamo ridurre le variabili disparate al solo tempo necessario per raggiungere un determinato livello di numero al secondo. Il grafico sottostante mostra il tempo necessario per raggiungere un dato numero al secondo di reddito in AdVenture Capitalist (in verde) e Cookie Clicker (in marrone), se acquisti edifici nel modo più efficiente (ignorando gli altri aspetti del gioco per semplicità):

Asse X: tempo, asse y: tasso di reddito (scala di registro); verde: AdVenture Capitalist, marrone: Cookie Clicker.

Sorprendentemente, i due giochi sembrano molto simili qui, restituendo tassi più alti di np contro una quantità sempre maggiore di tempo. Entrambi crescono incredibilmente rapidamente nelle prime 8-10 ore (circa 500 minuti), ma il tasso di aumento è molto più marginale da allora in poi. Alla fine si appiattiscono quando il numero di nuovi edifici è esaurito. Di conseguenza, la maggior parte dei giochi incrementali include altre risorse acquistabili accanto agli edifici principali aggiornabili, uno dei più importanti è la possibilità di resettare il gioco, il che consente al giocatore di risalire da capo a questa curva.

La complessità a spirale degli aggiornamenti nei giochi incrementali può rendere il loro progetto una prospettiva scoraggiante. Ma il progettista non ha bisogno di calibrare con precisione ogni singolo elemento. La bellezza di complessi sistemi non lineari consente di realizzare enormi scale di aggiornamento con il solo bilanciamento ad alto livello del progettista. Per il giocatore, navigare nel sistema per trovare la sequenza ottimale è difficile e divertente, mentre il compito del progettista è semplicemente quello di assicurarsi che ci sia un sistema così complesso da navigare.

"Nuovo gioco +" e altre funzionalità

Una funzione "Nuovo gioco +" consente al giocatore di ripristinare i propri progressi in cambio di un bonus permanente. Quindi, tutti gli edifici acquistati e altre risorse potrebbero essere riportati a zero, ma quando si avvia un aumento multiplo piatto viene applicato a tutti i calcoli numerici al secondo successivi. 

Questo non cambia nessuna delle formule fondamentali del gioco; significa solo che il giocatore raggiungerà l'eventuale plateau asintotico più veloce e più veloce. In sostanza, questa funzione agisce per estendere il gameplay core permettendogli di riprodurlo più velocemente. Tuttavia, questo non può essere mantenuto indefinitamente, quindi alla fine i giocatori di vecchia data raggiungeranno un "endgame" di sorta.

Nel Clicker Heroes, ascendente premia i giocatori con una nuova valuta per acquistare gli aggiornamenti con.

Un'altra caratteristica comune per estendere il gioco è semplicemente aumentare la complessità degli edifici aggiornabili. Finora, abbiamo esaminato solo il metodo più comune di aggiornamento incrementale, che segue la funzione di costo esponenziale. Accanto a quelli sono in genere gli aggiornamenti che producono miglioramenti pianificati una tantum al numero totale al secondo o che alterano in qualche modo le variabili di costo e reddito sottostanti. 

Nel Clicker Heroes,ad esempio, ci sono aggiornamenti che aumentano il numero base al secondo di un "eroe", nonché quelli che aumentano il numero base al secondo per tutti "eroi". Mentre queste e simili caratteristiche non cambiano la meccanica di base di un gioco incrementale, possono ampliare lo spazio di possibilità che il giocatore può esplorare, e mettono ulteriormente alla prova la loro capacità di ottimizzare il gioco. Inoltre, come la meccanica 'New Game +', il volume degli aggiornamenti può anche agire per prolungare il gioco prima di colpire l'eventuale plateau in progress.

Cospirazione Clicker ha tre alberi distinti di aggiornamenti correlati.

Vai avanti e moltiplica (in modo esponenziale)

Anche se questa non è stata un'indagine esauriente sulla progettazione incrementale del gioco, abbiamo dato uno sguardo approfondito ai loro aspetti fondamentali. Come breve sommario per potenziali designer e sviluppatori:

  • Abilita e promuovi una sensazione di scoperta.
  • Considera il gioco attivo e inattivo (e ricompensa idealmente entrambi).
  • Non trascurare un tema unificante e uno stile artistico.
  • Usa il ridimensionamento del costo esponenziale, con la forma più comune che è \ (Prezzo = BaseCosta \ volte Moltiplicatore ^ (\ # \: Possesso) \) con un Moltiplicatore tra \ (1.07 \) e \ (1.15 \).
  • Fornire al giocatore molteplici possibilità di ottimizzazione.
  • Estendi il gioco attraverso l'uso strategico del ripristino e della meccanica che aumentano la complessità.

Se sei interessato a saperne di più, i giochi incrementali subreddit sono una grande comunità di designer e sviluppatori a cui rivolgersi per consigli e idee. Se vuoi immergerti proprio nell'implementazione di alcune tue idee, lo sviluppatore di Cookie Clicker creato uno strumento online che può facilmente creare giochi simili, ed è un ottimo modo per sperimentare senza dover gettare tutte le fondamenta da soli. Se stai cercando qualcosa di un po 'più avanzato, il creatore di CivClicker ha un pezzo eccellente sulla logica per un'implementazione HTML e JavaScript.

Spero che il framework che abbiamo esaminato qui sia di ispirazione per esplorare la tua espressione di un gioco incrementale. Dopotutto, c'è ancora molto spazio per il disegno ancora da esplorare:

Elenco dei giochi menzionato

Pur non essendo un elenco completo (per questo, i giochi incrementali subreddit hanno una grande lista), ecco un elenco dei giochi menzionati nel nostro primo articolo o in questo:

  • Una stanza buia
  • AdVenture Capitalist (disponibile anche gratuitamente su Steam)
  • Anti-Idle: The Game
  • Scatola di caramelle
  • CivClicker
  • Clicker Heroes (disponibile anche gratuitamente su Steam)
  • Cospirazione Clicker
  • Cookie Clicker
  • DripStat (un esempio interessante di un'azienda che utilizza un gioco incrementale come parte del suo marketing)
  • In ozio per governare gli dei
  • Monster (minigioco di vendita estiva temporanea di Steam, non più attivo)
  • Numero
  • Progresso
  • Sandcastle Builder
  • Il monolito

Nota anche: puoi scaricare un XLSX dei dati usati per generare i grafici in questo articolo da questo repository GitHub o visualizzare un Fogli di Google equivalente.