Moteur réseau

cs_dxdiag Messages postés 2 Date d'inscription jeudi 22 juin 2006 Statut Membre Dernière intervention 11 novembre 2006 - 11 nov. 2006 à 16:01
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 12 nov. 2006 à 22:51
Bonjour,

    Je suis à la fac en 1ere année et j'ai un programme a réaliser avec mon groupe de 4 personnes. J'ai choisit de faire le moteur réseau, je pense que je ferais sous la forme suivante:

- Un utilisteur qui fait serveur (hote), faisant toutes les opérations mais pouvant jouer, et 3 clients. Je borne mon moteur à 4 joueurs pour le moment.

- Le jeux est un jeu de plateforme ou le personnage peut avancer, reculer, allé à droite, à gauche et sauter.

   Je ne sais pas si le serveur dois récupérer les touches tapée et calculer les positions des autres personnages ou si les clients envoient leur positions et le serveur les fait tourner aux autres ordinateurs?...
Je pense plutot que le serveur fait tous les calculs et ne reçoit donc que les touches tapés et renvoi les nouvelles coordonées aux clients.

J'aimerais que mon moteur fonctionne sur internet, avec une IP, et en réseau local...

Je débute le delphi et meme avec beaucoup de motivation je ne sais pas trop par quoi commencer, pouvez vous m'éclairer sur des tutos, des sites à visiter...

Merci beaucoup,
Cordialement
dxdiag.

2 réponses

JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
11 nov. 2006 à 17:34
je ne connais rien aux jeux en reseau, mais a en avoir entendu parler pour quelques jeux tout de meme, je dirais que le joueur joue en fait en local, et de temps en temps, il envoie les infos de déplacement effectués au serveur.
exemple :
je suis en coordonées x,y,z : 10,20,30. je me deplace en 15,20,25. j'en voie au serveur ma nouvelle destination, le serveur me deplace comme chez moi en local et il envoi ces infos aux autres client connectés qui me voient me deplacer.
je me trompe peut etre, je ne suis pas du tout pro la dedans, je donne juste mon avis la dessus =)
*pas de cailloux merci ^^*
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 nov. 2006 à 22:51
Lorsque j'avais eu a réaliser un jeu, on avait employé la technique suivante:

- Un serveur dedié (non inclut dans le jeu) en mode console qui generait un log, et se chargait de distribuer les coordonnés aux clients. (Sur la console on voit tout ce qui se passe en temps réels, c'est beaucoup mieux pour debugger !)
- Chaque client faisaient ses propres calculs, et se contentaient d'envoyer des coordonnes au serveur. Ce systeme permet de tricher si on modifie l'un des clients, mais on ne te demande pas de gerer un soft super securisé avec des transferts cryptés, donc fait au plus simple.

Ne laisse pas le serveur faire tout les calculs, ton jeu laggerait car le serveur serait rapidement debordé. Essaie d'envoyer les plus d'information possible en un minimum de place. Par exemple si l'un des tes personnages lance une boule de feu, tu ne donne pas les coordonées de cette boule au serveur en temps réel, mais par contre tu envoie un chiffre disant que tel personnage a lancé un projectile dans telle direction. Chaque client se mettra alors a calculer la trajectoires de la boule, le serveur n'aura eu qu'a dire aux clients de declencher cette action plutot que de mettre a jour en temps réel un projectile.

Si ton jeu marche sur un reseau local, alors il marche sur internet (sauf si il y a des routeurs ou des proxys).
Pour tester sur internet, je sais que la machine qui hebergeait le serveur devait ouvrir le port choisit pour jouer (on avait choisi 80). Par contre niveau securité c'est pas terrible donc pense a la refermer quand tu as fini (ou mieux ne fait que des test en réseau local, via internet il y a souvent des pertes de paquets).

Bonne chance.
0
Rejoignez-nous