Non ho capito se devi scriverlo in C o in C++..
In c++ è banale, devi scrivere una classe che abbia come membro privato una struttura dati contenente i dati discambio trai thread, poi lanci tanti thread a seconda di quanti giocatori ci sono.
Nel thread devi implementare quello che sarà il tuo gioco e quando devi scambiare qualche informazione, dovrai avere a disposizione un metodo di classe con cui accedere alla struttura dati di prima.
Attento però, quando crei istanze di un thread nella stessa classe e condividi dati, devi fare molta attenzione alla sincronizzazione tra di essi, altrimenti fai dei casini..
Tutte le volte che accedi a dei dati devi essere assolutamente sicuro che nessun altro thread lo stia già facendo.. Quindi dovrai usare dei mutex o delle CriticalSection..
Ciao!