Atualmente, estou no início do desenvolvimento de um jogo que, eventualmente, desejarei melhorar na maioria dos aspectos.
Como posso deixar de escrever o código de rede e deixá-lo implementado com bastante facilidade, ou seja, sem precisar reescrever o jogo inteiro apenas para adicioná-lo.
O que tenho que ter em mente?
Eu tenho um padrão de componente onde separo física / detecção de colisão, lógica de jogo, tipos de dados e animação / renderização um do outro.
Como escrevo um cliente e servidor que ainda não possui código de rede implementado e pode ser testado localmente?
O que devo fazer no cliente e o que devo fazer no servidor? Devo apenas fingir que tenho o código de rede finalizado e enviar mensagens entre servidor e cliente e contabilizar atrasos, etc., mesmo que não haja nenhum?
Edit: Ele está planejado para ser um RPG de cima para baixo. Multiplayer simples, onde você hospeda um servidor para seus amigos, é o que eu estou pensando, então trapacear não é um problema (quem gostaria de brincar com trapaceiros?). Ainda assim, gostaria de usar a abordagem "O servidor está sempre certo".
Edit 2: Acho que estou procurando algumas dicas sobre como deve ser minha mente. Como devo lidar com a entrada do teclado, animação, etc, em vez de apenas aplicar todos os efeitos / alterações instantaneamente. Hmmm, talvez eu precise ler corretamente as redes antes de ir a qualquer lugar, afinal, era o que eu esperava evitar criando um esqueleto de rede de algum tipo que pudesse funcionar localmente.