Questo articolo si propone di presentare una semplice analisi relativa ad una particolare carta ristampata nell’ultimo set base di Magic: The Gathering, ovvero il Grindclock (in italiano Orologio Frantumatore).

Trattasi di una carta che, oltre a consentire al giocatore di vincere in maniera non convenzionale, offre uno spunto non banale in termini di ottimizzazione delle risorse: vediamo nel dettaglio di cosa si tratta.

Ah, Magic: The Gathering. Offre tutto ciò che un Nerd con la lettera maiuscola possa desiderare: strategia, complessità, disegni splendidi, infinite opportunità di personalizzazione, competizione sportiva, socialità, figa. (anche se devo ammettere, a parte l’humour mai banale, che attualmente giocatori e giocatrici appartengono a un background molto più variegato di quanto ci si potrebbe aspettare).

Ecco, già sento le vocine dei soliti astiosi: ma zio Sfrek, le carte costano troppo, io sono povero perché ci ho l’Aifon 7,4, è tutto un GomBLodDo della Wizzy che vuole svuotarci le tasche con le scie chimiche . A tutti costoro dedico il seguente box.

Esistono n vie per giocare a Magic in modo assolutamente gratuito-o-quasi: questo è un modo, questo è un altro modo, e non è assolutamente da sottovalutare questo modo qui che, con un po’ di Art Attack, vi consente di praticare a tutti gli effetti il “paper magic” e anche di partecipare ai numerosi tornei cosiddetti proxy che sempre più fumetterie organizzano (almeno qui in Toscana). Proxies = carte “finte”, stampate a colori su carta, incollate su terre base e imbustate, per un feeling di gioco assolutamente uguale a quello con “carte vere”, provare per credere. Fine parentesi. Correte a imparare a giocare a Magic, ad esempio con l’ultimo Duels of the Planeswalkers.

 

Dopo questa ramanzina a quei due o tre di voi che ancora non giocano a Magic, proseguiamo con il punto centrale dell’articolo: vincere una partita “di macina”.

 

 

Millstone: un modo alternativo di vincere

Come in ogni gioco tranne che nei giochi di ruolo, l’obiettivo di una partita di Magic è chiaramente di vincere o, se proprio abbiamo voce in capitolo, di farlo nel modo più rapido, spettacolare, devastante, complicato possibile (pick one).

In Magic, il modo diretto di vincere è molto semplice: picchiare l’avversario fino a ridurlo a zero punti vita. Ciò non vuol dire che non esistano altri modi per farlo: combo di vario genere, o carte con esplicite condizioni di vittoria alternative, o… il milling.

millstone

MillstoneSi, perché se è vero che è bello vincere, per molti è ancora più bello quando lo si fa in un modo non convenzionale.

Ed è probabilmente questo che ha spinto i designer della Wizards a far uscire, nella remota Revised Edition (parliamo del 1994), la carta Millstone.

Leggiamone l’effetto: pagando un certo costo, possiamo buttare via le prime due carte del mazzo di un dato avversario.

Sembra divertente, ma a cosa ci serve?

  1. Riduciamo il numero di carte utili che l’avversario potrà andarsi a cercare dal mazzo (attraverso i numerosissimi effetti di “tutoring” presenti nel gioco, che consentono di andare a cercare una determinata carta o tipo di carta dal mazzo);
  2. Finite le carte, abbiamo vinto.

Sì, perché la regola 120.4 delle Magic Comprehensive Rules, un tomaccio cavilloso e intricato – che grazie all’Altissimo non è assolutamente necessario leggere, a meno di contenziosi in sede di torneo – recita testualmente:

120.4: Un giocatore che cerca di pescare una carta da un grimorio (mazzo, ndr) vuoto perde la partita.

Chiaro, no? La Millstone ci consente di svuotare “artificialmente” il mazzo dell’avversario fino a fargli perdere la partita perché non avrà più carte da pescare.

Quindi, non importa quanti difensori egli ergerà a protezione dei suoi punti vita… Semplicemente la strategia di macina (millstone in italiano) ignorerà le sue difese, attaccando una risorsa alternativa ai punti vita.

E così, un nuovo ciclo di carte ha avuto origine: carte che attaccassero direttamente il mazzo del nostro nemico, con il fine di svuotarlo completamente.

Ora che abbiamo capito come funziona questo tipo di strategia, veniamo alla carta che è effettivamente il cuore dell’articolo, in quanto presenta un interessante spunto di riflessione: il Grindclock.

 

 

Il Grindclock

Il Grindclock in tutta la sua minacciosità.

Il Grindlock ci permette, ad ogni turno, di effettuare una delle seguenti azioni:

  • Aumentare di 1 il numero di segnalini presenti su di esso, oppure
  • Macinare X carte dal mazzo dell’avversario, dove X è uguale al numero di segnalini attualmente presenti.

Eh già… È qui che le cose si fanno interessanti. Come procediamo per ottimizzare il killing rate degli avversari? Meglio partire subito, ma con un numero di segnalini più modesto, o attendere di averne accumulati un bel pò per dare poche, definitive attivazioni? La risposta non è affatto banale.

