Falando sobre Desenvolvimento de jogos em Java, chegui na questão Cliente-Servidor:
Ambiente de exemplo: “No cliente o player ta lá batendo nos inimigos (Player ou npc), recebendo e dando dano (Sofrendo alteração na HP e Mana, entre outras coisas), enquanto outros players em volta correm, param, falam no chat, etc…;”
-
Que tipo de informação deve ser tratada no cliente e o que dever ser mandada pro servidor?
Ex1: Cliente calcula o dano faz as alterações visuais na HP/Mana … e só fica mandando pro servidor os valores atuais da hp, mana.
Ex2 (Resumo): O cliente calcula tudo e só manda o resultado pro servidor propagar para os outros? -
É interessante trabalhar com Objetos Remotos? (Ex: RMI em Java ).
Ex: O Cliente chama um metodo remoto como se fosse local para calcular algo no servidor.
2.1 Mas como isso pode ser usado de forma a ganhar performance no MMOG/MMORPG (Balanceamento de carga)?
-
Os dados que são passados em modo texto costumam ser enviados como HTMLs?
-
Como se trabalha o tipo de comunicação Cliente-Server?
Ex: sei que UDP é o mais interessante, TPC pode gera um lag desnecessario devido o “handshake”. Mas nos caso em que se trabalha com RMI ou envio de textos simples, li que usam o HTTP muitas vezes, … como deve-se trabalha com isso (UDP, HTTP, …) de forma a não ter 999 protocolos em uso?