Estou pensando há algum tempo em fazer um jogo online 2D semelhante ao RTS. (2-6 jogadores em uma partida, até 50-60 unidades, sem IA). A principal coisa aqui é que eu quero que o jogo seja jogável em um navegador, por isso terá que ser um applet flash ou java, ambos usando soquetes TCP. No começo, eu estava totalmente focado no flash por causa de uma maior penetração e acessibilidade no mercado. No entanto, depois de revisar diferentes abordagens de rede, não consigo fazer uma escolha.
Eu realmente gostei da abordagem de simulação de bloqueio em que servidor e cada cliente executam exatamente a mesma simulação, até que percebi que seria difícil (se não impossível) implementar exatamente a mesma lógica em dois idiomas diferentes, um deles sendo actionscript. É aqui que entra o java. Com o cliente e o servidor java, é possível compartilhar o código relacionado à simulação - o que também pode reduzir o tempo de desenvolvimento pela metade.
Mas há outra abordagem, na qual os clientes tentam simular (ou melhor, extrapolar) o estado do jogo corretamente pelo maior tempo possível, mas não precisam fazer o que é certo - em algum momento eles receberão o instantâneo de estado completo ajuste de acordo. O Flash parece uma opção viável novamente, mas ainda assim, a simulação de etapa de bloqueio parece muito mais direta, pois não há parte de "ajuste".
Então, minhas suposições estão corretas? O que você sugeriria?
fonte