Criar jogo trading card

Olá pessoal esse é meu primeiro post aqui, sempre acompanhei como visitante mas nunca tinha postado nada, pois bem vamos lá.

Minha intenção é criar um jogo trading card online, no qual as aplicações clientes deve se conectar ao servidor e através desse ambiente desafiar seus oponentes em salas disponíveis.

Trabalho com java a um ano mais menos, e a parte básica da lógica do jogo eu já tenho pensado mas ao que envolve a comunicação em rede eu não tenho muito conhecimento, o máximo que eu fiz foi um sistema de chat, e nesse caso será preciso desenha nas telas dos dois clientes, um cliente na sua vez poderá escolher cartas do adversário para atacar. Sei que vou ter que usar Serversocket, socket e algumas threads, mas não sei por onde começar. Tipo não sei como faço para que se eu desenhar uma imagem num cliente no outro essa imagem também seja desenhada e se alguém aqui já ouviu falar em yu-gi-oh sabem mais ou menos a quantidade de variações que pode ocorrer.

Alguém poderia me dar um norte, para que eu saiba por onde começar?