27 votes

comment faire un jeu multi-joueurs

Je connaissais déjà les bases de la programmation Android, en particulier pour les jeux. Maintenant, je veux essayer les jeux multi-joueurs, mais je n'ai pas de connaissances sur les jeux multi-joueurs, alors je voudrais poser un certain nombre de questions :

  1. Quelle est la base de la programmation multi-joueurs ?
  2. comment est la méthode de communication pour le multijoueur ? doit-il s'agir de bluetooth ? ou peut-être de client-serveur ? ou peut-être de peer to peer ? si le jeu que je veux faire nécessite 2 combinés Android proches l'un de l'autre ?
  3. que dois-je savoir pour comprendre ce multijoueur ?
  4. Existe-t-il un tutoriel de base sur la façon de créer un jeu multijoueur ?
  5. Un combiné Android peut-il faire office de serveur ?

Je n'ai pas l'intention de faire un jeu sophistiqué pour l'instant. peut-être que le jeu multijoueur tic tac toe me conviendra. le plus important est que je comprenne les bases de la programmation des jeux multijoueurs. :)

18voto

R2D2 Points 134

Il y a plusieurs façons de faire un jeu multijoueur :

  1. Multijoueur sur le même appareil : Créez une logique multijoueur pour votre jeu et permettez aux deux joueurs d'utiliser un contrôleur tactile sur le même écran. Cela peut être au tour par tour ou simultané. Pour ce jeu, vous n'avez pas de dépendance mais les joueurs doivent être proches les uns des autres.

  2. Jeu Bluetooth : C'est l'étape suivante des jeux multi-joueurs. Un peu plus délicat mais réalisable. Le contrôleur doit obtenir et synchroniser le jeu entre deux appareils qui sont proches l'un de l'autre. Un bref examen de l'API Android Bluetooth et vous êtes prêt.

  3. Comparaison des scores : Il ne s'agit pas d'un véritable multijoueur mais vous pouvez télécharger les scores des utilisateurs et les comparer avec ceux des autres utilisateurs. Vous pouvez le faire vous-même avec un serveur qui stockera tous les scores de 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 à mon avis. Tout le monde peut jouer avec tout le monde en temps réel (dans la mesure où la latence le permet :D). Ce jeu est assez difficile, si vous voulez le faire tout seul. Ici, vous aurez besoin d'un côté serveur fort et beaucoup de logique de serveur. Mais encore une fois, vous pouvez utiliser des services existants qui gèrent le côté serveur pour vous. J'ai choisi le Skiller multiplayer SDK. Bon support et fonctions de monétisation.

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

Bonne chance.

14voto

Mike Lentini Points 891

Je vous invite à lire cette série d'articles :

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

Il est principalement en C/C++, mais vous pouvez le traduire en Java. Apprenez à connaître les sockets UDP en Java, par exemple :

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

Cela devrait être suffisant pour vous permettre de démarrer. Je ferais probablement une installation client-serveur. Vous pouvez faire du P2P mais c'est plus difficile d'après ce que j'ai entendu.

2voto

Keith Points 21

La recherche des API pour Android serait certainement utile. Le serveur client serait le plus facile à mettre en place. Ou, quelque chose que je fais dans un jeu que je fais, est d'avoir un serveur web et votre application frappe le serveur web pour les mises à jour et tout le reste. Cela fonctionne très bien avec un jeu basé sur le tournage que je fais. Cela peut demander plus d'investissement au départ, c'est-à-dire héberger votre propre serveur web, mais comme Android supporte SQLlite, vous pouvez y aller :)

0voto

Nikola Lukic Points 22

Vous avez besoin d'une connexion birectionnelle rapide, qu'il s'agisse de sockets, websockets, IO steam... S'il vous plaît n'utilisez pas peertopeer , vous devez avoir un serveur où vous pouvez attraper et sauvegarder les informations sur les utilisateurs et le jeu. Une solution alternative multiplateforme pour le multijoueur est html5 teh. Aujourd'hui, vous pouvez faire du rendu 3D sur une application web et utiliser des websockets. Pour la première fois, vous pouvez utiliser une application de chat car le chat est la base de toute communication. dataSend -> envoie des données utiles sur la position du joueur, sa rotation ... ondatareceived -> gestion des données pour le joueur distant

www.zlatnaspirala.netfast.org , c'est un site web 3D à la première personne, très rapide et vous pouvez facilement implémenter des websockets pour le multijoueur. Vous pouvez utiliser phpwebsocket (version fantaisie de websocket - trouver sur le net 100% travail il suffit de démarrer dans la console php c : \PATH\server.php )

ou utiliser l'un des meilleurs websockets jwebsocket . Désolé pour mon mauvais anglais !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X