J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay. Hormis la part de faisabilité, les grosses difficultés de programmation et de budget et de temps qu'un projet de cette envergure rencontre, je me cantonne à l'aspect du choix technologique. Unreal engine va surement faciliter pas mal de choses mais le sujet n'est pas là.
De nos jours en 2015, Est-ce que le C++ est toujours aussi performant et utilisé
- dans le domaine des jeux AAA actuels (the witcher 3, GTA5)
- dans mon cas?
Alors on dit que le C++, c'est dur avec la notion de gestion de mémoire, qu'il vaut mieux utiliser Java plus simple et utilisé par tout le monde.
Donc je vois une relation
- performance du langage, niveau et besoin de sophistication du jeu vidéo souhaité
- difficulté à maitriser le langage (expertise ou pas, les JV AAA demandent un langage pointu qui en plus est difficile à maitriser)
- facilité de recrutement de codeur du programme (Java plus répandu, donc plus de codeurs recrutables - C++ plus difficile et moins utilisé, moins de codeurs recrutables)
Je dois donc jongler avec ces repères pour avoir une orientation plausible et pas trop catastrophique.
Voyez-vous les nouvelles tendances de langage utilisé dans le monde du jeu vidéo style AAA (je ne parle pas des candy crush &co hein)
Etant donné que j'ai plus un profil d'entrepreneur que programmeur (bon ok un passage en deug info), je souhaite vos précieux avis, qui pourraient m'éviter quelques boulettes et le recrutement de codeurs.
Alors on dit que le C++, c'est dur avec la notion de gestion de mémoire, qu'il vaut mieux utiliser Java plus simple et utilisé par tout le monde.
Connerie. On n'a pas besoin de gérer manuellement la mémoire en C++. Et il y a un paquet de développeur Java qui se targuent de le maîtriser alors que ce n'est pas le cas.
Sinon pour le reste, les questions sont globalement hors de propos. Cela fait très longtemps que les créateurs de jeux vidéos n'utilisent plus un unique langage pour leur travail. C'est plutôt de l'ordre de la dizaine de langage différents selon quelle partie on est en train de réaliser.
EDIT : sans compter qu'une part monumentale du travail se trouve dans le design des éléments du jeu.
Je dirais pour commencer que la durée de vie d'un langage n'a pas grand chose à voir avec ses qualités et défaut. Un langage comme COBOL continue de vivre, alors que c'est un langage très loin des critères de qualité des langages "modernes". Le C++ continuera a vivre encore longtemps, même si c'était un langage tout moisi (ce qui n'est pas le cas, bien sûr).
Je pense que l'on a une approche plus raisonnable des langages de nos jours. Avant, on pouvait rejeter le C++ et utiliser le Java, parce que le C++, "c'est compliqué à utiliser". De nos jours, on va utiliser le C++ bas niveau pour le code critique, le C++ "normal" (sans gestion manuelle de la mémoire) pour du code non critique, utiliser du Python pour scripter les applications, écrire une partie en C# ou Java ou Brainfuck, etc. Bref, utiliser l'outil qui répond à chaque besoin.
Du coup, je n'ai pas l'impression que l'on soit en manque de dévs C++ ou en manque de boulots à leur donner, bien au contraire. Même si les ordinateurs sont plus puissants, on a toujours des contraintes de performances, ou économie d'énergie, ou autre, qui font que le C++ reste très intéressant dans beaucoup de domaines (et de plus en plus de domaines : embarqués, serveurs, etc)
Par exemple, dans le cas spécifique des jeux, on va avoir des gros besoins de devs très pointus pour la partie création du moteur de jeux, du moteur de rendu, la gestion du réseau, avoir pleins d'effets, etc. Mais aussi beaucoup de besoins de devs non C++ pour le game play, les outils de création du jeux, etc.
Bref, le C++ reste très intéressant (ou pas... ne faites pas de C++, ça me permet de demander un plus gros salaire s'il y a moins de devs C++ sur le marché de l'emploi ), mais cela ne veut pas dire que c'est intéressant pour toi. Tu n'auras probablement pas les moyens de créer une équipe spécialisée pour travailler sur le moteur de jeux ou de rendu. Donc il est bien plus intéressant pour toi de commencer par constituer une équipe de personnes qui auront un impact direct sur le jeux (graphiste, game designer, game level, compositeur, etc), qui utiliseront les outils existants. Et par le suite, lorsque l'équipe sera plus développée et que le besoin se présentera (implémenter certaines fonctionnalités pour personnaliser le moteur de jeux que vous utiliser par exemple), recruter des devs C++. Pas avant.
HS : un résumé d'une bonne approche de conception d'un jeu :
Le C++03 est dépassé depuis que le C++11 est sorti, et aujourd'hui on est à l'époque du C++14 (et dans un peu plus de deux ans normalement, le C++17 qui devrait encore nous apporter pas mal de changements modernes).
Bref, le C++ a encore de très beaux jours devant lui, mais il est certain que la gestion manuelle de la mémoire est clairement dépassé (sauf cas très exceptionnels bien sûr..), mon avis est qu'une fois qu'on a goûté au RRID (aussi appelé RAII), on ne peut plus s'en passer.
En effet, la complexité technologique doit m'obliger à rester prudent. Donc une approche lean est pas mal appropriée. Il y a déjà assez à faire avec le scénar, direction artistique et autre game design, faut pas porter trop de poutres non plus.
Après si les jeux AAA sont la plupart en c++, tout du moins le coeur du langage à ce que je vois, bah ca m'offre 2 choix
- revoir l'ambition à la baisse techniquement, demander un truc qui soit au niveau de java (candy crush ?). Enfin, faire un jeu CCC qui ne soit pas trop gourmand avec un bon design innovant... jouer sur une autre corde quoi
- mettre les pieds dans le plat ou "mode banzai même pas mal". Apprendre, exercer et réaliser. Avec en tête Just do it (et autres mantras)
A la limite, faudrait que je trouve un projet pas trop ambitieux, mais nécessitant du c++, histoire d'aller crescendo.
- une dizaine de langages dans un jeu AAA? omg, bonjour les dégats. J'imagine même pas la gestion de projet derrière. Après si un GTA5 nécessite plusieurs années de production alors que les gars ont déjà les 4 premiers GTA comme base, ça promet pour les jeunes studios.
Edit: Je suppose que l'IA est généralement codée en c++ non ? Tous les Nao et autre asimo.
l'IA dans les JV (qui est généralement pourri), plutot python non?
Au contraire, l'IA est souvent faite à l'aide de scripts qui sont bien plus haut niveau et bien plus faciles à manipuler. Les langages de règles permettent bien plus de libertés, à condition d'avoir la bonne interface.
Sinon, ça fait maintenant déjà 5 ans mais face de bouc a transformé son code PHP en C++ dans le but de le rendre plus performant. Dans cette optique, il semblerait que la charge CPU des serveurs ait été divisée par 2.
En revanche, ça ne sert à rien de faire un jeu C++ tout seul, tu vas probablement abandonner avant que ça n'aboutisse par faute de temps à y consacrer ou de résultats. De nombreux jeux sortent en flash, java, html5,... et sont joués par de nombreux joueurs occasionnels.
Quant aux jeux AAA, as-tu compté le nombre de personnes ayant participé au développement ? As-tu compté le nombre de personnes que tu étais ? (à part en étant schizophrène, tu devrais répondre 1 à la 2ème question). Je connais un jeu indépendant développé en C++ (pour le moteur de jeu) et entièrement basé sur le script pour le reste. Ils sont actuellement 4 ou 5 à plein temps dessus et pourtant, il est en développement depuis maintenant presque 2 ans.
Pour moder un jeu, il est également plus simple de le faire dans un langage de script de haut niveau qu'en C++ car il y aura une communauté bien plus importante qui pourra en faire et donc faire vivre ton jeu.
Cobol était moribond en 1991, Fortran aussi, on allait voir ce qu'on allait voir, le C lui même était condamné...
25 ans plus tard, on a vu, le C se porte très bien, merci pour lui, les deux dinosaures (COBOL & Fortran) ne manifestent aucun signe d'extinction, quant au petit Java, qui ne devait pas passer l'hiver (mais ça c'était un peu plus tard )...
Un jeu AAA c'est en données corrigées des variations saisonnières (euphémismes bien connu pour dire que ça augmente de façon soutenue) entre 500 et 1000 AH. Combien peux tu mettre sur la table? 40? 50 ans ? tu es très loin du compte...
J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay.
Qu'est ce que tu as déjà fait avant cela ? Quelle est ton expérience ? Montre nous quelques projets que tu as déjà fait.
un projet amateur d'action RPG il y a pas mal d'années, 10 ans en fait, avec ogre. Mais pas de démo à l'appui. La cata à l'époque. (projet Arcancia)
Actuellement,
- pas de compétences en prog (de solide en tout cas)
- temps limité (pour le projet, et je suis plus un étudiant), ne peux pas consacrer 2 ans full time (en tout cas sans revenus réguliers)
- peu de ressources financières
Mais j'ai une envie de dingue, et surtout la prudence face aux longs et complexes projets. Bref, je n'ai que ma b... et mon couteau avec une expérience professionnelle hors programmation.
Si on fait un diagramme mes compétences/ jeu souhaité / XP et ressources exigé bah c'est sur que c'est pas très favorable pour ma position actuelle.
Mais le fait de savoir que non seulement le c++ se porte bien, mais qu'en plus il y a pas d'alternatives pour faire des AAA performants.
Je vais surement me focaliser sur les casual tout d'abor, le AAA en parallèle mais c'est vraiment avec prudence avec des jalons réguliers.
J'ai un projet dans les jeux vidéos, style silent hill avec les standards actuels en terme de graphisme et de gameplay.
Qu'est ce que tu as déjà fait avant cela ? Quelle est ton expérience ? Montre nous quelques projets que tu as déjà fait.
un projet amateur d'action RPG il y a pas mal d'années, 10 ans en fait, avec ogre. Mais pas de démo à l'appui. La cata à l'époque. (projet Arcancia)
Actuellement,
- pas de compétences en prog (de solide en tout cas)
- temps limité (pour le projet, et je suis plus un étudiant), ne peux pas consacrer 2 ans full time (en tout cas sans revenus réguliers)
- peu de ressources financières
Mais j'ai une envie de dingue, et surtout la prudence face aux longs et complexes projets. Bref, je n'ai que ma b... et mon couteau avec une expérience professionnelle hors programmation.
Si on fait un diagramme mes compétences/ jeu souhaité / XP et ressources exigé bah c'est sur que c'est pas très favorable pour ma position actuelle.
Mais le fait de savoir que non seulement le c++ se porte bien, mais qu'en plus il y a pas d'alternatives pour faire des AAA performants.
Je vais surement me focaliser sur les casual tout d'abor, le AAA en parallèle mais c'est vraiment avec prudence avec des jalons réguliers.
- Edité par foxdigital il y a 22 minutes
En effet, il faut arrêter ton projet, tu vas dans le mur.
Tu sous estimes beaucoup le boulot.
Les jeux de ce genre sont développés à plein temps par des professionnels très qualifiés, organisés et nombreux. Pour ton bien arrête maintenant, c'est comme si tu nous disais que tu sais planter un clou dans une planche, et que tu veuilles construire un château de grand architecte.
Je crois qu'aucun amateur ou presque n'a réussi à faire ce genre de projet, même des gens qui programment depuis des années ont jeté l'éponge sous estimant l'ampleur de la tâche.
Bonjour,
La réalisation d'un jeu AAA nécessite plusieurs années et des centaines de professionnels (ainsi que plusieurs langages comme je viens de l'apprendre, ce que je trouve assez étonnant) mais prenons les jeux indé (pas Minecraft qui est en Java comme l'a bien fait remarquer @Lynix -> j'ai beaucoup ri) ceux-ci sont écris en un seul langage non ? Et puis il existe des bibliothèques permettant de réaliser des jeux vidéos (la SFML pour le C++ par exemple). Si @foxdigital le veut, il pourrait réaliser un jeu indé tout à fait acceptable et innovant avec peut-être même une chance de succès commercial grâce à une telle bibliothèque (ou une autre, notre chaton favori ( @Lynix ) serait sûrement très heureux si tu utilisais le moteur Nazara pour créer un jeu avec succès (commercial ou pas)).
Attention : je ne dis pas que ce serait facile mais réalisable.
A++
EDIT : sur l'orthographe
Bonjour, La réalisation d'un jeu AAA nécessite plusieurs années et des centaines de professionnels (ainsi que plusieurs langages comme je viens de l'apprendre, ce que je trouve assez étonnant) mais prenons les jeux indé (pas Minecraft qui est en Java comme l'a bien fait remarquer @Lynix -> j'ai beaucoup ri) ceux-ci sont écris en un seul langage non ? Et puis il existe des bibliothèques permettant de réaliser des jeux vidéos (la SFML pour le C++ par exemple). Si @foxdigital le veut, il pourrait réaliser un jeu indé tout à fait acceptable et innovant avec peut-être même une chance de succès commercial grâce à une telle bibliothèque (ou une autre, notre chaton favori ( @Lynix ) serait sûrement très heureux si tu utilisais le moteur Nazara pour créer un jeu avec succès (commercial ou pas)). Attention : je ne dis pas que ce serait facile mais réalisable. A++ EDIT : sur l'orthographe
J'ai fais un bomberman basique en 3D pour mon école en 1 mois et demi et on a utilisé 3 langages. C'est pas parce que le jeu est simple que les technos le sont.
Tu as raison mais reste qu'on bomberman basique est plus abordable qu'un jeu AAA .Ce pourrait être un projet abordable pour le PO. Mais quels langages as-tu utiliser ?
Si tu veux faire un AAA, te faut un moteur AAA, y en a pas 300 de dispo et en faire un n'est certainement pas a ta porte. Go UE4 et fais ton jeu en blueprint.
Oui mais il faut un scénario AAA, des musiques AAA, des dialogues AAA, un gameplay AAA, du marketing AAA, des textures AAA, et plein d'autres chose AAA. Et le seul moteur qui te fournisse tout ça en même temps, c'est un jeu AAA.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Discord NaN. Mon site.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html