Secondo me, e sottolineo il secondo me, per una cosa come quella che ti proponi i linguaggi piu' indicati sarebbero C/C++ e Java.
Il server lo scriverei in C, magari sotto server *NIX, sfruttando le socket lo metterei in ascolto su una porta scelta da te (che so, la 33333 per dirne una).
A quel punto scriverei un client java che vada a comunicare sulla porta 33333 (o chi per lei) col server.
Perche' java e non c? Perche' creare un'interfaccia grafica in C/C++ ti lega a un framework specifico, sia esso OWL o MFC o altri ancora.
Ovviamente c'e' anche l'opzione Delphi per il client.
Per quanto riguarda l'aggiornamento dei dati in tempo reale, la cosa si fa complicata e credo si possa gestire in diversi modi.
Molto probabilmente potresti riuscire a forzare l'aggiornamento della scacchiera o del campo da gioco direttamente da server.
Il server "ascolta" un client, e quando il client gli passa i dati sulle mosse effettuate il server va a comunicare col client dicendogli di aggiornare il suo stato.
Oppure si puo' temporizzare il client e fargli controllare un flag ogni x secondi. Se quel flag cambia, gli si fa rileggere lo stato del gioco.
Idee e suggerimenti ce ne sarebbero migliaia, ma un buon libro di Java e uno di C (e buona documentazione sui socket) farebbero al caso tuo.
Buona fortuna.![]()