enigmatiqk
Messages postés39Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention 9 mars 2010
-
26 sept. 2008 à 14:12
gremlins7
Messages postés380Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention28 décembre 2009
-
27 sept. 2008 à 12:25
bonjour,
alors voilà, je suis en cours de faire un jeux de carte multijoueur, jusqu'à présent j'utilisais un serveur xmlsocket (en java), mais je suis tombé sur le problème suivant:
Jjoueur1 lance l'action -> serveur -> J1 et J2 et J3 reçoivent l'action
->si pendant que J2 reçoit l'action il fait lui même une action, le traitement de l'action du J1 est arrêté par celle du J2.
je voudrais donc savoir comment m'y prendre pour faire du multijoueur en tps réel via flash (a priori c'est possible vu que des jeux existent)
merci d'avance
ps modo: une section reseau/serveur/client serai sympa et attirerait peut être du monde .. vu le nombre de source concernant ce sujet ...
enigmatiqk
Messages postés39Date d'inscriptionmercredi 18 juin 2003StatutMembreDernière intervention 9 mars 2010 26 sept. 2008 à 16:27
disons qu'il s'agit plus d'un jeux de carte, et que même si il y a un tour par tour , il y a certains cas ou on joue tous en mm tps ...
un peu comme le uno quand on peu jouer quand c'est pas notre tour à condition que la carte joué soit la même que celle sur la défausse
ou encore comme la bataille corse ou même si chacun pose une carte, c'est le plus rapide qui tape la défausse
de plus il y a tellement d'action, que laisser faire un tour par tour reste d'être lourd à coder ... chose qui ne serais (surement) pas le cas si c'est du temps reel
gremlins7
Messages postés380Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention28 décembre 2009 27 sept. 2008 à 12:25
Bonjour,
Un pc ne fonctionne qu'en sequentiel donc tu ne peux pas faire deux taches en même temps !!!
Dès lors il y a deux solutions (voire trois) :
1. Soit tu fait un ordonnanceur de taches : tu affectes un priorité a chaque taches qui souhaites allouer la ressource (ici le serveur). C'est dire dire qu'une tache de plus haute priorité sera effectuée avant une autre tache moins prioritaire. Si une tache de haute priorité se présente, la tache en cours est stoppée, on sauvegarde le contexte, on réaliser la tache de plus haute priorité, puis on recharge le contexte et on reprend la tache que l'on a laissée...
2. Soit tu "simule" du temps reel en faisant un bout de la tache 1, puis un bout de la tache 2, puis a nouveau un bout de la tache 1,...jusqu'a ce que les deux taches soient finies. Ca donne l'illusion que les taches s"effectuent en même temps.