Originariamente inviato da pallinopinco
Visto che non hai molta esperienza ti conviene affidarti ad un linguaggio con una libreria standard molto ampia ed orientato (anche) allo sviluppo di applicazioni complesse in tempi non esponenziali: Java, C# e Delphi.
Scusa, tu non hai esperienze con alcun framework per GUI, non hai esperienze con la programmazione di rete, non hai esperienze nell'implementazione di protocolli di comunicazione/sistemi concorrenti/applicazioni basate sulla grafica? Prima di arrivare a poter realizzare un "giochino di carte online multiplayer" mi sa tanto che devi farti le ossa con qualcosa di molto più semplice.
Il mio consiglio è quello di partire dallo studio (serio) di un linguaggio, è inutile avere un "infarinatura" di tutti ma non essere poi capaci di usarli per produrre qualcosa di concreto. C e C++ sono linguaggi particolarmente ostici, puoi farci di tutto, ma non in tempi ridotti e soprattutto senza delle solide basi (di nuovo: = tanti anni di studio e di applicazione). Java, C# e Delphi agevolano lo sviluppo di applicazioni dotate di interfaccia grafica ed offrono comode librerie per la programmazione di rete e la gestione concorrente delle richieste (es. classi per il multi-threading) al server. Ovviamente, se conosci bene (=non superficialmente) il C++ nessuno ti vieta di programmare il gioco in tale linguaggio.
Dopo aver maturato esperienza sufficiente per poter valutare potenzialità e limiti di una piattaforma puoi lanciarti nella creazione di semplici programmi di rete, ad esempio una chat multiutente basata su una libreria specifica per il linguaggio prescelto. Stesso discorso per le librerie grafiche, non è possibile consigliartene una senza sapere in quale linguaggio lavorerai, inizia con la visualizzazione delle carte, poi introduci la gestione della logica di gioco in locale ed infine porta il gioco in rete.