[Cortex] Calcolare le probabilità (forse)

Con molta fatica e diversi tentativi infruttuosi, penso di essere riuscito a simulare il comportamento di un classico pool di dadi in Cortex Prime: si tirano X dadi (anche) di dimensioni diverse e il risultato è la somma dei due dadi più alti, ma gli 1 sono scartati.

Ho sfruttato Snake Eyes e sperimentato questa funzione:
print((2 * d{0,2,3,4,5,6,7,8} … 2 * d{0,2,3,4,5,6} … 3 * d{0,2,3,4,5,6,7,8,9,10}):highest(2):sum(), “Cortex Pool”), ipotizzando un tiro di 2d6, 2d8 e 3d10.

Ora, a occhio mi sembra che possa essere corretto, il problema è che le mie conoscenze di statistica/probabilità sono prossime allo zero, quindi spero che qualcuno di più abile possa confermare o smentire.

So che Cortex non è granchè diffuso (autore ed editore ci hanno messo anche del loro, diciamo così), però spero possa essere utile anche per chi usa altri sistemi che prevedono dadi di dimensioni diverse lanciati contemporaneamente.

Grazie a @Paul_T per i suoi ottimi spunti in questa discussione, che mi hanno spinto a cercare un metodo “semplice” per calcolare le probabilità di vari sistemi di risoluzione.

English translation

With a lot of effort and several unsuccessful attempts, I think I managed to simulate the behavior of a classic pool of dice in Cortex Prime: you roll X dice (possibly) of different sizes and the result is the sum of the two highest dice, but the 1’s are discarded.

I took advantage of Snake Eyes and experimented with this function:
print((2 * d{0,2,3,4,5,6,7,8} … 2 * d{0,2,3,4,5,6} … 3 * d{0,2,3,4,5,6,7,8,9,10}):highest(2):sum(), “Cortex Pool”), assuming a roll of 2d6, 2d8 and 3d10.

Now, at a glance it looks to me like it might be correct, the problem is that my knowledge of statistics/probability is close to zero, so I’m hoping someone more skilled can confirm or disprove it.

I know that Cortex is not very popular (the author and the publisher did not make a great effort on that side), but I hope it can be useful for those who use other systems that involve dice of different sizes thrown simultaneously.

Thanks to @Paul_T for his excellent hints in this discussion, which pushed me to look for a “simple” method to calculate the probabilities of various resolution systems.

Translated with DeepL Translate: The world's most accurate translator (free version)

3 apprezzamenti

Grazie per avermi fatto conoscere “Snake Eyes” - un programma davvero utile! Sono stato in grado di fare alcune cose con esso che non riuscivo a fare con Anydice o Troll.

Tuttavia, non sono riuscito a far funzionare il tuo codice nel modo in cui l’hai scritto qui. Forse potresti condividere uno screenshot?

1 apprezzamento

Discourse ha modificato un po’ la formattazione, il codice corretto dovrebbe essere questo:

print((2 * d{0,2,3,4,5,6,7,8} .. 2 * d{0,2,3,4,5,6} .. 3 * d{0,2,3,4,5,6,7,8,9,10}):highest(2):sum(), "Cortex Pool")

Grazie anche da parte mia per questo strumento, appena ne avrò l’occasione proverò fino a dove riesce a spingersi.

1 apprezzamento

Sì, hai ragione: non mi ero accorto che il forum avesse trasformato i due punti in 3.
Come proponi dovrebbe funziona. Grazie della correzione.

Certo! Ora funziona e mi sembra buono. (Non ho controllato in dettaglio, ma Snake Eyes sembra fare questo tipo di calcoli accuratamente, per quanto posso vedere).

1 apprezzamento

@Iconpaul , un dettaglio che non mi è chiaro: qual è lo scopo finale di questo post? Trovare un modo generico di programmare SnakeEyes in modo da poter creare, al bisogno, la curva di probabilità dei risultati di un generico tiro Cortex?

1 apprezzamento

Hai ragione, manca un po’ di contesto.

TL;DR La distribuzione delle probabilità del Cortex non è mai stata esplicitata dall’autore, quindi per curiosità ho provato a vedere se fosse possibile ricostruirla con SnakeEyes.

@Paul_T nell’altra discussione ha proposto diverse alternative al 2d6+ per la risoluzione dei propulsi dall’apocalisse: una delle alternative è un pool di dadi a dimensioni variabili.
Questo mi ha riportato alla mente il metodo base di risoluzione di Cortex Prime, cioè: tira n dadi diversi e somma i due risultati più alti (scartando gli 1).
Nella comunità online del Cortex, l’autore (Cam Banks) per primo non è mai stato un appassionato di calcoli delle probabilità, definendo semplicemente la risoluzione swingy, ma non portando risultati concreti.
A questo punto, più per curiosità che per utilità concreta per il gioco, ho provato a replicare la risoluzione Cortex con Anydice e Troll, ma non sono stato in grado - considera che non ho mai studiato nè statistica nè probabilità e non sono nativo digitale. Su SnakeEyes, invece, ce l’ho fatta.

Quindi, se volete creare hack del Cortex, avete ora un piccolo strumento in più per capire come orientare le vostre scelte per i vari dadi bonus.
Se non vi interessa il Cortex, avete comunque uno strumento gratuito online per simulare i tiri di dado, apparentemente (almeno per me) più completo di anydice.

English translation

You’re right, it lacks some context.

TL;DR The Cortex probability distribution was never made explicit by the author, so out of curiosity I tried to see if it was possible to reconstruct it with SnakeEyes.

@Paul_T in the other thread proposed several alternatives to 2d6+ for resolving dice rolls in Powered by the Apocalypse games: one of the alternatives is a pool of variable size dice.
This brought to mind the basic Cortex Prime method of resolution, which is: roll n different dice and add up the two highest results (discarding the 1’s).
In the Cortex online community, the author (Cam Banks) himself was never a fan of probability calculations, simply calling the resolution swingy, but not bringing concrete results.
At this point, more out of curiosity than out of practical utility for the game, I tried to replicate the Cortex resolution with Anydice and Troll, but was unable to - consider that I have never studied either statistics or probability and am not a digital native. On SnakeEyes, however, I was able to do it.

So, if you want to create Cortex hacks, you now have a little additional tool to figure out how to target your choices for the various bonus dice.
If you don’t care about Cortex, you still have a free online tool for simulating die rolls, apparently (at least to me) more complete than anydice.

3 apprezzamenti

Giusto per conferma: che significa “scartando gli 1”?
Dal codice direi che gli 1 contano 0, quindi ad esempio se tirando 3 dadi fai 1, 1 e 3 il totale è 3 e non 4. Corretto?

1 apprezzamento

Corretto: gli 1 sono brutte cose (credo che il nome ufficiale, cambiato un paio di volte nellle diverse iterazioni di Cortex, sia hitches): non contribuiscono al tuo totale (somma dei due dadi più alti) e possono essere attivati dal tuo avversario per generare conseguenze negative per te.
Ai meri fini del calcolo che ho fatto su SnakeEyes, gli 1 è come se fossero degli zeri.

2 apprezzamenti

Su Reddit l’utente u/HighDiceRoller ha creato una tabella con tutte le probabilità dei vari insiemi che possono essere tirati in Cortex Prime. Non ho ancora capito come leggerla, però penso possa essere un riferimento utile in questa discussione.