Acho que se você for criar um rpg tem muita coisa a se pensar antes de escrever a primeira linha de código…
Arisco a dizer que a parte do desenvolvimento do jogo é mais fácil do que a parte da concepção do mesmo já que você tem muita coisa para definir, calcular, balancear …
Bote no papel que objetos fazem parte da sincronização do jogo com os outrs nodos da rede, e separe-os dos objetos que não fazem. Com esses primeiros também mapeie os objetos que fazem contato com esses objetos que mantém o estado do jogo.
O motivo principal é saber quem faz parte da mesma thread que controla o estado do jogo, já que eles ocupam o tempo de processamento que deveria estar destinado à sincronização.