Un paio di anni fa stavo cercando un programma per tirare dadi che fosse completo e flessibile, ma con mia grande delusione non sono riuscito a trovare nulla che soddisfacesse le mie esigenze. Da allora, a fasi alterne, ho cominciato a lavorare ad un programma in grado di eseguire qualsiasi tiro di dado, secondo le mie preferenze. L'ho usato con successo per masterare delle campagne qui sul forum e oggi sono finalmente riuscito a svuotare completamente la lista delle funzionalità da aggiungere. A questo punto non mi resta che proporlo al pubblico, in modo che venga testato, usato e abusato. Io conosco il programma troppo bene per trovare tutti i modi scorretti di usarlo.
Prima di tutto una breve introduzione. Non scendo troppo nel dettaglio perché una documentazione completa è compresa nel programma e anche riuscire a capirla fa parte del beta test.
Il programma di base serve ad eseguire un qualsiasi tiro di dado, ad esempio 1d20 o 3d6, ma ovviamente c'è molto di più in ballo. Le funzionalità comprendono:
somma, sottrazione, prodotto e divisione per una costante
somma di risultati di più dadi
dadi gaussiani, con la possibilità di scegliere l'ampiezza della distribuzione (deviazione standard)
stabilire un valore minimo e/o massimo per singoli dadi o per il risultato complessivo
scegliere i risultati migliori e/o peggiori fra un gruppo di dadi
ripetere più volte lo stesso tiro
inserire commenti dopo i tiri
concatenare sequenze di tiri
i tiri effettuati e i loro eventuali risultati vengono salvati in una memoria temporanea fino alla chiusura del programma; entrambi sono accessibili per uso futuro, in modi differenti
eseguire test statistici su una determinata combinazione di dadi, sia per curiosità e confronto, sia per verificare la bontà del generatore di numeri casuali (attenzione: può richiedere alcuni minuti)
salvare e richiamare macro per i tiri più usati, con la possibilità di inserire parametri
creare tiri condizionali (es: se il risultato di un tiro supera un certo valore esegui una certa azione, altrimenti eseguine un'altra - possono essere molto più complessi di così)
supporto per tutte le lingue che si desiderano (attualmente solo italiano e inglese, accetto volentieri qualsiasi traduzione vogliate fornirmi)
registro dei tiri effettuati, con data e ora
testo colorato, disattivabile
possibilità di avere esiti dettagliati, con tutti i passaggi effettuati dal programma (per esempio con la modifica di alcuni tiri troppo bassi se si è stabilito un valore minimo)
profili, per immagazzinare i registri e le macro di differenti campagne in differenti file (sono modificabili singolarmente, ma così è più veloce)
Potete scaricare DiceRoller qui. Il programma è basato su Python 2.7 e richiede matplotlib e numpy per funzionare. Le seguenti istruzioni spiegano come installare il tutto in modo da poter usare DiceRoller con successo. Prendete le mie istruzioni con la dovuta cautela, considerando che la mia esperienza con Windows si è interrotta ai tempi di XP e quella con Mac non è mai esistita. Accetto volentieri suggerimenti, correzioni e puntualizzazioni per renderle più precise.
Se avete già installato Python, verificate che si tratti della versione corretta. È possibile che in futuro lo convertirò a Python 3, ma quando ho cominciato il supporto per matplotlib e numpy non era ancora completo e non ho mai avuto voglia di convertirlo finora. Ad essere sincero non so nemmeno se i due pacchetti in questione sono supportati nella nuova versione.
Installazione su Windows:
Scaricate il file di installazione per la versione 2.7 da qui. Nel menu Start (o il suo eventuale equivalente) dovrebbe comparire il programma Python, che apre una finestra con linea di comando. Questa possibilità però non ci interessa. Potete trovare maggiori dettagli e istruzioni sull'uso di Python su Windows qui, in inglese.
Aprite il Command Prompt (non ho idea di come si chiami in italiano) ed eseguite il seguente comando: python -m pip install matplotlib numpy
Decomprimete l'archivio zip che avete scaricato ed eseguite il file test.py con un doppio click (o solo test, se Windows nasconde ancora le estensioni). Dovrebbe aprirsi un terminale che vi avvisa se è tutto ok. Potete chiudere il terminale.
Eseguite diceRoller.py, dovrebbe aprirsi un altro terminale, che vi dà alcune indicazioni in inglese. Se non compaiono messaggi di errore, il programma è pronto per i vostri test.
Se quando eseguite test.py e diceRoller.py si apre il blocco note, provate a cliccare sul file col tasto destro e ad eseguirlo con Python.
Installazione su Linux:
Python dovrebbe essere installato su qualsiasi distribuzione. Se dovesse essere assente, lo trovate sicuramente nel repository della vostra distribuzione.
Eseguite il seguente comando da terminale (è possibile che siano richiesti i diritti di amministrazione): python -m pip install matplotlib numpy
Da terminale entrate nella cartella in cui si trovano diceRoller.py e test.py ed eseguite python test.py, controllate se è tutto ok.
Sempre da terminale eseguite python diceRoller.py. Se non compaiono messaggi di errore, il programma è pronto per i vostri test.
Installazione su Mac:
Le mie informazioni a riguardo sono piuttosto vaghe. Il procedimento dovrebbe comunque essere molto simile all'installazione su Linux.
Installazione su dispositivi mobili:
Non esiste una versione mobile di questo programma.
Se vi doveste sentire disorientati con l'inglese all'avvio del programma, digitate lang file ita e inviate, il programma da ora in avanti sarà in italiano.
Il programma è liberamente utilizzabile da chiunque ne abbia voglia. Se però siete interessati a darmi una mano a migliorare questo programma, accetto molto volentieri:
Segnalazioni di errori, con il comando che li ha generati. Se si tratta di un errore del programma, provvederò a correggerlo nella prossima versione (o subito se si tratta di un errore grave, ma quelli dovrei averli eliminati tutti).
Segnalazioni di vulnerabilità nella sicurezza. Non dovrebbero essercene, ma con la sicurezza è meglio non essere mai troppo certi.
Suggerimenti per nuove funzioni. Non garantisco di poterle integrare nel programma, poiché aggiungere nuove funzioni diventa sempre più difficile dato che ogni funzione deve convivere armoniosamente con tutte le altre, ma se il suggerimento è sensato e fattibile ci posso provare.
Traduzioni in altre lingue. Nella cartella lang si trovano, fra gli altri, i file eng.py e ita.py. Aggiungere un'altra lingua è semplice, basta creare una copia di uno di questi file, aprirlo con il blocco note e tradurre tutti i testi. Se qualcuno vuole cimentarsi in questa impresa, sarò lieto di fornire indicazioni più precise su dove mettere le mani.
Una nota sul copyright: DiceRoller è soggetto a licenza Creative Commons 4.0, con obbligo di attribuzione, obbligo di condividere allo stesso modo e divieto di uso commerciale. Non sono disposto a rivedere queste condizioni per il programma nella sua interezza, ma si può discutere riguardo all'uso di sue parti.
TL;DR: Qui sotto potete scaricare un programma notevole per tirare qualsiasi tipo e combinazione di dadi. Provatelo e ditemi cosa ne pensate.
DiceRoller Versione 0.8 beta