domenica 7 ottobre 2012

Benvenuto Mind The Check!

Mind The Check è il nuovo sito per giocare a scacchi gratis online. Offre la possibilità di giocare partite per corrispondenza (a turno) e live (a tempo), a punti oppure amichevoli, lasciando al giocatore facoltà di controllare l'andamento della sua forza e di disporre delle proprie partite in ogni momento.

Il sito è online già da qualche tempo ma solo recentemente è venuto allo scoperto, grazie alla sua ultima versione stabile che fa uso di tecnologie software all'avanguardia come JSF2.0 e Atmosphere Framework.

Il progetto è nato coniugando l'esigenza di rinnovare la propria competenza e la curiosità per alcune tecnologie emergenti, ritrovando in un interesse ormai sopito da anni come il Giuoco degli Scacchi, un terreno fertile per questa attività. Con il tempo il progetto è cresciuto, mantenendo sempre lo stesso spirito, guadagnando in competenza ogni volta che veniva superato un ostacolo, ed ogni ostacolo superato spalancava le porte a nuove idee e nuove sfide.

Mind The Check è in continua evoluzione, tante idee ancora dovrà realizzare ma ora è pronto per farsi conoscere ed è aperto ad ogni consiglio o suggerimento che possa rendere la vita dello scacchista alla scacchiera virtuale più facile o anche solo più interessante.

Buon gioco!

Massimo Quagliani

domenica 30 settembre 2012

Scacchi on-line - Parte 1.8 - Altre possibilità di gioco

Di solito non è permesso giocare più di una partita contemporaneamente, principalmente per motivi di sicurezza, come vedremo. Questo non vale per tutti i siti di gioco. Ma torniamo indietro al concetto del punteggio. Si può giocare contro chiunque ed aumentare il proprio punteggio, molto semplice. Forse troppo: nel gioco reale per aumentare il proprio punteggio occorre partecipare a tornei ufficiali. Per questa ragione è molto comune trovare tornei anche on-line. Questi tornei iniziano quando un certo numero di persone si iscrivono, sono programmati ad un certo orario e pubblicizzati sul sito.
I tornei possono essere di vario tipo:
  • tornei round-robin, dove ogni giocatore gioca due partite contro ogni altro giocatore partecipante, una con il bianco e l’altra con il nero. Il vincitore è colui che ha ottenuto i risultati migliori, ma se più giocatori hanno lo stesso risultato finale ne viene scelto uno usando un metodo di spareggio (tie-break). Il metodo largamente utilizzato per questo tipo di competizioni è il punteggio Neustadtl. Il punteggio Neustadtl di un giocatore viene calcolato sommando due termini:
    • la somma dei risultati dei giocatori che sono stati battuti dal giocatore
    • la metà della somma dei risultati di coloro che hanno pattato con il giocatore.
I tornei round-robin sono semplici ma efficaci solo quando il numero di giocatori è limitato a poche persone.
  • Tornei knock-out, sono invece usati quando ci sono molti giocatori in modo da ridurre il tempo necessario per concludere la competizione. I contendenti vengono raggruppati in piccoli gruppi e i vincitori di ciascun gruppo dovranno confrontarsi formando quindi nuovi gruppi. Il vincitore del gruppo finale è il vincitore dell’intero torneo. Potrebbero essere ammessi anche più vincitori ai gruppi successivi, ma se ad un solo vincitore venisse permesso di avanzare allora verrebbe utilizzato un metodo di spareggio (tie-break) per la selezione.
  • Tornei svizzeri, prevedono un predeterminato numero di round, e tutti i partecipanti dovranno giocare ad ogni round ma nessuno viene eliminato. La classifica finale è basata sui risultati finali ottenuti dai giocatori. I risultati finali sono basati sul numero di punti che i giocatori hanno accumulato in ciascun round. Il torneo dura per un numero di round annunciato prima dell’inizio. Se c’è un ex-equo viene utilizzato un metodo di spareggio, che di solito per questo genere di torneo è il sistema Buchholz. Questo metodo si basa sulla somma del punteggio ottenuto da ciascun avversario. Il principio di tornei di questo genere è che ogni giocatore si confronta sempre con un giocatore che ha dimostrato di giocare allo stesso suo livello: a parte il primo round dove gli accoppiamenti possono avvenire randomicamente o sulla base del punteggio elo, negli altri incontri verranno accoppiati giocatori che avranno ottenuto un risultato simile nei round precedenti. L’accoppiamento è in genere complesso perché negli scacchi si dovrà cercare di far giocare i partecipanti con colore alternante (e comunque si cerca di non far mai giocare un partecipante con lo stesso colore per tre volte consecutive) inoltre due giocatori non potranno mai scontrarsi più di una volta.