Meglio partire subito, ma con un numero di segnalini più modesto, o attendere di averne accumulati un bel pò per dare poche, definitive attivazioni?

Al draft di ieri sera, in semifinale è arrivato un mazzo con non uno ma ben due grindclock, fattore che complica ulteriormente la questione fino a condurla fuori da quanto sia umanamente analizzabile con i modesti mezzi a disposizione.

Il giocatore, comunque, tendeva spontaneamente a “caricare” il grindclock fino a 5, per poi farlo partire.

Sarà stata la scelta giusta? Solleticato da questa domanda, stamattina ho fatto qualche ricerca ma, non soddisfatto di quanto trovato, e un po’ desideroso di riprendere in mano qualche elementare strumento di analisi matematica, ho fatto qualche conto.

La risposta ovviamente è… dipende. Tuttavia, procediamo per ordine.

 

 

Impostazione del problema

Dunque, le cose stanno così: potremo giocare il grindclock a partire dal secondo turno (in quanto giocarlo costa 2 mana incolore), assunto che l’abbiamo pescato, e, dallo stesso turno in cui lo giochiamo, potremo scegliere fra le sue due abilità da attivare.

Quindi, una volta raggiunto il numero di segnalini desiderato, potremo, dal turno successivo, cominciare ad erodere il mazzo avversario.

Qualche fattore da tenere in considerazione:

  • L’altro giocatore dovrà necessariamente pescare almeno una carta per turno, durante la cosiddetta fase di acquisizione. Mettiamoci nel caso peggiore e limitiamo le sue pescate ad una a turno, ignorando eventuali ulteriori effetti che probabilmente userà per rimpinguarsi la mano.
  • Trascuriamo ovviamente il caso particolare in cui al secondo turno non abbiamo ancora i due mana richiesti (la scarsità di terre a volte causa queste brutture), così come il caso in cui miracolosamente disponiamo di due mana al primo turno (caso non così remoto, a seconda del formato – ma questo è un altro discorso).
  • Supponiamo, per semplicità, che il grindclock non possa essere distrutto o “disinnescato” dall’avversario, cosa che è ovviamente tutt’altro che vera.
  • Supponiamo di non disporre di “artifici” per poterlo attivare più di una volta per turno, che risulta essere una limitazione facilmente aggirabile, se parliamo di un mazzo costruito “ad hoc” per poterlo sfruttare.

Insomma, ci stiamo mettendo nel caso più semplice possibile, ma che ci potrebbe capitare al draft alla fumetteria dietro casa (il draft è un formato in cui si crea un mazzo a partire da un certo numero di bustine aperte al momento, ed è estremamente difficile da giocare con efficacia a causa della notevole abilità richiesta nell’attuare una strategia efficace con risorse contese e limitate).

In tale situazione, possiamo formalizzare che, al t-simo turno, saranno state macinate dal mazzo dell’avversario un numero di carte pari a

1_carte_macinate_1

dove c è il numero di segnalini (dall’inglese counter) che abbiamo deciso di mettere sull’artefatto, e Δt è il ritardo, in termini di turni, fra l’inizio della partita e il momento in cui riusciamo a giocare il grindclock.

Tuttavia, date le nostre condizioni di partenza, esiste una relazione precisa fra tale ritardo e il numero di segnalini che abbiamo deciso di utilizzare, ed è banalmente che Δt = k + c, dove k è il ritardo dovuto a “fattori esterni” e c il suddetto numero di counters. Dunque, sostituendo, la nostra espressione diventa

2_carte_macinate_2

Fantastico! Abbiamo descritto quello che succede in un modo che ci consente di analizzare turno per turno quante carte abbiamo fatto fuori.

Fissando k=2 ed inserendo il tutto in un grafico (ahimè ho dovuto usare Excel, chissà che fine ha fatto il setup di Matlab) viene fuori quanto segue:

1_carte_macinate

Niente male! Da qui possiamo già vedere che, a seconda di quante carte vogliamo macinare, e partendo a razzo al secondo turno, ci conviene in effetti utilizzare 5 o 6 segnalini. Questo non sarà necessariamente vero negli altri casi, come vedremo in seguito.

Partendo al secondo turno, ci conviene in effetti utilizzare 5 o 6 segnalini.

In questa forma, però, non sfruttiamo un’importante informazione, che in effetti abbiamo: vogliamo vincere! E per vincere, dobbiamo macinare N carte all’avversario, dove N è il numero, normalmente relativo al formato in cui stiamo giocando, di carte di cui è fatto un mazzo, a cui togliamo le 7 carte che ogni giocatore pesca ad inizio partita e che costituiscono la mano di apertura (a meno di mulligan – ma stiamo limitandoci al caso standard).

Così facendo, ed imponendo che n sia uguale ad N, riusciamo ad esprimere t in funzione di c, e trovare direttamente in che turno avremo vinto la partita. La formula dunque diventa

