web-dev-qa-db-fra.com

comment faire un jeu multijoueur

Je connaissais déjà les bases de la programmation Android, en particulier celle du jeu. Maintenant je veux essayer le jeu multijoueur. Mais je n'ai aucune expérience du jeu multijoueur. Je veux donc avoir un certain nombre de questions :

  1. Quelle est la base de la programmation multijoueur?
  2. comment est la méthode de communication pour le multijoueur? devrait-il être bluetooth? ou peut-être client-serveur? ou peut-être pair à pair? si le jeu que je veux créer nécessite 2 Android combiné les uns à côté des autres?
  3. que dois-je savoir pour comprendre ce multijoueur?
  4. existe-t-il un didacticiel de base sur la façon de créer un jeu multijoueur?
  5. un combiné Android peut-il servir de serveur?

Je ne prévois pas encore de faire de jeu sophistiqué. peut-être juste tic tac toe multijoueur est bien pour moi. le plus important est que je comprenne les bases de la programmation de jeux multijoueurs. :)

30
Fugogugo

Je voudrais lire cette série d'articles:

http://gafferongames.com/networking-for-game-programmers/

C'est principalement en C/C++, mais vous pouvez le traduire en Java. En savoir plus sur les sockets UDP en Java, par exemple:

http://download.Oracle.com/javase/tutorial/networking/datagrams/index.html

Cela devrait suffire à vous lancer. Je ferais probablement la configuration client-serveur. Vous pouvez faire du P2P mais c'est plus difficile d'après ce que j'ai entendu.

17
Mike Lentini

Il existe deux façons de faire un jeu multijoueur:

  1. Multijoueur sur le même appareil: créez une logique multijoueur pour votre jeu et autorisez le contrôleur multi-touch pour les deux joueurs sur le même écran. Il peut être tour par tour ou simultané. Pour ce jeu, vous n'avez aucune dépendance mais les joueurs doivent être proches les uns des autres.

  2. Jeu Bluetooth: c'est la prochaine étape des jeux multijoueurs. Un peu plus compliqué mais peut être fait. Le contrôleur doit obtenir et synchroniser le jeu entre deux appareils proches l'un de l'autre. Un bref examen de l'API Bluetooth Android API et vous êtes prêt à partir.

  3. Comparaison des scores: Ce n'est pas un vrai multijoueur mais vous pouvez télécharger les scores des utilisateurs et comparer avec d'autres utilisateurs. Vous pouvez le faire vous-même avec le côté serveur qui stockera tous les scores pour chaque utilisateur ou utiliser des services existants qui permettent la comparaison des scores comme Skiller SDK ou scorelop SDK.

  4. De vrais jeux multijoueurs: c'est le meilleur de mon avis. Tout le monde peut jouer avec tout le monde en temps réel (dans la mesure où la latence le permet: D). Celui-ci est assez difficile, si vous voulez tout faire par vous-même. Ici, vous aurez besoin d'un côté serveur solide et de beaucoup de logique serveur. Mais encore une fois, vous pouvez utiliser les services existants qui gèrent le côté serveur pour vous. Je suis allé avec le SDK multijoueur Skiller. Bon support et fonctionnalités de monétisation.

Quelle que soit l'implémentation multijoueur que vous choisissez, donnez d'abord votre jeu à vos amis afin qu'ils puissent l'examiner et vous dire ce qui peut être amélioré. Cela vous aidera beaucoup!

Bonne chance.

20
R2D2

La recherche des API pour Android aiderait sans aucun doute. le serveur client serait le plus facile à installer. Ou, quelque chose que je fais dans un jeu que je fais, c'est d'avoir un serveur Web et votre application a frappé le serveur Web pour les mises à jour et ainsi de suite. Cela fonctionne très bien avec un jeu en tour par tour que je fais. Pourrait prendre plus de capital à l'avance, c'est-à-dire. Hébergement de votre propre serveur Web, mais comme Android prend en charge SQLlite, vous êtes prêt à partir. :)

2
Keith