Quando gli utenti di un sito web sono molto numerosi, è comune trovare giocatori raggruppati in squadre (team) e queste squadre possono sfidarsi fra loro (non più sfide uno-contro-uno ma molti-contro-molti). La squadra vince se il punteggio dei suoi membri è più alto di quello delle altre squadre a fine incontro. I membri di un team divengono amici e scambiano informazioni grazie a spazi chat dedicati. Anche le squadre possono partecipare ai tornei. In questo caso il rating viene calcolato differentemente.
Alcuni siti permettono all’utente di giocare anche diverse varianti del nobil giuoco e collezionare punti anche per esse. Le varianti più popolari sono:
  • Scacchi 960
  • Vince-chi-perde ( reversi o suicide chess)
  • Checkers
  • Bughouse

venerdì 25 febbraio 2011

Scacchi on-line - Parte 1.7 - Sfide

Ok, una volta entrati nel sito per giocare a scacchi on-line siete pronti per giocare la vostra partita, ma come scegliere l’avversario? Ci sono molti modi. Il più comune è la sfida diretta: dalla lista degli utenti in linea è possibile sceglierne uno e giocar con lui. Forse si conosce già il nickname dell’avversario con cui voler giocare, oppure si vuol giocare con una persona un po’ più forte così che in caso di vittoria sarà possibile incrementare il proprio punteggio. La scelta in questo caso spetta all’utente.


Figura 7http://www.chesshere.com permette al giocatore di invitare un altro giocatore e di mostrare la lista degli inviti correnti.

Esiste un’altra possibilità: si può creare la partita che si vuole (un tavolo) e aspettare che qualcuno accetti di “sedersi” e giocare. Dal punto di vista di chi dovrà accettare la sfida, è possibile ispezionare una lista di tavoli aperti con le loro caratteristiche e scegliere di unirsi alla partita che si vuole. Ottimo, ma ci si potrebbe chiedere: ”perché dovrei vedere una lista di un mucchio di partite che non voglio giocare?”. Infatti, la maggior parte delle sfide aperte non sono interessanti, vuoi perché l’avversario è troppo forte oppure troppo debole o i limiti di tempo non sono quelli desiderati. Ecco perché alcuni buoni siti web permettono ai loro utenti di impostare dei vincoli quando si crea una partita. Questi vincoli filtrano l’insieme degli avversari a quei giocatori con un punteggio compreso in un intervallo prestabilito o compreso in un range di valori che include il punteggio del creatore (ad esempio 300 punti sotto e 300 punti sopra).


Figura 8 – creazione di una partita con il vincolo del punteggio entro un range in http://www.chesscube.com

Un concetto simile viene usato da altri siti dove ciascun giocatore specifica i vincoli ed è il sistema che trova automaticamente un avversario che rispetta i requisiti cercati: l’utente non sceglie di unirsi ad un tavolo perché non gli è permesso di vedere la lista dei tavoli aperti.

Cosa accade se non c’è nessuno in linea che può giocare? Giocare con un computer sembrerebbe la scelta forzata ed è utilizzata da alcuni, ma è veramente quel che si vuole? Meglio forse essere chiari:”spiacente, nessun avversario è disponibile al momento. Riprova o se vuoi gioca con il nostro calcolatore”.

Alcuni siti propongono una interessante possibilità, quella di invitare un amico a giocare con te anche se non è un utente registrato. L’invito ha bisogno solo dell’indirizzo e-mail e quindi se questo amico sta controllando la posta in quel momento, può accettare la sfida e la partita può aver luogo (ma se non è connesso...).

Ho parlato di amici. Ebbene il concetto di “amico” è diffusamente utilizzato tra i siti di gioco on-line. Si può mantenere una lista di utenti (gli amici appunto) e controllare se sono connessi, in questo caso è possibile invitarli a giocare o semplicemente a chattare. Dietro c’è un concetto molto semplice: un amico è qualcuno a cui si vuol essere connessi, qualcuno con cui voler giocare spesso. Qualche sito di gioco ha un’altra interessante caratteristica che può essere considerata l’opposto della lista degli amici: la lista delle persone contro cui non voler mai giocare. Infatti quando il sistema trova un avversario automaticamente per te, non hai la possibilità di rifiutare l’incontro (in certi casi è possibile anche questo: la partita è nulla se il giocatore non esegue la prima mossa o non accetta il match). Usando la lista nera (o block list o no-play list) il sistema non creerà la partita con un avversario indesiderato.

giovedì 3 febbraio 2011

Scacchi on-line - Parte 1.6 - Punteggi e livelli

Perché il gioco degli scacchi è come una droga per molte persone? Perché è un bellissimo gioco, si potrebbe rispondere. Certo. Perché si incontrano persone diverse. Sicuramente. Perché è affascinante la sua teoria. Si, ma inconsciamente la risposta migliore è perché si vuol dimostrare di essere più forti dell’avversario. Un’altra variante: perché si vuol dimostrare di essere più forti di tante altre persone. Una risposta più modesta: perché si vuol provare di essere il giocatore più forte e basta!

