Je fais actuellement un jeu MMORPG, au tour par tour. Le client est censé fonctionner sur Android. Maintenant, mon ami fait les graphismes, et j'ai suivi les cours de jeu (joueur, armement, etc.). Maintenant, si le combat est lancé, les classes peuvent être manipulées par des interfaces (en fait pour mon partenaire, c'est comme travailler avec des interfaces pures, il n'a besoin d'aucun accès aux classes d'implémentation).
Maintenant, nous devons introduire un serveur de jeu pour permettre à plusieurs joueurs. Et quelques questions très importantes se posent:
1) Dois-je copier complètement le modèle de jeu sur le serveur, ne laissant aucune classe sur le client ou est-il préférable d'avoir 2 copies du modèle - 1 sur le serveur et 1 sur l'appareil et de terminer la synchronisation périodique entre celles-ci?
2) Quelle méthode de connexion choisir entre le client et le serveur (le client en vue est le téléphone Android)? Quant au serveur - je me tourne vers java car j'ai une certaine expérience avec lui. Mais maintenant, la question est - est-il préférable d'utiliser des sockets pour cette tâche ou je peux utiliser les services REST, ou il est même possible de le connecter en quelque sorte au serveur Java EE qui est cool de mon point de vue car il supprime beaucoup de programmation complication? Même si le jeu est multijoueur, il est au tour par tour, il n'a donc pas besoin d'être renouvelé très souvent.
3) Et le filetage? Chaque client doit-il avoir son propre thread (en cas de sockets)?
4) Existe-t-il des livres sur la programmation de jeux sur serveur REAL MMORPG ???