- Apr 30, 2024
Quel langage de programmation choisir en 2024 pour créer des jeux vidéo ?
- David de Gamecodeur
- 2 comments
Alors aujourd'hui un sujet qui fâche :
Quel langage de programmation apprendre ?
Dois-je apprendre le C# comme tout le monde ?
Ou le C++ pour me faire du mal ?
Ou le Python comme à l'école ?
Si tu te poses cette question, ce n'est pas la bonne.
La question à se poser c'est : quel genre de jeux veux-tu programmer ?
2D ?
3D ?
Puis : sur quelle plateforme veux-tu que le jeu fonctionne ?
PC ?
Mobile ?
Console ?
Puis : quel genre de jeu veux-tu créer ?
Action ?
Aventure / RPG ?
Puzzle / Réflexion / Cartes ?
Maintenant le bilan :
Si tu as répondu 3D sur Mobile, et que tu es débutant, tu peux déjà aller à 70 km t'encastrer dans un mur, ça sera à peu près équivalent.
Quand on débute, on fait simple et on réduit au maximum les obstacles.
Plus il y a d'obstacles, plus tu vas abandonner et laisser ton rêve de côté !
La 3D est un obstacle.
Manipuler 2 dimensions c'est déjà complexe quand on débute. Alors 3 dimensions + les outils super lourds qui vont avec = .
De plus les jeux 3D sont exigeants niveaux graphismes. Je constate que les débutants qui prétendent faire des jeux en 3D sont la plupart du temps sur Blender, et ne codent rien. Ils font du vent en 3D...
Pour la plateforme, je vais te frustrer...
Créer un jeu pour mobile est complexe : la gestion des tailles d'écran, du touch (ça ne se gère pas comme un clic souris), le déploiement hyper complexe sur un vrai téléphone...
Et si tu veux sortir ton jeu sur les stores, compliqué sans société ! Et il faut plein de documents légaux !
Tu veux aller sur console ? Tu n'as pas le droit...
Les consoles sont un milieu fermé. Il faut un Dev Kit, un accord avec Sony, Nintendo... et il vaut mieux avoir signé un contrat avec un éditeur sous peine de voir son jeu refusé...
Tu es encore là ?
Tu l'auras compris : avant de conduire une F1, apprend à faire du Karting. C'est comme ça que tous les champions de F1 ont fait.
Apprends à programmer des jeux en 2D, sur PC.
Et des jeux simples avec peu d'éléments.
Et une fois que tu sauras voler de tes propres ailes, qui sait ce dont du sera capable ?
Mais alors, quel langage ?
Aujourd'hui, la plupart des langages permettent de coder des jeux en 2D.
Et ce n'est pas le langage qu'il faut regarder, mais le framework ou le moteur.
C'est la partie qui gère l'affichage graphique, les sons, les contrôles...
Dans un langage il n'y a pas tout ça, il n'y a que la logique !
Ce que je te conseille ?
Le langage Lua avec le framework Love2D.
Le langage C# avec le framework Monogame ou le révolutionnaire Raylib.
Le langage Python avec Pygame.
Et le top ?
Le C# avec le framework Raylib.
Pourquoi ?
Le C# pour sa puissance et son universalité (et sa POO).
Raylib pour ses performances, sa simplicité et sa polyvalence en 2D (et sa 3D accessible !).
C'est le combo 2024 à ne pas manquer !
Je bosse sur une formation sur ce thème, elle arrive dans quelques semaines, et tu peux t'y préinscrire :
https://school.gamecodeur.fr/la-revolution-raylib-programmer-facilement-des-jeux-2d-ou-3d-en-csharp
2 comments
Peut on ce lancer dans le dev de jeux en C pure? car on en parle toujours en disant que le C est le saint graal mais, personne ne veut developper de jeux en C... j'ai le sentiment que le C ne sert qu'a "apprendre" les fondamentaux et c'est tout... hors peut on apprendre le C en faisant des jeux 2D?
Oui on peut faire des jeux en pur C, voir https://www.raylib.com/ et ce jeu codé en pur C sorti sur Steam :
https://store.steampowered.com/app/2077590/Sidestep_Legends/
Le plus souvent néanmoins, le C++ est préféré, ajoutant la POO au C.