Il punteggio allora aiuta a misurare la propria forza con quella degli altri giocatori. Il punteggio ELO è il più usato. Si tratta di una semplice formula che tira fuori un numero: più grande è questo numero maggiore sarà la forza.


Figura 6 – Formula per il calcolo del punteggio. W=1(vittoria) o 0.5(patta) o 0(sconfitta); R1 è il punteggio corrente del giocatore, R1’ è il nuovo punteggio, R2 è il punteggio dell’avversario, K è il massimo aggiustamento possibile per partita e questa costante è impostata a 32 a meno che il giocatore non abbia un rating provvisorio, in questo caso K dipende dal numero di partite giocate dall’avversario.

Parlare proprio di ELO non è completamente corretto per essere precisi. E’ più corretto parlare di un tipo di punteggio utilizzato per avere un posto in classifica. Ogni provider utilizza una formula specializzata, modificata a suo piacimento, specialmente perché la formula originale di ELO non funziona bene quando i giocatori hanno al loro attivo ancora poche partite. E’ il problema di come far partire il punteggio.
Per far partire il punteggio occorre avere un punteggio iniziale e per questo esistono diverse scuole di pensiero:
  • utilizzare un punteggio iniziale fisso (si può partire da 1200, 1400 o 1500 per i principianti) che il sistema attribuisce automaticamente alla registrazione; 
  • si gioca una serie di partite senza punteggio in modo che il sistema riesca a determinare dopo questo periodo la migliore stima del punteggio iniziale. Talvolta il sistema accetta anche suggerimenti da parte dell’utente, indicazioni sull’esperienza di gioco in modo tale da trovare gli avversari più appropriati durante il periodo di valutazione; 
  • si gioca con un punteggio provvisorio per 20 partite, dopodiché il punteggio diviene effettivo. In questo caso il punteggio viene calcolato usando una formula differente a seconda che il giocatore sia nella fase provvisoria oppure quella effettiva. Il punteggio iniziale viene scelto dall’utente durante la registrazione.
Un problema derivato è come prendere in considerazione il fatto che un giocatore potrebbe aver smesso di giocare per anni prima di ricominciare nuovamente a giocare. Questo caso molto singolare è di fatto un caso particolare del problema precedente perché in entrambi il punteggio del giocatore è incerto. Per tali motivi alcuni provider una formula diversa e più complicata rispetto a quella di ELO: il sistema Glicko [1].

Un’alternativa al punteggio è il ladder (o scalata). Nessun punteggio infatti ma un posto in classifica (nel ladder appunto). I vincitori salgono in classifica, gli sconfitti non salgono ma ben presto verranno sorpassati dagli altri. L’obiettivo è raggiungere l’apice della classifica (il primo posto) piuttosto che ottenere il punteggio più alto.

I programmi di scacchi più famosi hanno il concetto di livelli: principiante, intermedio e maestro, per fare un esempio classico. Talvolta, soprattutto nei siti più datati, ci si imbatte nelle sale da gioco (room). Raggruppare le partite in room è utile dal punto di vista del provider per distribuire il carico tra più server, così ogni macchina avrà la capacità di servire al più un numero massimo di partite (quelle al massimo consentite dalla room). Allora perché non creare delle room basate sui livelli di gioco? E’ quel che accade in alcuni siti ma probabilmente è meno attraente un sistema basato sui livelli piuttosto che assegnare un punteggio ad ogni giocatore.

Punteggi, ladder e livelli sono solitamente differenti per le diverse categorie di gioco: per corrispondenza, classico, blitz (3-5 minuti), bullet (meno di tre minuti) e le variazioni del gioco hanno infatti il loro proprio sistema di misura della forza di gioco.

Oggi mi sento un po’ distratto ma vorrei comunque giocare una partita, solo per passare il tempo ma se perdessi comprometterei il mio punteggio! Alcuni siti risolvono questo problema dando la possibilità di giocare partite amichevoli (senza alterare il punteggio) così che il giocatore che vuole allenarsi non compromette la sua posizione o il suo punteggio.

Quasi tutti i providers chiedono al giocatore di registrarsi prima di utilizzare il servizio. Questo è del tutto ragionevole se si pensa che almeno il proprio nickname dovrebbe essere visibile all’avversario. Ci si potrebbe però chiedere perché occorre fornire informazioni personali come la e-mail e la nazionalità se l’intenzione è quella di giocare solo una partita (ad esempio solo per provare). Pochi siti web lasciano giocare l’avventore come anonimo: non ci sarà punteggio, nessuna partita sarà registrata, nessuna possibilità di personalizzare, solo gioco! Nel caso l’avventore si riveli soddisfatto del servizio reso potrà sempre registrarsi in un secondo momento.

[1] The Glicko System, Mark E. Glickman, http://math.bu.edu/people/mg/glicko/glicko.doc/glicko.html