Précédent   Forum du club des développeurs et IT Pro > Applications > Développement 2D, 3D et Jeux > Réseau et multijoueurs
Réseau et multijoueurs Forum d'entraide pour le réseau et le multijoueur pour les jeux vidéo
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/07/2010, 00h10   #1
skydevil
Invité de passage
 
Inscription : juin 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 9
Points : 0
Points : 0
Par défaut Jeux online - choix de concéption ?

Bonjour,

Voila je compte développer avec une petite équipe un jeux online
La question étant de savoir quelle sont les meilleures technos/techniques à utiliser pour concevoir le moteur réseau ?

En effet, vaut il mieux tout concevoir from scratch en C ou utiliser une lib style ACE ou boost.asio en C++ ?

Et par curiosité tout les jeux vidéo récents utilisent quoi comme technos actuellement ?

Merci d'avance
skydevil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2010, 01h08   #2
r0d
Expert Confirmé Sénior
 
Inscription : août 2004
Messages : 3 666
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : août 2004
Messages : 3 666
Points : 4 425
Points : 4 425
Citation:
Envoyé par skydevil Voir le message
Bonjour,

Voila je compte développer avec une petite équipe un jeux online
La question étant de savoir quelle sont les meilleures technos/techniques à utiliser pour concevoir le moteur réseau ?
Cela dépend de beaucoup de choses, et surtout de ce que vous souhaitez faire. Tu parles de "jeu en réseau", mais il y a un monde entre un jeu en ligne en php/javascript avec un jeu de Blizzard; pourtant les deux sont des jeux en réseau.

Citation:
Envoyé par skydevil Voir le message
En effet, vaut il mieux tout concevoir from scratch en C ou utiliser une lib style ACE ou boost.asio en C++ ?
Encore une fois, ça dépend de ce que vous voulez faire, et des moyens que vous vous donnez. Mais bon, partir de zéro me parait compliqué. Seuls les bons hackeurs (dans le sens anglo-saxon, c'est à dire plus programmeur que pirate) font du "from scrash", et c'est soit pour le défi, soit pour le plaisir (c'est à dire que ce n'est plus le résultat qui importe).

Citation:
Envoyé par skydevil Voir le message
Et par curiosité tout les jeux vidéo récents utilisent quoi comme technos actuellement ?
Ils utilisent tous types de technos...
Ils utilisent toujours des libs de gestion du multimédia (audio et video) comme DirectX, RenderWare, SDL, Ogre..., et toutes sortes de libs (moteurs physiques, réseau, gestion des périphériques, ...) qui sont aussi nombreuses que variées et dont l'usage dépend de ce que tu souhaites faire.
r0d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2010, 16h44   #3
skydevil
Invité de passage
 
Inscription : juin 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 9
Points : 0
Points : 0
Bonjour,

Enfait ca serait un jeux de combat devellope en C++ avec un moteur 3D en opengl/sdl le jeux devrait pouvoir tourner sur linux/win

le jeux se rapprocherait d'un wow sans tout le cote mmo

Le probleme de choix technique concerne uniquement le reseau ... On pensait utiliser une lib reseau (ACE ou boost.asio) et rester en C++ mais certain sont des fervent defenseur du C et des standards posix "oui mais c'est plus opti ! "

Du coup c'est un peu flou
skydevil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2010, 16h51   #4
Mat.M
Expert Confirmé Sénior
 
Développeur informatique
Inscription : novembre 2006
Messages : 4 445
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : novembre 2006
Messages : 4 445
Points : 5 864
Points : 5 864
Citation:
Envoyé par skydevil Voir le message
En effet, vaut il mieux tout concevoir from scratch en C ou utiliser une lib style ACE ou boost.asio en C++ ?
pour mon projet je fais tout par moi même en utilisant Winsock.
Je n'aime pas du tout les bibliothèques tierces sauf Direct3d qui est incontournable pour moi
Pour mon jeu RTS qui sera multijoueur en LAN ( pour le moment) il y a à peine un fichier .cpp avec des tout bêtes recv et send de Winsock cela doit faire 200lignes de code à tout casser...
si tu ne veux pas te casser la tête alors oui prends boost.asio parce que sinon en win32 notamment comme recv et send des Sockets sont des fonctions bloquantes tu est contraint de faire de la programmation multithreading avec des Events..
sans compter l'utilisation éventuelles des sections critiques


Citation:
Envoyé par skydevil Voir le message
On pensait utiliser une lib reseau (ACE ou boost.asio) et rester en C++ mais certain sont des fervent defenseur du C et des standards posix "oui mais c'est plus opti ! "

Du coup c'est un peu flou
Si tu te sens à l'aise avec ACE prends cette lib alors !
Dans la vie il ne faut pas se compliquer les choses...
si ACE fournit des fonctions et des bons exemples de gestion de données via le réseau alors prends cette lib...
le but c'est d'être efficace pour un projet pas d'avoir des considérations philosophiques
Mat.M est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2010, 17h15   #5
r0d
Expert Confirmé Sénior
 
Inscription : août 2004
Messages : 3 666
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : août 2004
Messages : 3 666
Points : 4 425
Points : 4 425
Sinon, si vous utilisez la SDL, vous pouvez utiliser la SDL_net qui rempli son objectif.
r0d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2010, 17h16   #6
nouknouk
Modérateur
 
Avatar de nouknouk
 
Homme
Inscription : décembre 2006
Messages : 1 612
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32

Informations forums :
Inscription : décembre 2006
Messages : 1 612
Points : 1 781
Points : 1 781
Citation:
Envoyé par skydevil Voir le message
Le probleme de choix technique concerne uniquement le reseau ... On pensait utiliser une lib reseau (ACE ou boost.asio) et rester en C++ mais certain sont des fervent defenseur du C et des standards posix "oui mais c'est plus opti ! "
Pour cet aspect là, j'aurais tendance à dire que:

- si votre but premier est d'apprendre des choses, tout refaire from scratch (l'autre nom de "réinventer la roue") est intéressant car c'est le milleur moyen de comprendre comment ça marche du début à la fin.

- si votre but est d'avoir quelque chose qui marche sans perdre inutilement des centaines d'heures pour refaire la même chose, il est bien plus prudent d'utiliser une librairie toute faite.

- quant à l'argument du "c'est plus optimisé si on le fait nous même", il s'avère que dans 99% des cas, c'est exactement le contraire qui se passe en réalité. A moins d'être un expert dans le domaine (et dans ce cas, la question ne serait même pas posée ici), une librairie qui concentre l'expérience de dizaines de développeurs expérimentés, de dizaines de versions et des milliers d'utilisations (qui ont de fait testé la lib dans tous les sens) vaudra 1000 fois mieux qu'une lib faite à la main.
nouknouk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2010, 19h51   #7
skydevil
Invité de passage
 
Inscription : juin 2010
Messages : 9
Détails du profil
Informations forums :
Inscription : juin 2010
Messages : 9
Points : 0
Points : 0
Merci pour vos reponses je crois effectivement que nous allons nous orienter vers ACE

niveau doc c'est assez restreint mais y'a deux bouquins qui m'ont l'air simpa
skydevil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h12.


 
 
 
 
Partenaires

Hébergement Web