Estou criando um jogo de plataforma que possui um recurso "cooperativo" que eu gostaria de trabalhar através de redes / internet.
Agora, já li sobre programação de jogos em rede, incluindo artigos como o que todo programador precisa saber sobre redes de jogos e, portanto, entendo a diferença entre técnicas como a etapa de bloqueio ponto a ponto e as arquiteturas de previsão de servidor e cliente:
- Concluí que para qualquer jogo em tempo real que será jogado pela Internet, o bloqueio ponto a ponto simplesmente não é uma opção.
- Também estou preocupado que, mesmo para um jogo de plataforma, uma arquitetura simples de cliente-servidor (sem algum tipo de previsão do cliente) resulte em jogabilidade degradada devido ao atraso entre a ação e a reação causada por uma ida e volta a um servidor. (Dito isto, quero eliminar a necessidade de um servidor central e, portanto, apenas um dos jogadores, o cliente, realmente experimentará esse atraso).
Isso deixa a previsão do cliente, mas mesmo para um jogo simples como um jogo de plataforma, isso ainda parece bastante complexo.
Como eu criaria um sistema preditivo de trabalho para um jogo multiplayer de plataformas?