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 :

Quelle route prendre pour apprendre le C++ et la programmation de moteurs de jeux ?


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2022
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 25
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 12
    Par d�faut Quelle route prendre pour apprendre le C++ et la programmation de moteurs de jeux ?
    Bonjour, j'ai 21 ans et je me suis mis a la programmation en C++ en suivant un livre nomme "C++ Primer", j'ai installe Vim et j'ai un peu pris en main le terminal sur windows 10 et je m'amuse pas mal a ce jour avec tout ca

    J'avais l'habitude de regarder des videos de gens en train de programmer leur propre jeux sur youtube du style game jams et autres ainsi que leurs propres moteurs de jeu et sachant que je suis la route auto didacte j'aurai aime avoir quelques conseils pour sortir avec des bases solides et surtout quelle route prendre si je souhaite par exemple apprendre a faire un moteur de jeu ? J'etais un grand fan d'un jeu qui s'appelle Cortex Command et pour lequel j'ai cru comprendre que le moteur de jeu derriere est fait de zero.

    Merci et navre si ce genre de question de debutant est un peu idiote mais j'en apprend toujours plus chaque jour !

  2. #2
    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, et bienvenue sur le forum.

    Le probl�me, c'est que "un jeu", quel qu'il soit, ca demande un tas de comp�tences dans �norm�ment de domaines particuliers. Car on y trouve entre autres
    • un sc�nario / une histoire
    • une physique
    • un rendu
    • du son
    • une certaine "intelligence artificielle"
    • une certaine forme d'al�atoire
    • et plein d'autres choses encore

    Alors, tu te doute que, si l'id�e est de faire ton moteur de jeu, de cr�er un programme qui puisse aider "un quidam" � cr�er "plus facilement" son jeu, il faut d'autant mieux maitriser ces domaines que pour les rendre "facile d'acc�s" � celui qui voudra l'utiliser pour son jeu.

    Bien sur, on ne retrouve pas tous ces ingr�dients dans tous les jeux. Par contre, il y a aussi des jeux dans lesquels on retrouvera d'autres ingr�dients auxquels je n'ai pas forc�ment pens� et dont tu pourrais avoir besoin

    Alors, autant le dire tout de suite: il n'est pas impossible (car rien n'est impossible) de cr�er son propre moteur de jeux. Et je suis m�me convaincu que cela peut t'apprendre et t'apporter �norm�ment de le faire. Seulement, ce n'est clairement pas le genre de projet dans lequel il faut se lancer "sans rien", sans "un minimum" de connaissances � la base.

    Si, en plus d'apprendre les finesses du langage -- et Dieu sait que le C++ en contient �norm�ment -- tu dois commencer � apprendre les maths, le calcul matriciel et vectoriel, � utiliser les diff�rentes API graphiques (directX, OpenGL ou Vulcan), le traitement du son et de l'audio, j'en passe et de meilleures, tu n'en verras sans doute jamais le bout.

    Attention, cela ne veut pas dire que je te d�conseille d'essayer. Bien au contraire. Cela veut juste dire que je te conseille ... de ne pas essayer tout de suite. D'attendre d'avoir la "certitude" (si tant est qu'on puisse acqu�rir cette certitude un jour) de maitriser suffisamment le langage pour n'avoir pas � t'inqui�ter d'avoir encore un pan entier du langage � apprendre en plus de tout le reste.

    L'id�e d'utiliser les moteurs existants -- il y en a de tr�s bons qui sont totalement gratuits comme UnrealEngine, Godot et autres -- une fois que tu te sentiras � l'aise avec les langage pourrait s'av�rer des plus int�ressantes, car elle te permettrait sans doute de te faire une id�e "plus pr�cises" des besoins que les autres d�veloppeurs ont rencontr�s et de la mani�re dont ils y auront apport� une r�ponse

    Et surtout, n'oublie pas une chose:

    Lorsque l'on d�bute en programmation, la somme de tout ce que l'on ignore est largement plus importante que l'ensemble de ce que l'on sait (ou que l'on croit savoir)
    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

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 131
    Billets dans le blog
    150
    Par d�faut
    Bonjour,

    Globalement, je suis d'accord avec koala01. J'aimerai juste ajouter quelques avis sur la question.

    D'abord, n'h�sitez pas � lire l'article d�di� � la question : https://jeux.developpez.com/tutoriels/jeux-video/

    Ensuite, il faut savoir ce que vous voulez.
    Est-ce que vous voulez :
    • cr�er un jeu vid�o ;
    • cr�er un moteur de jeu vid�o ;
    • apprendre � programmer.


    1) Cr�er un moteur de jeu vid�o.

    Pour cr�er un moteur de jeu vid�o (ou ne serait-ce qu'une bo�te � outils pour cr�er son jeu (dans l'id�e, juste une biblioth�que � utiliser dans vos programmes, qui facilite la cr�ation du jeu)), il faut avoir d�j� de l'exp�rience dans la cr�ation d'un jeu vid�o. En effet, dur de cr�er une telle boite � outil, sans conna�tre les besoins et les complexit�s.
    De plus, avec cette voie, vous n'obtiendrait pas de jeu vid�o � la fin. Donc, la d�motivation arrivera vite et vous ne gagnerai que de l'exp�rience en programmation (mais il faut savoir programmer avant de se lancer dans cette t�che).

    En bref : ne le faites pas. Il y a plein d'outils existants et cela n'est int�ressant que pour : les gens qui savent d�j� programmer et qui adore faire de l'architecture et approfondir des concepts de programmation.


    2) Cr�er un jeu vid�o

    Cr�er un jeu vid�o, cela para�t cool (et c'est cool). Mais c'est aussi plut�t complexe (c'est une sp�cialisation dans le domaine de la programmation, qui poss�de lui m�me des sp�cialisations). Aussi, un jeu vid�o, cela n�cessite pas mal de choses : graphismes, sons, level design, polish...
    Si vous partez dans la voie de la programmation pure : cela vous prendra beaucoup de temps et, avec cela, la d�motivation arrivera. En bref, en programmation pure, c'est dur de faire un jeu vid�o et encore une fois, il faut avoir une premi�re exp�rience (souvent �chou�e) pour r�ussir.

    Du coup, pour simplifier la chose, il faut utiliser un moteur de jeux vid�o (Godot est super (et r�ellement 100 % gratuit, m�me lors de la vente du jeu (mais nous n'en sommes pas l�)), GameMaker, Construct et Unity et Unreal Engine). Cela permettra d'avoir un r�sultat plaisant rapidement et permettra d'apprendre ce qu'est la cr�ation d'un jeu vid�o. La programmation n'y ai pas �clips�e, elle est juste concentr�e � la partie la plus int�ressante. Donc, vous apprendrai la programmation, tout en vous faisant plaisir .

    3) Apprendre � programmer

    Si votre objectif, c'est d'apprendre � programmer (peu importe le r�sultat et surtout, sans vouloir faire un jeu vid�o), alors dans ce cas, partez dans la voie qui vous amuse/int�resse le plus. Et m�me pour les jeux vid�o, on est pas oblig� d'utiliser le C++.


    Bref, n'h�sitez pas � lire l'article que j'ai mentionn� plus o�. Les informations y sont plus concr�tes et moins brouillonnes.
    La chose � retenir est : amusez vous !
    Aussi, les bases solides viennent en programmant (c'est en programmant que l'on devient programmeur).

    Un dernier avis (qui me vient de mon exp�rience) : pour d�marrer, faites des petits projets. Aussi, je vous d�conseillerai de commencer par refaire le jeu de votre c�ur. Cela viendra plus tard (et d'apr�s moi, l'int�r�t ne perdure pas vraiment). Jouer � un jeu, c'est cool. Mais le programmer est une t�che compl�tement diff�rente et qui n'est pas n�cessairement aussi cool que d'y jouer .
    Vous souhaitez participer � la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui conna�t l'erreur, conna�t la solution.

  4. #4
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2022
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 25
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 12
    Par d�faut
    Bon alors je vais juste rester sur du c++, merci pour vos r�ponses !

  5. #5
    Invit�
    Invit�(e)
    Par d�faut
    Salut

    Apprendre le C++ est une excellente initiative, c'est l'un des langages les plus utilis�s dans le d�veloppement de jeux vid�o professionnel (surtout pour la cr�ation de moteurs) !
    Maintenant, la plus grande question � se poser est sur tes objectifs, � la fois pour ton projet de d�veloppement ainsi que sur ta carri�re pro :
    • Est-ce que tu souhaites d�velopper des jeux vid�o (et surtout scripter le gameplay) ou plut�t des moteurs de jeu, sans int�r�t pour la cr�ation d'un jeu (c'est un choix exclusif) ?
    • Est-ce que tu souhaites faire carri�re en tant que programmeur 3D (ou de moteur) ou plut�t en tant que programmeur gameplay ? Voire seulement faire �a en tant que passion ?


    Si tu souhaites d�velopper des jeux vid�o professionnels, tu dois absolument utiliser des moteurs de jeu grand public plut�t que de concevoir le tien. Tu as, dans l'ordre, les trois moteurs les plus populaires :
    • Unreal Engine : moteur 3D (et, dans une moindre mesure, 2D) tr�s populaire chez les studios AAA et les ind�pendants que tu peux l'utiliser via deux langages compl�mentaires : le C++ et le Blueprint (langage visuel con�u pour le moteur). Les sources sont disponibles si jamais tu veux voir � quoi ressemble un moteur pro (attention, il n'est pas Open Source mais seulement Source-available).
      Exemple de jeux cr��s avec Unreal : Tekken 7, Street Fighter V, Kena: Bridge of Spirits, Batman: Arkham Knight, Kingdom Hearts IV, Fornite, etc. ;
    • Unity : moteur 2D et 3D extr�mement populaire chez les ind�pendants, et tr�s performant pour des jeux mobiles ou peu exigeant (contrairement � Unreal qui est plut�t fait pour des jeux utilisant les derni�res technos). Il utilise deux langages : le C# et le langage visuel Unity VisualScript.
      Exemple de jeux con�us avec Unity : Ori & the Will of the Wisps, Cuphead, Hearthstone, Animal Crossing: Pocket Camp, Mario Kart Tour, etc. ;
    • Godot Engine : moteur exclusivement utilis� par des ind�pendants, avec plusieurs langages (C#, GDScript, Visual Script ainsi que des bindings dont le C et le C++, officiellement). Il progresse de plus en plus et est, pour moi, le meilleur moteur Open Source � l'heure actuelle.


    Pour la popularit� des moteurs, tu as un outil qui analyse automatique les jeux publi�s sur Steam (pas 100% fiable mais c'est toujours mieux que rien). Si on enl�ve les outils de d�veloppement con�us pour les d�butants (GameMaker, RPG Maker, Ren'py) et les outils obsol�tes (XNA n'existe plus, et l'alternative Monogame n'est pas du tout recommandable par rapport � Unity), alors on retrouve bien ces 3 moteurs.

    Bien s�r, il existe d'autres moteurs que ceux-l�, mais je te conseille vraiment les plus populaires, � la fois pour le march� du travail (Unreal et Unity sont list�s dans plein d'offres d'emploi), mais aussi pour te faciliter la t�che (gigantesque communaut�, plein de tutoriaux/ cours sur Udemy, perspectives d'avenir au top, etc.). Les moteurs inconnus au bataillon (Lumix, etc.) ou d'une ancienne g�n�ration (Panda3D, Esenthel Titan Engine, etc.) sont destin�s � des projets amateurs et des personnes tr�s exp�riment�es qui veulent "parfaire leurs connaissances", mais certainement pas pour cr�er des jeux AAA.
    Tu as aussi des moteurs pour les d�butants (GameMaker, Construct, etc.) voire des moteurs simplifi�s (RPG Maker, GDevelop, GameSalad, Buildbox) qui permettent de faire des jeux pro aussi, mais en occultant l'aspect technique. Du coup, les jeux qu'on peut cr�er avec sont plut�t "limit�s" par rapport � Unreal/ Unity.
    Il existe aussi deux moteurs qui semblent professionnels mais que je d�conseille fortement : CryEngine (documentation vague et obscure, communaut� presque inexistante et licence d'utilisation hyper restrictive, cf. point 1.6) et Amazon Lumberyard/ Open 3D Engine (O3DE), moteur bas� sur CryEngine, quasiment pas utilis� et qui risque, au pire de finir comme Autodesk Stingray/ Bitsquid (abandonn�), au mieux d'�voluer et de devenir un bon moteur mais seulement d'ici quelques ann�es.

    Pour r�it�rer mes propos, pour un dev solo ou une petite �quipe, il est impossible de cr�er son propre moteur de jeu et de concevoir un v�ritable jeu vid�o.
    Il suffit simplement de voir les studios AAA, avec un gigantesque budget et une horde de programmeurs exp�riment�s, abandonner leur(s) moteur(s) pour basculer vers Unreal Engine 5, m�me tr�s r�cemment : CD Projekt Red (prochain The Witcher), Crystal Dynamics (prochain Tomb Raider), GSC Game World (STALKER 2 en cours de dev), etc.
    Je sais bien qu'il y a certains d�veloppeurs ind�pendants ou amateurs qui vont te dire le contraire, et qu'un moteur que tu vas faire par toi-m�me sera plus performant car adapt� � ton jeu. Ils vont te citer, comme exemple, Ubisoft, Rockstar, Insomniac, ainsi que quelques ind�pendants (The Witness, ThinMatrix, Minecraft, etc.).
    Mais c'est un argument fallacieux et illusoire, bas� sur une m�connaissance totale de l'histoire du d�veloppement de jeux pro et une incompr�hension de la capacit� et de l'adaptabilit� des moteurs "g�n�riques" comme Unreal/ Unity (�a va prendre trop de temps d'argumenter, mais c'est facile � d�montrer).
    Les ind�pendants qui parviennent � concevoir leur moteur et cr�er des jeux sont des exceptions, et t'as autant de probabilit�s de r�ussir � cr�er un moteur + un jeu que de gagner au loto.

    En revanche, cr�er un minuscule moteur seulement dans un cadre d'apprentissage est un excellent projet (surtout si tu veux �tre programmeur 3D/ moteur), et j'estime que c'est important pour mieux comprendre l'architecture g�n�rale des moteurs et mieux se servir des moteurs les plus connus (en clair, c'est seulement pour am�liorer ton utilisation de Unity/ Unreal/ Godot/ etc., pas pour faire des jeux).
    Je peux d'abord te conseiller diff�rentes ressources, uniquement en anglais :


    Enfin, je te conseille de lire plusieurs livres de programmation mais uniquement en anglais (ou alors les meilleurs s'ils sont traduits, mais l'anglais est indispensable en informatique). C++ Primer 5th est excellent, et probablement un incontournable (m�me s'il est assez ancien et reste donc sur le C++ 11, alors qu'il y a eu plusieurs �volutions du langage depuis). Voici donc une liste avec des ouvrages int�ressants.

    Bon courage
    Derni�re modification par Invit� ; 09/05/2022 � 12h16.

  6. #6
    Membre averti
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2022
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 25
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2022
    Messages : 12
    Par d�faut
    Je prend bonne note et conseil de vos commentaires, je vais donc continuer � �tudier et pratiquer le c++ dans l'optique de pouvoir postuler en fac cette ann�e et continuer avec des projets perso auto didacte, j'avoue m'etre emball� en voyant certains g�nies programmer des petits jeux sans l'aide de moteurs Merci beaucoup !

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 131
    Billets dans le blog
    150
    Par d�faut
    Citation Envoy� par lepetitdev Voir le message
    j'avoue m'etre emball� en voyant certains g�nies programmer des petits jeux sans l'aide de moteurs
    Ce n'est pas n�cessairement impossible, mais cela ne se limitera qu'� des petits jeux et vous prendrai 95 % sur la programmation et non sur la cr�ation du jeu en lui m�me (chiffres pris au hasard). J'avais commenc� ainsi et aujourd'hui, je pr�f�re nettement prendre un moteur de jeux vid�o et avoir un r�sultat sympathique rapidement (et contrairement � ce qui se disait il y a des ann�es de cela, cela n'enl�ve pas le c�t� programmation).
    Vous souhaitez participer � la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui conna�t l'erreur, conna�t la solution.

  8. #8
    Expert confirm�

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Software Developer
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par d�faut
    Pour te donner une id�e du temps que tu pourrais passer sur la cr�ation d'un moteur de jeu, j'ai un projet personnel, Castor3D, qui n'est "qu'un" moteur 3D (donc environ un quart d'un moteur de jeu complet).
    Ca fait 16 ans que je suis dessus, et il n'est clairement pas fini
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert � rien, mais qu'il est joli (des fois) : ProceduralGenerator (G�n�ration proc�durale d'images, et post-processing).

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 131
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 131
    Billets dans le blog
    150
    Par d�faut
    En effet, mais il vous a peut �tre permis de d�crocher un job facilement, ou quelque chose de ce genre, non?
    Apr�s, �a ne peut jamais �tre fini. Le monde des jeux vid�o �voluent, les techniques progressent pour faire de meilleur rendu/son/truc
    Vous souhaitez participer � la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui conna�t l'erreur, conna�t la solution.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Quelle version utiliser pour apprendre l'UML ?
    Par MInfo25 dans le forum UML
    R�ponses: 3
    Dernier message: 14/10/2018, 19h31
  2. Cours pour apprendre les bonnes pratiques de programmation en PHP
    Par Community Management dans le forum Langage
    R�ponses: 8
    Dernier message: 08/01/2018, 17h26
  3. R�ponses: 11
    Dernier message: 27/09/2013, 13h02
  4. [XL-2003] Quelle direction prendre pour r�aliser le d�pouillement d'un tableau?
    Par mandrake57 dans le forum Macros et VBA Excel
    R�ponses: 4
    Dernier message: 09/03/2012, 21h59
  5. Quelle Distribution Serveur pour apprendre?
    Par vg-matrix dans le forum Distributions
    R�ponses: 13
    Dernier message: 24/09/2010, 17h28

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