| Quelques questions sur le multi | |
|
|
Auteur | Message |
---|
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Quelques questions sur le multi Mer 26 Mar 2014 - 11:13 | |
| Bonjour !
Je viens de commencer un projet de jeu , je voudrai le faire multijoueurs , j'ai suivi le tuto sur le site cependant je ne comprend pas Du tout les fonction :
mplay_data_write
et
Mplay_data_read
je ne comprend pas du tout a quoi cela sert j'ai vue des exemples mais je ne comprend vraiment pas le fonctionnement de cette fonction , pouvez vous maidez ?
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 11:25 | |
| Bah en gros en multi tu dois envoyer et recevoir des données aux autres joueurs pour qu'ils sachent ce qui se passe. Ces fonctions servent a ça.
Par exemple si tu veux indiquer aux autres joueurs qu'un perso a bougé, il faudra envoyer un message avec les coordonnées (ou touches pressées) de ce perso. Tu enverras donc cela avec mplay_data_write, et les autres joueurs recevront les données avec mplay_data_read. |
|
| |
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 11:34 | |
| J'ai pas trop utilisé les fonctions GM de réseau mais sache que les fonctions multijoueurs ( Commencant par mplay_, car je pense que certains fonctions sur Studio ne sont pas basées dessus ) intégrées à GM sont basées sur DirectPlay, qui est juste un module de DirectX, abandonné depuis plusieurs années déjà, si je me trompe pas. Du coup c'est pas réellement optimisé.
Aussi je te conseille de n'utiliser les choses avancées comme celles-ci ( ça n'a pas l'air mais si ) que si tu as de bonnes bases en GML. _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 11:41 | |
| Ah ça le mplay de GM est un peu a ***** du peu que j'avais testé a l'époque. Mais bon l'important en réseau c'est surtout de comprendre comment ça marche, plus que les fonctions elles même (vu que par la suite tu pourras passer par la 39dll par exemple). |
|
| |
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 12:19 | |
| ce que je ne comprend pas trop c'est le principe si je veut intégré le système multi gravité de topaze22 à - Code:
-
x = mplay_data_read(5); y = mplay_data_read(6); //Déplacements if global.ident = 1 { if (keyboard_check(vk_up)) { mplay_data_write(6,y); }
if (keyboard_check(vk_down)) { mplay_data_write(6,y); }
if (keyboard_check(vk_left)) { mplay_data_write(5,x); }
if (keyboard_check(vk_right)) { mplay_data_write(5,x); } } ce que je ne comprend pas c'est que si il lie : x = mplay_data_read(5); y = mplay_data_read(6); comme dans le système de topaze il y a déjà un système de déplacement ( normal ^^ ) je n'est pas besoin du reste du code ( dans ma logique ) pour moi le jeu lie les coordonné x et y et c'est tout le problème c'est que mon perso disparait dès que je met que c'est deux ligne , vous savez comment je peut adapté ce code au système de topaz22 sans changé les 1 million de lignes ^^ ? |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 12:43 | |
| Commence par t’entraîner avec quelque chose de plus simple, mais porter un moteur conçu pour du solo en réseau ça n'a rien de facile. J'ai bien peur pour toi que tu ais beaucoup plus que 3 lignes de codes a ajouter. |
|
| |
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 12:45 | |
| Moi aussi mais je voudrai faire un jeu de plateforme en multi , du coup le moteur de topaze est idéale mais comme tu dit je pense que sa va être difficile ^^ |
|
| |
albisse Utilisateur confirmé: Rang *
Messages : 233
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 16:27 | |
| Désoler pour le double post . Si j'ai bien compris dès que je veut créer une variable il faut que je la crée avec ces deux fonction ? exemple : - Code:
-
mplay_data_write(107,Vie);
Vie = mplay_data_read(107);
if place_meeting(x,y,obj_projectile) { Vie -= 5 }
Ce que je ne comprend pas ( car ce code viens d'un moteur ) c'est : pourquoi utilisé ces fonction sachant que on sens sert comme pour des variable local , je ne comprend pas très bien vous connaissez un tuto pour justement ces deux fonction ? |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: Quelques questions sur le multi Mer 26 Mar 2014 - 16:56 | |
| C'est juste que tu utilises ça n'importe comment.
Il faut comprendre que quand tu fais du réseau, il y a deux entités distinctes: -le serveur -le(s) client(s)
Si tu fais un jeu 2 joueurs, en général le serveur peut aussi être un client, histoire de simplifier l'engine. Mais dans pas mal de cas l'engine du serveur et celui du joueur sont deux entités distinctes.
Le serveur est généralement le 'monde', et va s'assurer de se mettre a jour en fonction de ce que les joueurs lui envoient. Il assure aussi la communication entre les joueurs. Par exemple s'il reçoit "je suis mort" de la part du joueur 1, il va indiquer au joueur 2 que le joueur 1 est mort.
Dans ton cas, le plus simple et de bien séparer l'objet que l'on joue, qui lui va envoyer des données a l'autre joueur, et l'objet qui représente l'autre joueur. Celui ci sera une coquille vide qui se contentera de réceptionner les données et afficher les sprites aux bonnes coordonnées et animations.
En gros: #Joueur seDeplacer() envoyerDonnées() afficher()
#AutreJoueur recevoirDonnées() afficher()
|
|
| |
Contenu sponsorisé
| Sujet: Re: Quelques questions sur le multi | |
| |
|
| |
| Quelques questions sur le multi | |
|