Jeu en reseau

Programmation avancée de jeux en PureBasic
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message par lionel_om »

Si moi j'ai testé en connecté plusieurs clients et j'ai trouvé un bug !
Dans les écrans des clients/serveurs, y'a des problèmes de buffer : j'utilisais le login par défaut (Anonymous) et après des connexions/déco, le dernier user avait pour login "nonym"... Bizarre

Et sinon également : les clients n'ont pas leur liste des personnes connectées mise à jour : qd quelqu'un se déco, les autres clients ne sont pas au courant.

Sinon pas mal du tout :wink:
Je garde ce code sous la main :lol:

Lio
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

lionel_om a écrit :Si moi j'ai testé en connecté plusieurs clients et j'ai trouvé un bug !
Dans les écrans des clients/serveurs, y'a des problèmes de buffer : j'utilisais le login par défaut (Anonymous) et après des connexions/déco, le dernier user avait pour login "nonym"... Bizarre

Et sinon également : les clients n'ont pas leur liste des personnes connectées mise à jour : qd quelqu'un se déco, les autres clients ne sont pas au courant.

Sinon pas mal du tout :wink:
Je garde ce code sous la main :lol:

Lio
Le problème des noms coupé je l'ai aussi...mais je ne comprend pas pourquoi....

Sinon certaine fois c'est pas tres propre le déplacement des adversaires...ça clignote et c'est tres sacadé... Et là j'ai pas trop d'idée pour améliorer pour l'instant ..
:P
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Message par scaraber »

j'ai aussi eu ce bug a un moment avec mon jeux, et le probleme viens qu'il manque de la memoire en reception...
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

scaraber a écrit :j'ai aussi eu ce bug a un moment avec mon jeux, et le probleme viens qu'il manque de la memoire en reception...
mais ça ne peut pas se regler ça ! si ? Comment tu as réglé le problème ?
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Message par scaraber »

tu augmente la taille de la memoire alouer (AllocateMemory() avant le RecieveDataNetwork()) si jai le temps je re regarderais ton code
J'ai uploader mon ancienne version, qui marchait a 6 tres biens, c'est tres fouli mais bon ... je suis en train de recoder le tout donc cette vresion je men occupe plus trop, bientot une nouvelle.
Tout est ici >http://pommo.tuxfamily.org/Download/OldVersion/
Si sa interesse certain il y a aussi mon editeur et le client que je suis en train de refaire (Offline pour le moment) sur le ftp
a+
Scaraber

[Edit]
Le port est le 12589
Le port de l'updateur est le 1258
Mon serveur sera lancer aujourd'hui a l'adresse> scaraber.ath.cx
Voir la config pour l'ip du serveur.

[Edit 2]
Pour la taille de la memoire remplace sa

Code : Tout sélectionner

Macro ReceiveData()
  length=ReceiveNetworkData(ServerID, *Buffer, 1000)
  DataType=PeekL(*Buffer)
EndMacro
par sa

Code : Tout sélectionner

Macro ReceiveData()
  length=ReceiveNetworkData(ServerID, *Buffer, 4048)
  DataType=PeekL(*Buffer)
EndMacro
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Je vais sûrement dire une grosse bêtise mais ne peut-on pas échanger des paquets accompagnées de l'instant de l'envoi.

:?:
scaraber
Messages : 362
Inscription : ven. 15/juil./2005 17:32

Message par scaraber »

j'ai pas compris la question
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

En gros, s'il n'y avait qu'une seule coordonnée à transmettre de l'ordinateur beta à l'ordinateur gama, le message serait:
Paquet1:
T=0:38.576 (1 WORD)
X1(T)=398.657 (1 FLOAT)
Y1(T)=231.321 (1 FLOAT)
Z1(T)=234.879 (1 FLOAT)


...

Paquet2:
T=0:38.683
X1(T)=403.883
Y1(T)=228.123
Z1(T)=237.657

...

Etc..

Dès que T atteint 1 minute, il reprend à zéro.
Anonyme

Message par Anonyme »

je ne comprends pas trop l'utilité d'envoyé une variable de temps d'un pc à un autre, surtout si il ne sont pas syncro.
Ce que tu peut faire, c'est créer une pile d'attente des messages recu, puis avec un thread, les traités un par un. c'est comme ca que je fait, et ca marche bien.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Si c'est pas synchro, en effet ça ne sert pas à grand chose!
Répondre