IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

c++ pour jeux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut c++ pour jeux
    Bonjour,

    Je souhaite me lancer dans l'aventure du dev c++ pour jeu 3D.
    Sachant que j'ai déjà fait du C à la fac et que j'ai validé cet UE, combien me faut il de temps selon vous, à raison de 15h par semaine pour suffisamment maîtriser le C++ pour pouvoir commencer à développer mon jeu ?
    D'autre part me conseillez vous d'utiliser une bibliothèque OpenGL ou DirectX ?

    PS : je développe sous Windows 7

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Bonjour,

    Développer un jeu, ce n'est pas uniquement programmer en C++, c'est aussi savoir gérer son projet, faire correctement les étapes d'analyse et de conceptions, etc...

    Après, cela dépend bien évidement du type de jeu que tu souhaites réaliser.
    Personnellement, j'ai fait 2ans d'IUT Informatique en travaillant à côté sur mon propre projet et j'ai encore beaucoup à apprendre .

    Donc si je peux te donner quelques conseils :
    - écoute bien tes aînés ;
    - n'hésite pas à poser des questions (après avoir activement recherché la réponse sur internet);
    - ne va pas trop vite, freines-toi et prend le temps de passer chaque étape de la création de ton jeu en commençant par un petit bout de conception ;
    - commence par un petit projet simple (mais essaye de faire original) ;
    - rejoins un projet existant (on peut en apprendre énormément) ;
    - passe nous voir dans Applications / 2D 3D Jeux .

    Pour la bibliothèque, évite DirectX pour rester portable si jamais tu décides de porter ton jeu pour d'autres OS.
    Je te conseille aussi d'utiliser des bibliothèques plus haut-niveau comme la SFML et Irrlicht 3D.

  3. #3
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Merci pour ta réponse très complète Neckara

    Non je te rassure je ne compte pas me jeter tête baissée dans le code et la modélisation 3d sans savoir où je vais
    J'ai prévu de faire un storyboard, de bien penser mon jeu en amont avant de passer à la réalisation.

    En revanche ton conseil est bon car je n'avais pas prévu de revenir aussi souvent à la conception.

    tu me conseils open GL pour la portabilité. Mais selon http://www.gizmodo.fr/2013/09/05/win...ilan-2013.html 91% du marché des OS est détenu par Windows. Si directX s'avère plus puissant, je peux négliger les 9% ?

    Merci encore pour tes bons conseils.

    passe nous voir dans Applications / 2D 3D Jeux
    cest déjà fait => http://www.developpez.net/forums/d13...defourailleur/

  4. #4
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 026
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 026
    Par défaut
    Je ne pense pas que DirectX soit "plus puissant" que OpenGL, mais je ne suis pas le mieux placé pour en parler (ni le plus objectif ).

    Le mieux reste d'utiliser des bibliothèques plus "haut-niveau" où tu auras juste une variable à changer pour passer de DirectX à OpenGL.

    Après, pour ignorer 9% des non-Windows, je me méfierais :
    - dans tout ce qui est tablettes, mobiles, Windows est très loin de faire l’unanimité. De plus ces plate-formes sont maintenant assez répandues donc si ton jeu peut être porté vers ces plate-formes, c'est loin d'être négligeable ;
    - la proportion de développeurs sous un OS non-Windows est bien supérieur à 9%. Donc si tu veux que des développeurs compillent et testent ton projet, être un peu portable est un plus.

    EDIT : à voir aussi comment ils ont calculé la "part de marché".
    Déjà si on prend en compte les mobiles/tablettes, je ne pense pas qu'on aurait les même chiffres.
    Bon, je pense qu'ils ont aussi exclus les serveurs et certains "trucs" embarqués mais bon, je doutes qu'on jouera dessus .
    Mais si on compte tout ça il me semble que les Linux-like battent

    Ensuite, comment ont-il calculé la "part de marché de Linux" ?
    Linux étant librement téléchargeable, il est très difficile de savoir combien de personnes ont réellement un Linux.
    Et puis calculer une "part de marché" pour quelque chose de gratuit, c'est un peu "bizarre".

    EDIT2 : j'ai regardé rapidement, les chiffres peuvent être trop facilement biaisé selon la nature des sites observé.

  5. #5
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Ok tu m'as convaincu, ya pas photo, va pour OpenGL et merci à toi

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Salut,

    je te conseillerai aussi OpenGL. Il serait dommage de se priver de la portabilité et c'est tout aussi simple (voire plus avec l'habitude) que du DirectX.
    Et surtout, à priori tu ne feras pas un AAA exclu XOne ou Windows, tu as donc tout intérêt à le proposer au plus grand nombre. Le marché des mobiles et tablettes. Même Steam pousse en ce sens maintenant qu'ils sont sur Linux.

    Je reste un afficionado de Windows que j'utilise au quotidien tant pour le perso que le pro, mais dans notre groupe on a un Mac user, ça peut être intéressant qu'il puisse lancer le projet sans passer par une VM !
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Je ne vais pas revenir sur les interventions des autres concernant le débat OpenGkl Vs DirectX, parce que je partage leur point de vue, mais
    Citation Envoyé par guitz Voir le message
    Bonjour,

    Je souhaite me lancer dans l'aventure du dev c++ pour jeu 3D.
    Sachant que j'ai déjà fait du C à la fac et que j'ai validé cet UE,
    En tout honnêteté, tu as eu quoi 60 heures de C Peut être 120 ...

    Tu as donc appris la syntaxe du C et certains aspect principaux. Autrement dit, tu veux courir alors que tu as à peine appris à te tenir debout.

    C'est d'autant plus vrai que, bien qu'il ne renie absolument pas ses origines, C++ est un langage totalement différent de C.

    Tu peux donc estimer connaitre la syntaxe (qui est identique à celle de C) de C++, mais au delà :

    De nombreuses habitudes considérées comme "bonnes" voire "indispensables" en C sont souvent désastreuses en C++.

    Alors que C est un langage impératif uniquement, C++ est un langage multi paradigme, qui combine avantageusement le paradigme impératif avec le paradigme orienté objet et avec le paradigme générique.
    combien me faut il de temps selon vous, à raison de 15h par semaine pour suffisamment maîtriser le C++ pour pouvoir commencer à développer mon jeu ?
    C'est un peu comme si tu nous demandais combien de temps il te faudrait pour maitriser suffisamment le français pour réécrire les misérables de victor hugo, à raison de deux heures par jour, alors que tu n'as que de vagues notions de latin et que ta langue maternelle est le chinois!

    La seule réponse que l'on puisse te donner sans risquer de se tromper est "beaucoup"

    Déjà, il faut savoir que le développement d'un jeu ne fait pas seulement intervenir le développement d'application (un "pisseur de code" dirons nous, sans intention de heurter quiconque ) : C'est une activité qui doit mettre en relation énormément de disciplines comme
    • un desinger
    • un graphiste
    • un scénariste
    • un ingénieur son (ou un musicien )
    • un développeur d'application
    • un ingénieur effets spéciaux
    • j'en passe et de meilleures
    Autant dire que je n'ai jamais vu personne être en mesure de regrouper toutes ces compétences dans sa seule caboche

    En "oubliant" volontairement les compétences qui n'ont rien à voir avec le développement, il faut comprendre que n'importe quelle partie d'une application doit être correctement conçue si tu veux arriver à la faire évoluer facilement et de manière sereine.

    Et je parle ici de conception de manière tout à fait générale : l'algorithmie prendra une place très importante si tu veux obtenir des performances ne serait-ce que valable, mais la conception plus poussée (au sens "conception orientée objet" essentiellement) sera tout aussi importante pour te permettre de faire travailler les différents éléments entre eux.

    Tu dois te dire que chaque décision que tu pourras prendre aura forcément un impact sur quelque chose, ce qui fait que tu dois en permanence être en mesure de quantifier cet impact et de justifier toutes les décisions que tu pourras prendre.

    Tu te rendra sans doute aussi compte qu'un langage de script est parfois préférable à C++ pour certains aspects de ton projet : tu ne dois absolument pas espérer pouvoir te contenter de C++ de A à Z.

    Malgré les apparences, cette intervention ne veut pas te décourager. Elle cherche juste à te donner une idée de l'ampleur de la tâche qui se cache derrière une phrase aussi simple que
    Je souhaite me lancer dans l'aventure du dev c++ pour jeu 3D.
    Si j'ai un conseil à te donner, c'est très certainement de commencer avec quelque chose de beaucoup plus simple : prend le temps de t'approprier le langage, de t'habituer au fait que sa philosophie tient en deux points:
    • trust the developper, even if it's bullshit
    • if you don't use it, don't pay for it
    Prend le temps d'assimiler et de t'approprier les grands principes de la programmation et de comprendre correctement ce qu'est la programmation orientée objet.

    Les principes dont je parle peuvent se résumés à deux termes : la loi de Déméter et les principes connus sous l'acronyme SOLID. (une recherche sur ce forum te donnera une idée de ce que je veux dire )

    Comprends que, malgré ce que beaucoup de gens disent, le grand principe de la programmation orientée objet n'est pas l'encapsulation, mais la substituabilité (référence forcé au L de SOLID qui représente le LSP ou le principe de substitution de Liskov) : l'encapsulation prend une part intéressante en orienté objet, mais elle est tout à fait possible en langage impératif ( cf la structure FILE et les fonctions qui l'utilisent en C).

    Réfléchis avant de faire quoi que ce soit : tu gagneras bien plus de temps en acceptant de perdre, pour chaque point que tu dois traiter, cinq minutes (et parfois plus) à réfléchir un tout petit peu à la manière dont tu décides de le traiter qu'à foncer "tête baissée" sans savoir où tu mets les pieds.

    Prends le temps de réfléchir une première fois à ton projet de manière globale à ce que tu veux obtenir dés le départ et à ce qui "serait pas mal" pour la suite, puis, définis tes priorités.

    Une fois cette réflexion faite, tu pourras, pour chaque partie, aller au "fond des choses" dans ta réflexion afin d'être en mesure de l'implémenter.

    N'attend pas d'avoir fait le tour dans les moindres détails de ce que tu veux pour ton projet avant de commencer l'implémentation : une vue d'ensemble est indispensable, mais, si tu attends d'avoir pensé à la moindre virgule, à la position de la moindre pâquerette dans ton monde, tu finiras par ne plus t'y retrouver.

    Par contre, quand tu décides d'implémenter une fonctionnalité, prends le temps de réfléchir à ses tenant et à ses aboutissants, y compris à ceux qui viennent de ce que tu as considéré comme "pas mal pour plus tard".

    D'un autre coté, garde en tête les phrases comme YAGNI et KISS (issues de l'Xtrem Porgramming). Pour ce qui est de l'implémentation en tout cas (par opposition à ce qui est de la conception).

    N'hésites pas à garder une trace de toutes tes idées, à revenir sur ta conception chaque fois qu'un problème peut se poser, mais, surtout, commences avec un objectif réaliste.

    Tu voudras peut être que ton jeu soit MMO, mais, tant que tu n'as la base de travail, les aspects "réseau" et "serveur" ne te seront d'aucune utilité.

    Tu voudras peut être mettre un système de quêtes en place, mais, si tu ne sais déjà pas faire se déplacer ton bonhomme, comment veux tu qu'il puisse les remplir

    En un mot comme en 100 : ne te décourages pas, mais avance "pas à pas"
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 734
    Par défaut
    Citation Envoyé par koala01 Voir le message
    Autant dire que je n'ai jamais vu personne être en mesure de regrouper toutes ces compétences dans sa seule caboche
    Eric Chahi?
    Bon, sérieusement, effectivement le projet paraît follement ambitieux pour quelqu'un qui débute! Généralement on recommande de prendre part à des projets pour se faire la main avant d'en lancer un soi-même, surtout tout seul.

  9. #9
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Merci infiniement Koala pour cette réponse aussi complète et franche.

    Je vais te répondre sur certains points :

    En tout honnêteté, tu as eu quoi 60 heures de C Peut être 120 ...
    Tu as donc appris la syntaxe du C et certains aspect principaux. Autrement dit, tu veux courir alors que tu as à peine appris à te tenir debout.

    C'est d'autant plus vrai que, bien qu'il ne renie absolument pas ses origines, C++ est un langage totalement différent de C.

    Tu peux donc estimer connaitre la syntaxe (qui est identique à celle de C) de C++, mais au delà :

    De nombreuses habitudes considérées comme "bonnes" voire "indispensables" en C sont souvent désastreuses en C++.

    Alors que C est un langage impératif uniquement, C++ est un langage multi paradigme, qui combine avantageusement le paradigme impératif avec le paradigme orienté objet et avec le paradigme générique.
    Ce n'est pas grave s'il va me falloir beaucoup plus de temps que je me l'imaginais, puisque je poursuivrai mon but contre vent et marée, je ne lacherai rien, et j'atteindrai mon but même si je suis conscient que je vais vraiment en baver.

    Déjà, il faut savoir que le développement d'un jeu ne fait pas seulement intervenir le développement d'application (un "pisseur de code" dirons nous, sans intention de heurter quiconque ) : C'est une activité qui doit mettre en relation énormément de disciplines comme
    un desinger
    un graphiste
    un scénariste
    un ingénieur son (ou un musicien )
    un développeur d'application
    un ingénieur effets spéciaux
    j'en passe et de meilleures
    Autant dire que je n'ai jamais vu personne être en mesure de regrouper toutes ces compétences dans sa seule caboche
    Je sais mais , faute de moyens financiers suffisants je ne peux embaucher pour le moment un vrai graphiste, en revanche étant ancien webdesigner et "illustrateur 2D" je suis capable, de faire des designs, textures à peu près corrects. Pour le sénario je manque de culture générale pour pouvoir m'inspirer de suffisamment de choses, mais je vais bien être obligé de 'y coller seul (après bon tous les jeux n'ont pas besoin d'un sénario très poussé heureusement pour moi, exemple : world of goo).
    Concernant le son, je suis ancien musicien et donc capable de "composer" ou produire des thèmes, musiques d'ambiance, effets sonores pas trop mauvais.

    En fait je vais me faire les armes sur ce premier jeu (un FPS, compter 6 mois à raison de 20h hebdo, soit 480h englobant d'apprentissage du C++, OpenGL + modelisation, texture, éclairage, effets spéciaux, composition musiques, bruitages, optimisation, phases de tests, et cryptographie pour protéger le jeu des pirates), et donc je ne prétend pas en faire quelque chose de potable, en revanche une fois cette petite expérience acquise je compte tenter de développer pendant encore 6 mois un nouveau jeu où j'aurai gagné en productivité et où je pourrai aller plus loin en terme de qualité et de contenu. Et ce jeu s'il se vend à suffisemment d'exemplaires pourrait me permettre dans l'idéal d'ouvrir une microsociété, en ambauchant dans un premier temps seulement un VRAI graphiste) ce qui pourrait me permettre de produire un jeu d'une qualité encore supérieure, etc ... jusqu'à pouvoir financer une petite structure complète de prod de jeux indie de QUALITE

    Prend le temps d'assimiler et de t'approprier les grands principes de la programmation et de comprendre correctement ce qu'est la programmation orientée objet.

    Les principes dont je parle peuvent se résumés à deux termes : la loi de Déméter et les principes connus sous l'acronyme SOLID. (une recherche sur ce forum te donnera une idée de ce que je veux dire )


    Comprends que, malgré ce que beaucoup de gens disent, le grand principe de la programmation orientée objet n'est pas l'encapsulation, mais la substituabilité (référence forcé au L de SOLID qui représente le LSP ou le principe de substitution de Liskov) : l'encapsulation prend une part intéressante en orienté objet, mais elle est tout à fait possible en langage impératif ( cf la structure FILE et les fonctions qui l'utilisent en C).

    Réfléchis avant de faire quoi que ce soit : tu gagneras bien plus de temps en acceptant de perdre, pour chaque point que tu dois traiter, cinq minutes (et parfois plus) à réfléchir un tout petit peu à la manière dont tu décides de le traiter qu'à foncer "tête baissée" sans savoir où tu mets les pieds.
    Merci du conseil, je prendrai bien soin de penser comme il faut, avant de me lancer tete baissée dans le dev, à bien structurer mon code de façon saine

    Bonne soirée

  10. #10
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par guitz Voir le message
    Ce n'est pas grave s'il va me falloir beaucoup plus de temps que je me l'imaginais, puisque je poursuivrai mon but contre vent et marée, je ne lacherai rien, et j'atteindrai mon but même si je suis conscient que je vais vraiment en baver.
    C'est tout ce dont je voulais te faire prendre conscience
    Je sais mais , faute de moyens financiers suffisants je ne peux embaucher pour le moment un vrai graphiste, en revanche étant ancien webdesigner et "illustrateur 2D" je suis capable, de faire des designs, textures à peu près corrects. Pour le sénario je manque de culture générale pour pouvoir m'inspirer de suffisamment de choses, mais je vais bien être obligé de 'y coller seul (après bon tous les jeux n'ont pas besoin d'un sénario très poussé heureusement pour moi, exemple : world of goo).
    Là, tu m'as peut être mal compris...

    Ce que je veux dire, c'est qu'un jeu, ce n'est pas "simplement" de la technique.

    C'est un gameplay, c'est un environnement à modéliser, c'est des règles à faire respecter, c'est une "courbe de difficulté" à mettre au point, c'est une ambiance à créer, c'est des personnages, des armes et des sorts à modéliser, c'est des animations à mettre au point j'en passe et de meilleures
    En fait je vais me faire les armes sur ce premier jeu (un FPS, compter 6 mois à raison de 20h hebdo, soit 480h englobant d'apprentissage du C++, OpenGL + modelisation, texture, éclairage, effets spéciaux, composition musiques, bruitages, optimisation, phases de tests
    480 heures, chez moi, ca fait surtout 60 jours équivalent temps plein...
    Autrement dit, trois mois, 8 heures par jours, 5 jours sur sept.

    A ce tarif là, tu auras sans doute, après 480 heures, appris les bases étendues de C++ et de OpenGl et tu auras sans doute approché la modélisation 3D, mais à moins de tripler ou de quadrupler ton estimation, tu ne respecteras jamais ta "deadline". Surtout en commençant d'un point proche de zéro.

    Je suis spécialisé en C++ depuis plus de dix ans, je le pratique quotidiennement à raison de bien plus de vingt heures par semaines et je n'en ai pas encore fait le tour!

    Je ne te dis pas d'attendre de maitriser ne serait-ce qu'un minimum le C++ avant de te lancer dans ton projet, car tu ne le lancerais pas avant deux à trois ans minimum si c'était le cas. Mais il faut comprendre que tu vas sans doute régulièrement passer un temps bête à débugger une partie de code pour essayer de trouver "ou se cache cette p...n d'erreur" pour finir par te rendre compte que tu as simplement fait une affectation au lieu d'une égalité ou que tu as mis un ! à un endroit qu'il ne fallait pas (ou que tu as simplement oublié un ! à un endroit où il était nécessaire).

    C'est le lot de tout développeur, surtout débutant (les experts n'en sont pas exemptés, disons qu'ils repèrent peut être simplement plus vite les erreurs )

    Fais donc ton jeu à ton aise, mais, si tu veux avoir "un peu de marge", je te conseille de doubler, voir de tripler le temps que tu prévois de passer dessus avant d'avoir quelque chose qui "tienne un minimum la route".

    Cela dépendra bien sur du style de jeu et de tes compétances connexes, mais la connaissance du langage n'est -- au final -- qu'une des choses à prendre en compte
    , et cryptographie pour protéger le jeu des pirates[/B]),
    Ne te casse pas la tête à vouloir protéger ton jeu des pirates!

    Les grands titres l'ont prouvé à loisir, aucune protection ne tient plus de quelque jours... Quand le crack ne sort pas en même temps que le jeu
    et donc je ne prétend pas en faire quelque chose de potable, en revanche une fois cette petite expérience acquise je compte tenter de développer pendant encore 6 mois un nouveau jeu où j'aurai gagné en productivité et où je pourrai aller plus loin en terme de qualité et de contenu.
    Bien sur, tout ce que tu feras te permettra de gagner de l'expérience. Nous sommes bien d'accord sur ce point.

    Mais, si tu pars sur une base de 20 semaines, tu peux déjà compter très certainement deux à trois mois rien que pour comprendre correctement la philosphie de C++, à peu près autant pour t'approprier le mode de fonctionnement OpenGL, et grosso modo la même chose pour arriver à une modélisation 3D utilisable.

    Rajoute la prise en main de ton système de compilation / de ton EDI, de ta bibliothèque de tests unitaires et la conception (même si elle ne se fait que par étapes), et tu pourras t'estimer heureux d'avoir un résultat "présentable" aux alentours de la fin de l'année scolaire
    Et ce jeu s'il se vend à suffisemment d'exemplaires pourrait me permettre dans l'idéal d'ouvrir une microsociété,
    Je ne suis plus très sur du chiffre exact, mais dis toi qu'il y a moins d'un projet sur deux qui atteint un stade de simplement utilisable quand tu n'a pas une équipe minimum "derrière toi"...

    Alors, avant d'arriver à le vendre et d'en tirer des bénéfices!!! Donnes toi au moins jusqu'à l'horizon 2018, ce sera un objectif beaucoup plus réaliste
    en ambauchant dans un premier temps seulement un VRAI graphiste) ce qui pourrait me permettre de produire un jeu d'une qualité encore supérieure, etc ... jusqu'à pouvoir financer une petite structure complète de prod de jeux indie de QUALITE
    J'adore ton optimisme!

    Gardes juste en tête que ca a beau être réalisable, cela prend un temps bête et que la première source de découragement sera de ne pas tenir les délais trop courts que tu peux te fixer

    Je te le répète, mon but n'est pas de te décourager, loin de là.

    Je comprend et j'apprécie ton optimisme et ta détermination. Mais, tout comme il ne suffit pas d'acheter de belles couleurs et un pinceau pour peindre comme VanGogh, tout comme il ne suffit pas de s'acheter une guitare pour jouer comme Jimmy Hendrix, il ne suffit pas d'avoir "l'idée de génie" pour développer un jeu complet :

    Il y a des bases à acquérir, des techniques à maitriser, des idées à préciser et parfois à revoir entièrement, et tout cela prend un temps bête. 480 heures, c'est le temps (déjà sans doute très limité) que tu pourrais consacrer à un TFE tout à fait simple, pas sur un projet qui nécessitera de te former à une série de techniques dont tu ignores à peu près tout
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #11
    Membre Expert
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Billets dans le blog
    1
    Par défaut
    Pour avoir testé de faire un jeux en 3D en ayant appris le c++ depuis plus de deux ans, je te réponds: impossible.

    Comme il a été expliqué, la base indispensable pour réaliser une jeux c'est:
    _ un graphiste.
    _ un scénariste
    _ un développeur.

    On peut dire que c'est le minimum vital. Toute ses personnes doivent être "bonnes" dans leur domaine. A titre d'exemple, pendant mes études j'ai réalisé un petit soft de domotique, interface simple, réseau simple, concept simple.

    Le développement a duré plus de deux ans avant d'avoir une béta à peu près correct à raison de 5-6 heures par jours 7j/7.

    Ce que je peux te donner comme conseil:
    _ commence par un jeux hyper simple pour t'habituer au concept de jeux. (genre puissance 4, démineur). Certes c'est pas glorieux, mais ça te donnera les bases en c++ et en design pattern.
    _ ensuite passe sur un jeux 2D simple style bomberman ou rpg simple voir meme r-type (vieux jeux d'arcade mais qui t'apprendras les base du temps réel, de l'optimisation, la synchro, et un peu d'ia). Avec ça tu verra les scénario et tu comprendras la difficulté de faire un design potable pour un jeux.
    _ ensuite tu peux passé sur de la 3D, regarde d'abord du coter de unity (oui c'est pas du c++, mais tu auras les bases des interaction 3D et tu auras rapidemment un résultat simpa).

    Déjà pour réaliser toutes ces étape il te faudra grosso modo un an voir deux. Bien sur je pars du principe que ton jeux ne sera pas en reseau, si je me trompe, dis le moi, je te rajouterais des étapes .
    Avec ces réalisations tu auras déjà un bon package de connaissance pour pouvoir te lancer dans un jeux plus complet.
    Voila les étapes pour la suite:
    _ créer un monde pour ton jeux en 3D (compte environ 6 mois)
    _ créer un scénario (3-4 mois)
    _ développe la base (le monde, interaction, personnage) -> 1 an
    _ développe le scénario en le decoupant par partie -> 1/2 ans
    _ et enfin finalise le jeux avec des petite retouches et des graphismes plus poussés -> 1 ans.

    Et encore je pense être optimiste, il faut énormément de courage pour se lancer seul dans ce type de projet. Ne reste pas fixer sur un langage (c++).
    Unity est un excéllent moyen de créer un jeux avec des design simpa, un bon scénario et retir une bonne partie de la problématique de modélisation 3D car il integre de base de nombreux decors 3D, personnage et interaction.

    Si tu as des questions, on peut en parler, j'ai de solide connaissance en 3D et développement, et j'ai essayer un nombre incalculable de fois de créer un jeux en abandonnant à chaque fois: ma motivation ne durais pas plus de 3-4 mois, surtout qu'au bout de 3-4 mois, tu vas a pein pourvoir faire un petit rendu 3D et te rendre compte de tout les problème impliqués. Ce n'est pas pour rien que la plupart des jeux développés par des entreprise prene entre 4 et 5 ans de dev, a raison d'équipe de 100-200 personnes

  12. #12
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Salut Koala,

    Citation Envoyé par koala01 Voir le message
    C'est tout ce dont je voulais te faire prendre conscience
    Là, tu m'as peut être mal compris...

    Ce que je veux dire, c'est qu'un jeu, ce n'est pas "simplement" de la technique.

    C'est un gameplay, c'est un environnement à modéliser, c'est des règles à faire respecter, c'est une "courbe de difficulté" à mettre au point, c'est une ambiance à créer, c'est des personnages, des armes et des sorts à modéliser, c'est des animations à mettre au point j'en passe et de meilleures
    je me suis peut être mal exprimé mais oui on s'était compris, et de toute façon je suis conscient de tout ça

    Citation Envoyé par koala01 Voir le message
    480 heures, chez moi, ca fait surtout 60 jours équivalent temps plein...
    Autrement dit, trois mois, 8 heures par jours, 5 jours sur sept.

    A ce tarif là, tu auras sans doute, après 480 heures, appris les bases étendues de C++ et de OpenGl et tu auras sans doute approché la modélisation 3D, mais à moins de tripler ou de quadrupler ton estimation, tu ne respecteras jamais ta "deadline". Surtout en commençant d'un point proche de zéro.
    Je ne pars pas complètement de zero puisque comme je t'ai dit, j'ai déjà de très bonnes bases en C et une expérience non négligeable programmation, et "reflexion algorithmique", de part mes semestres validés à la fac (60% d'une licence) et mon expérience professionnelle.
    D'autre part j'ai déjà bonnes bases en modélisation + texturing dans 3dsmax.
    Mais je te concède que finalement ça devrait prendre je pense 600h de boulot, soit la dead line à la mi juillet.

    Citation Envoyé par koala01 Voir le message
    Je suis spécialisé en C++ depuis plus de dix ans, je le pratique quotidiennement à raison de bien plus de vingt heures par semaines et je n'en ai pas encore fait le tour!

    Je ne te dis pas d'attendre de maitriser ne serait-ce qu'un minimum le C++ avant de te lancer dans ton projet, car tu ne le lancerais pas avant deux à trois ans minimum si c'était le cas. Mais il faut comprendre que tu vas sans doute régulièrement passer un temps bête à débugger une partie de code pour essayer de trouver "ou se cache cette p...n d'erreur" pour finir par te rendre compte que tu as simplement fait une affectation au lieu d'une égalité ou que tu as mis un ! à un endroit qu'il ne fallait pas (ou que tu as simplement oublié un ! à un endroit où il était nécessaire).

    C'est le lot de tout développeur, surtout débutant (les experts n'en sont pas exemptés, disons qu'ils repèrent peut être simplement plus vite les erreurs )

    Fais donc ton jeu à ton aise, mais, si tu veux avoir "un peu de marge", je te conseille de doubler, voir de tripler le temps que tu prévois de passer dessus avant d'avoir quelque chose qui "tienne un minimum la route".

    Cela dépendra bien sur du style de jeu et de tes compétances connexes, mais la connaissance du langage n'est -- au final -- qu'une des choses à prendre en compte
    Ca pourrait décourager certains mais, je tiendrai bon. Merci de m'avoir prévenu

    Citation Envoyé par koala01 Voir le message

    Rajoute la prise en main de ton système de compilation / de ton EDI, de ta bibliothèque de tests unitaires et la conception (même si elle ne se fait que par étapes), et tu pourras t'estimer heureux d'avoir un résultat "présentable" aux alentours de la fin de l'année scolaire
    Je ne suis plus très sur du chiffre exact, mais dis toi qu'il y a moins d'un projet sur deux qui atteint un stade de simplement utilisable quand tu n'a pas une équipe minimum "derrière toi"...

    Alors, avant d'arriver à le vendre et d'en tirer des bénéfices!!! Donnes toi au moins jusqu'à l'horizon 2018, ce sera un objectif beaucoup plus réaliste
    J'adore ton optimisme!
    Je comptais au terme de 2 années de pratique intensive (bien que sur mon temps libre ) passer pro. Merci de me confronter à la réalité : je vais continuer à bosser à côté, tout en maintenant le cap au niveau dev et autres, je passerai donc pro en janvier 2018, soit dans 4 ans.

    Gardes juste en tête que ca a beau être réalisable, cela prend un temps bête et que la première source de découragement sera de ne pas tenir les délais trop courts que tu peux te fixer

    Citation Envoyé par koala01 Voir le message
    Je te le répète, mon but n'est pas de te décourager, loin de là.
    Je te remercie au contraire de confronter à la réalité

    bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FLASH 8] Intelligence Artificiel Pour Jeux Flash
    Par TRUNKS-SSJ7 dans le forum Flash
    Réponses: 22
    Dernier message: 03/09/2006, 09h47
  2. Config pour jeux
    Par PanTheoN dans le forum Ordinateurs
    Réponses: 17
    Dernier message: 14/02/2006, 20h41
  3. Recherche moteur et langage pour jeux
    Par elitost dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 15/03/2005, 12h02
  4. Quel langage pour jeux vidéo ?
    Par dark angel dans le forum Développement 2D, 3D et Jeux
    Réponses: 32
    Dernier message: 09/01/2005, 19h28
  5. Editeur de MAP en delphi pour jeux directX
    Par PetitScorpion dans le forum DirectX
    Réponses: 5
    Dernier message: 09/07/2002, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo