Raydium 3D Game Engine

Official forum for everything about Raydium, ManiaDrive, MeMak, ...
It is currently Fri Mar 29, 2024 10:12 am

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Mon Mar 17, 2003 7:13 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Yoltie en particulier et certains en général se sont montrés intéressés par la partie dédiée au réseau de Raydium.. Voiçi un état des lieux actuel:

Protocole non connecté UDP, serveur sur le port 29104, des paquets de taille moyenne (de l'ordre de 64, 128 ou 512 octets par trame).
L'API permet donc de lancer un serveur en une ligne, de connecter un client avec la même simplicité, l'échange d'infos (client->serveur et serveur->clients) se fait très simplement en transmettant des chaines de caractères décalées d'un offset précis (pour que Raydium y glisse ses en-têtes) avec possibilité de broadcast-over-IP.
Cette partie (protocole de bas niveau) me semble suffisante, mais là ou il y'a bcp de choses à faire et à tester, c'est sur la couche du dessus.. les tests déjà menés utilisaient le principe suivant:

client:
n'envoi des infos que lors d'une reception d'info du serveur

serveur:
n'envoi des infos à un client qu'en cas de reception d'infos depuis ce client avec un broadcast toutes les 5 secondes.

Le tout est fait avec des lectures "flushée", autrement dit, seul le dernier paquer reçu est traité.

Les intérêts de modèles sont les suivants:
- pas d'engorgements: le traffic se fait de manière régulière, de manière "polie", en somme :)
- le broadcast permet, puisque nous travaillons avec UDP, de relancer l'échange entre le client et le serveur si un paquet s'est "perdu" en route, et ce tt les 5 secondes

Le prb, c'est que dans ce modèle, plus la liaison est lente, plus le lag va augementer fortement ! (pas de manière proportionnelle, précisement), contrairement à un envoi régulier d'informations (du style: moi j'envoie des infos tt les 300 ms, tant pis si ca arrive pas ou si ca coince), plus dangereux, mais supportant mieux le lag, je pense.. bref, y'a des choses à voir de ce coté là.

Si qq1 veux coordonner ces tests et fouiller un peu le module reseau, voire trouver la méthode idéale pour les échanges réseaux .... C'est ici qu'il faut le dire ;)


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 17, 2003 10:21 pm 
Offline

Joined: Sun Mar 16, 2003 11:14 am
Posts: 88
Location: FR
Je veux bien me pencher là dessus.

Je vais tenter de me renseigner dans ce domaine, je n'ai jamais travaillé sur autre chose que du client/serveur en TCP, mais bon... faut un début à tout :)

Sinon je veux participer aux test, mais tout seul je ne pourrais pas, donc si d'autres sont intéressés, on peut commencer rapidement.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 17, 2003 10:51 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:33 am
Posts: 69
Location: loiratlantik
Yoltie,

Quote:
Sinon je veux participer aux test, mais tout seul je ne pourrais pas, donc si d'autres sont intéressés, on peut commencer rapidement.

Moi. 8)

_________________
Willou.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 18, 2003 7:16 am 
Offline

Joined: Sun Mar 16, 2003 10:27 am
Posts: 404
moa aussi je suis interressé par les tests :D


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 18, 2003 8:19 am 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
De mon coté, je vais mettre à dispo une version récente des sources du bousin.. pour faire vos tests + simplement, je pense que vous devez vous mettre d'accord pour savoir quel OS utiliser (et pas avoir à compiler le truc en double à chaque fois), sachant qu'il faut:
OpenGL, GLU, GLUT (Mesa sous Linux) et OpenAL (avec les headers).
Sous windows, la compilation se fait sous Dev-cpp, avec un gcc en 2.95.*, le SDK de OpenAL et GLU (sur le site d'OpenGL) ... je dois pouvoir vous donner tt les URL si vous voulez, mais ca me parait plus simple sous Linux ;)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 18, 2003 11:39 am 
Offline

Joined: Sun Mar 16, 2003 11:14 am
Posts: 88
Location: FR
Oué mais le pb, c que là pour l'instant j'ai pas de machine à moi qui supporte l'opengl.
Donc je peux facilement tester sous win xp.

Cependant, je vais me pencher vers knoppix pour voir si je peux quand même avoir un nux pour tester tout ca.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 18, 2003 1:21 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Au pire (vraimment au pire), y'a toujours moyen d'écrire un test en mode console tout con.. c'est pas vraimment ce que l'on appelle "des conditions réelles" :) , mais ça peut simplifier les choses, peut-être ?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Mar 19, 2003 8:20 pm 
Offline
User avatar

Joined: Sun Mar 16, 2003 2:53 am
Posts: 2591
Location: gnniiiii (Scrat)
Voiçi donc une version à jour du truc (programme de test n°3 + raydium récent) à l'url suivante: http://raydium.cqfd.ath.cx/data/source_packs/raydium19-03-2003.tar.gz
La compilation, donc, se passe avec les libs dont je parle plus haut (GL, GLU, GLUT, AL) et le script comp.sh .
tests.c représente le mini-serveur de test.

./comp test3.c -s host
compile & lance le client avec une connection vers "host" (FQN ou IP)

./comp tests.c
compile & lance le serveur

Il existe un certain nombre d'astuces pour augmenter tres largement les FPS si ca s'avere trop lent chez vous ;)
N'hésitez pas à poster ici pour + d'infos sur tout ca, même si je serais absent pour 2 jours.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 28 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group