Citation :
Bonjour a tous.
Si certains ont déja lu quelques messages de moi, ils savent que je suis actuellement avec un groupe de projet de 4 personne, en train de coder un ShootEmUp en multijoueurs. Les autres ne le savaient pas, ils le savent maintenant Cela dit, nous rencontrons un énorme probleme de conception réseau en ce moment, et nous bloquons un peu.
Actuellement, nous possédons un ShootEmUp en 2D, qui marche, avec des ennemis ( maximum de 1000), un boss, des projectiles, des trajectoires, des positions, tout qui va bien.
Notre réseau marche de même en local ( et sur deux machines d'un réseau local), certes avec quelque ralentissement du jeu, mais il marche ( sans doute parceque nous avons choisit d'utiliser le protocole TCP et non UDP, mais la n'est pas le probleme).
Actuellement, les envois sont petits. Nous envoyons un string contenant l'appui des touches par le player, traités a l'arrivée comme si les touches étaient appuyées. Cependant, a cause du lag, il se peut qu'un des joueur evite un ennemi, mais que l'info arrivant plus tards sur l'autre soft, la vie soit décompté.
Nous nous demandions alors comment marchaient les jeux plus évoluées, et si elles envoyaient directement les positions ( puis les affichaient) réduisant ainsi le nombre de calculs. Mais chez nous, avec 1000 ennemis ( soit 2 int par position, 2000 int *4 bit, on arrive, RIEN que pour les ennemis a 8Kb envoyés/recus par update. Nous aimerions avoir un minimum de 30fps, ce qui ramene a 240Kb en envoi/reception, ce qui me parait énorme ( et encore, on envoi pas les positions boss/player ni les projectiles.
Auriez vous une idée de comment on pourrais s'en sortir svp ?
(Dans le cas contraire, seriez vous au courant de la méthode qu'utilisent les jeux plus évolués pour envoyer leur paquets ?)
|