Comment faire pour faire jouer des persos en ONLINE

Signaler
Messages postés
41
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
21 mai 2012
-
Messages postés
41
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
21 mai 2012
-
Bonjour à tous (ou rebonjour pour ceux qui me connaissent déjà)

Comme j'ai plus eu de nouvelle par raport avec la détéction de mouvment(...) Je me demandais si vous saviez comment faire un jeu en online donc avec un serveur, mais qui fonctionnerait pour Mac et Windows (je sais pas si on peut ou non) Donc plus concrètement parlant jaimerais crée un jeu ou on serait que en ONLINE et que si personne ou peu de monde serait connécté, l'ordiateur "créerait" des joueur en IA. Enfin, comme j'imagine que sa peut dépendre du style de jeu, ça serait un jeu soit de voiture, soit platforme (genre Mario/Sonic). Donc voilà, toutes réponses quelle qu'elle soit(je crois que c'est comme ça???) est bienvenue !

Merci d'avance

10 réponses

Messages postés
3809
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
22 avril 2020
105
Bonjour.

C'est bien évidemment possible. Mais si tu es débutant, c'est un projet trop difficile pour toi.
Le niveau technique et le nombre d'heures nécessaires pour réaliser ce projet (pour ne serait-ce que quelqu'un d'expérimenté) est bien trop élevé...

Je réponds tout de même à ta question.

Il te faut créer un serveur (tu l'héberges sur ce que tu veux, Mac, Windows ou Linux). Chaque joueur aura un jeu qui est en fait un client. Il faut créer un client par plateforme.
Donc en résumé:
- Coder un serveur pour la plateforme de ton choix
- Coder un client pour chaque plateforme. Normalement, tu codes une fois, et tu compiles une fois par plateforme (donc 3 fois).

Pour faire un serveur, il te faut des connaissances pointues en gestion de mémoire et en multi-threading qui sont deux domaines extrêmement difficiles.
Créer un serveur de jeu online, est encore plus difficile ! Parce qu'en plus de la difficulté technique, s'ajoute d'autre soucis comme la sécurité, la gestion de la synchronisation réseau, la gestion de la performance et la précision du jeu via des méthodes pré-emptive, etc...
Pour ajouter de l'IA par dessus, on est proche d'une difficulté inimaginable. L'IA seul est un domaine difficile, et bien plus complexe que tu ne le penses. Mélanger l'IA et les contraintes réseaux, est extrêmement extrêmement difficile.
Tu l'auras compris, si tu n'as pas une très solide compétence en programmation, et des notions avancées, tu n'as aucune chance.

Histoire de rendre les choses encore plus réaliste: sache que ton serveur nécessitera de consommer de la bande passante et de répondre aux clients dans des temps de latence raisonnable (ou tout le monde laggera horriblement). Héberger ton serveur sur ta machine n'est donc pas viable. Il te faut louer un serveur, ce qui est franchement loin d'être gratuit.

Si la programmation de jeux t'intéresse, je t'invite d'abord à apprendre l'OpenGL et les bases du C ou du C++ (au choix). Inutile de brûler les étapes, fait comme tout le monde et commence petit afin d'acquérir de l'expérience.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Messages postés
3809
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
22 avril 2020
105
Je viens de tomber sur cette discussion, qui à mon avis, répond à ta question:
http://www.cppfrance.com/forum/sujet-JE-CHERCHE-QUELQUN_1542047.aspx

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
Bonjour,

Tu parles d'IA, mais sais tu déjà coder une bonne IA de morpion ou puissance4 ?

Il te faut apprendre :

l'administration d'un serveur
la gestion de bases de données
le reseau
la sécurité
La conception d'applications distribuées (avec distribution active et passive)

Ensuite, selon le type de jeu :
le génération de niveaux (infinis ou non), c'est un domaine de recherche théorique vraiment très dur
Le pathfinding, ça parait important que les gens puissent trouver leur chemin sur la map
Les algorithmes dynamiques, ils servent souvent pour trouver la résolution à un problème simple, pour les petits jeux, on en a souvent besoin pour les solveurs, pour les grands jeux, on en a parfois besoin pour garentir des trucs sur une map, ou précalculer des résultats au chargement.
l'IA, si tu fais un truc très simple, ça peut passer, mais tes robots auront vraiment l'air niais si tu n'y passes pas plusieurs mois, avec plusieurs années d'experience dans le domaine. Pour un jeu commercial, les meilleurs experts mettent 9 mois environ, 6 en dev, et 3 avec les beta testeurs, et ils ratent des trucs par manque de temps. Pour l'IA, je te conseille de regarder des papiers sur divers heuristiques, sur les algos génétiques, sur les réseaux neuronaux, sur l'alphabeta et les monté carlo, c'est les grands classiques (et c'est déjà super chiant si on tente de tout connaitre sur le sujet...)
Tu as évidement besoin de maitriser une lib de graphisme, 3d ou 2d, opengl, sdl, mesa, ces libs ne manquent pas.
Si ton jeu comporte un peu de random, c'est mieux de pouvoir calculer des probabilités pour pouvoir équilibrer ton jeu.

Ensuite, faut choisir un langage, C, C++ ou java semblent corrects pour ça.

Et je ne parle pas de game design, graphisme et autre.

Bref, t'as de la lecture et des exercices pour quelques années.

Si tu souhaites des conseils sur des livres, t'as le Cormen pour tout ce qui est algo, il ne traite pas d'IA, et pas trop d'heuristiques.

Pour les exos, t'as france IOI et prologin qui fournissent de bons exos d'algo.
Pour les exos sur les heuristiques, je ne connais aucun site qui demande d'approcher au mieux des valeurs dans un temps convenable, c'est domage. Le domaine est en constante recherche, et le sera probablement jusqu'a l'arrivée des ordinateurs quantiques (blague) Tu peux regarder tout ce qui se dit sur les problèmes NP complets, on trouve parfois des heuristiques sympas, il y en a quelques unes dans le Cormen (sur le parcours bitonique du voyageur de commerce par exemple), et ce qu'il y a de bien avec les NP complets, c'est que si t'as une heuristique pour un des problème, tu peux l'appliquer sur tous (mais c'est pas toujours trivial)

Pour les exos, tu devrais commencer par quelques exos d'algos assez proche des maths.
Ensuite, je te conseille de commencer par de petits jeux en 2d, puis en 3d. Des jeux de plateaux avec IA, en commencant par une IA simple, pour pousser ensuite.

Peut-etre que comme ça, tu pourras dans quelques années commencer un projet aussi gros que celui que tu décris plus haut.

Cordialement,

Maxime
Messages postés
41
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
21 mai 2012

Bonjour à tous! après le début de cette nouvelle période, je me suis un peu laissr au travail en oubliant un peu la programation. En ce qui concerne la difficulté et l'experience d'une programation IA, sachez que je suis plus tourné, sur le langage GML. En réalité, je suis un expérimenté du langage GML, mais un débutant dans la programation C et autre. Alkors pour répondre à tous cela en bref, car je le reconnais, la programation d'un jeu ONLINe et en IA intégré est difficile. Nonobstant, j'ai déjà cré des jeu en "ONLINE" (je ne les aient pas mis sur le net mais ça fonctionnent) et des jeux en IA. Ensuite, je pense que vous comprener que vos "Le pathfinding" ou "génerateur de niveaux"... je ne sais pas très bien, voir pas du tout (pour être franc) comment les mettre sur programation informatique. Malgrès cela, je suis ouvert a tout tutoriel ou autre qui pourrait m'aider (je ne sais pas si j'ai le droit de "copier" certain code , ou non???) En tous cas, je n'ais pas encore eu le temps de bien regarder vos liens, mais je vous contacterais quand tout ceci sera au point. Merci
Messages postés
41
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
21 mai 2012

PS: Désolé pour l'écriture (je viens de me relire)
Messages postés
41
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
21 mai 2012

OK, Comme je l'ai dit dans mon ancien message, je suis allé voir, de manière approfondie, vos 2 liens (CptPingu). Donc, j'avoue n'avoir pas tout compris. J'ai essayé de comprendre le mieux que j'ai put mais je cloche toujours sur ses "Rapport de Soutenance". ça veut dire quoi? et je ne comprend pas ce que veux dire ses graphiques ? Je n'ai pas pu lançer son jeux (je n'avais plus tellement de place) mais ses codes sont trop compliqué. ça veux dire quoi ses "\contentsline {subsection}{\numberline ..." ou ses "\\~\\~\\~\\~\" ect...
J'aimerais vrement créer un bon jeu en c++ online ou un truc assez sympa. J'attend encore des réponses de mon autre question (détéction de mouvement).
Bref, merci pour ces liens, en attendant vos prochaines nouvelles!
Messages postés
3809
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
22 avril 2020
105
@Actares1456: Je n'ai pas reçu de mail suite à la mise à jour de ce sujet, ce qui fait que je n'ai pas vu ton message.

je suis allé voir, de manière approfondie, vos 2 liens (CptPingu)

Lesquels ? Je n'en ai posté qu'un.

je cloche toujours sur ses "Rapport de Soutenance"

Ce n'est pas du code, juste un document.

ses "\contentsline {subsection}{\numberline ..." ou ses "\\~\\~\\~\\~\"

Ça ressemble fortement à du LaTeX. Un langage de création de page (en gros un Word en mieux). Ce n'est pas vraiment un langage de programmation.

J'aimerais vrement créer un bon jeu en c++ online ou un truc assez sympa.

Comme dit précédemment, pas de bon jeu en C++ sans bonne connaissance en C++. Commence par t'entrainer à faire des petits projets dans ce langage. On ne peut pas devenir un expert dans ce langage du jour au lendemain, ça demande des années de travail. Faire "un jeu C++ online" sans connaissance préalable, c'est illusoire. Si tu cherches à faire un jeu rapidement, sans t'investir dans un vrai langage, je te conseille de rester sur gml que tu sembles déjà maîtriser. Le temps d'apprentissage d'un langage sérieux est tellement élevé, que tu risques de te décourager avant même la création de ton jeu.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
35
Bonjour,

Si tu cherches des liens

pour la culture de la programmation : http://programming-musings.org/2007/01/31/a-scheme-bookshelf/ (c'est utile d'en avoir quand on cherche à organiser son code pour faire de gros projets)
pour le pathfinding : c'est juste une base, mais elle est utile : http://licence-math.univ-lyon1.fr/lib/exe/fetch.php?media=gla:dijkstra.pdf
pour l'IA : http://fearyourself.developpez.com/tutoriel/sdl/morpion/part7/ c'est la base, mais c'est médiocre : avec ça t'iras pas loin.
J'ai pas de lien là, mais je pense que les IAs des fantomes de pacman sont pas mal sur le principe, même si c'est difficile de leur donner un bon comportement pour des jeux plus complexes sans exploser le temps de calcul.

Si c'est trop dur t'as :
http://fr.wikipedia.org/wiki/Algorithme_de_tri

Pour t'entrainer :
http://www.prologin.org/
http://www.france-ioi.org/

déjà, t'en as pour une bonne quinzaine d'années d'entrainement pour passer tout les exercices.

Cordialement,

Maxime
Messages postés
41
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
21 mai 2012

Je vais aller dans l'ordre. Donc désolé CptPingu, t'as raison je ne me suis pas rendu compte qu'il n'y avait qu'un lien (ma faute, pardon!)
Donc voilà, ensuite, merci beaucoup pour tes liens Je t'avourrais que je n'aurais pas forcement beaucoup de temps pour pouvoir les rgarder mais j'ai copié ton message et je verrais quand j'ai le temps. Alors, évidement et c'est tous à fait normal que ce que je demande fait un peu "masogiste" (j'aime bien l'expression).
Mais je suis comme ça!!! (lol, enfain quoi que...)

Bref, en tous cas merci pour vos réponse, je vous alerterais si besoin quand j'aurais de nouvel "choses" (quelles quel soit)


P.S: j'avais juste trop envi d'utiliser ce smiley, il n'est la pour rien, juste pour une envie irésistible!
Messages postés
41
Date d'inscription
samedi 13 août 2011
Statut
Membre
Dernière intervention
21 mai 2012

A oui! je préfère rassurer "merci beaucoup pour tes liens "
ça s'adresse à coucou747 (lol, ça me fait trop rire pardon, il ne faut pas faire attention, seulement un petit fourir de gosse XD)