3_turno_vittoria

… e ci piace ancora di più! Osserviamola in forma grafica, per diversi valori di N e ancora per k = 2:

(notare che i valori scelti di N corrispondono ai formati limited, constructed e commander… per i più colti!)

Bene bene, iniziamo a vedere quello che ci aspettavamo: a seconda di quanto vogliamo macinare, ci sarà un valore ottimo compreso fra i 4 ed i 6 segnalini che minimizza il numero di turni in cui vinciamo la partita.

Ovviamente, la nostra strtegia sarà via via meno efficace con l’aumentare di N – macinare un mazzo Commander da 99 carte solo con il grindclock è sicuramente impegnativo, ma non impossibile.

Ma ancora non siamo soddisfatti! Abbiamo coperto solo il caso k=2, cioè il fortunato caso in cui nella nostra mano di apertura, o in quelle immediatamente successive, sia presente il grindlock…

Che succede se invece k comincia a crescere, e siamo costretti ad aspettare un certo numero di turni?

Fissando allora N=40 – 7, che si riferisce ad un mazzo limited di 40 carte, caso più significativo per i parametri che ci siamo dati (qualcosa bisogna pur fissarlo ragazzi, o servono tutt’altro tipo di grafici), viene fuori questa utile rappresentazione:

Ecco che consultando il grafico, e trovando sulle ascisse il turno in cui riusciamo a giocare l’artefatto, possiamo vedere, risalendo lungo le ordinate in corrispondenza di quel valore, qual è la prima barra colorata che incontriamo e, quindi, a quanto settare il grindclock per vincere più in fretta possibile. (il turno lo possiamo leggere sulle ordinate, espresso in forma di turni mancanti, a partire dal k-esimo, per vincere la partita, forma che risulta più utile del “turno in cui si vince la partita” dato che stiamo assumendo un ritardo variabile nella “partenza”)

L’andamento generalmente decrescente ci convince, perchè anche intuitivamente cominciare a usare l’artefatto più tardi richiederà un numero minore di segnalini, dato che saranno rimaste meno carte nel mazzo.

Vediamo allora che perfino l’ipotesi “1 segnalino” diventa appetibile più avanti nella partita – anzi, é quella con una maggiore “pendenza di miglioramento”.

Possiamo allora dirci contenti? No! Dobbiamo prima assolutamente esprimere direttamente il numero ottimo di segnalini in funzione di k ed N, che sono le nostre due uniche variabili. Come possiamo fare?

Ricordiamoci della nostra professoressa di matematica del liceo: si tratta di una ricerca di minimo della funzione, in cui la variabile è c. Come ci è stato detto sicuramente un gigalione di volte, si effettua – non me ne vogliano i matematici ma bypassiamo tutta la disamina di validità e fattibilità – tramite lo studio della derivata prima. Quindi, ricordandoci come si fa la derivata prima del rapporto fra due funzioni, troviamo:

dove abbiamo indicato con τ la quantità N – k, che rappresenta praticamente la quantità di carte che dovremo macinare, dato che k carte saranno già state spontaneamente pescate dall’avversario.

Abbiamo già visualizzato la funzione t(c) e sappiamo, “a occhio” (ancora chiedo venia ai matematici), che avrà un solo punto di minimo.

Lo possiamo trovare annullando la derivata prima, cioè il suo numeratore, e risolvendo l’equazione di secondo grado che ne consegue, da cui si trova che il c ottimo è:

5_ottimale

Che bello! Sappiamo che questo numero di segnalini, arrotondato all’intero superiore, ci consentirà di vincere con la massima efficienza la partita. Ecco come si presenta la nostra soluzione:

Anche qui quello che abbiamo ottenuto ha assolutamente senso: il numero di segnalini decresce con k, e a parità di k aumenta tanto più grande è il mazzo avversario.

Osserviamo come persino il singolo segnalino rappresenta, se il grindclock viene giocato (per assurdo) al trentesimo turno, la soluzione ottimale.

 

Conclusioni

Concludo dunque piuttosto soddisfatto di quello che siamo riusciti a dimostrare: che intuitivamente il giocatore di ieri sera aveva più o meno ragione, presupponendo di cominciare a macinare da subito, ma soprattutto, soddisfatto del riuscire ad applicare al mondo ludico strumenti matematici che di tanto in tanto è bene rispolverare.

Trovo sia incredibilmente appagante tentare di modellizzare un fenomeno e trovare che la realtá e l’intuito confermano il modello che abbiamo creato, e vi invito a fare altrettanto, giovani nerd studenti! Non lasciate sui libri quello che studiate!

Spero di non avervi annoiato troppo e, magari, di essere riuscito a spingere qualcuno o ad appassionarsi a Magic o a rivedersi un po’ di Analisi I :D

Al prossimo articolo ragazzi (se mai ne farò, mi sono abbastanza distrutto i bulbi oculari)! Rimango a disposizione per qualunque segnalazione di imprecisioni, corbellerie, vaghezze o necessari chiarimenti!