Je veux apprendre le développement d'un jeu. Quelle langue dois-je utiliser?
J'ai entendu dire que C++ et Python sont les deux langues les plus utilisés.
Lequel dois-je choisir?
Et en Python - version 2 ou 3?
Je suis à la recherche à la base de développement d'un jeu (comme un jeu de course de voiture, par exemple) et PAS de flash/iphone/jeux par navigateur.
Aussi je ne veux pas sauter en C#.
C++ vs python est ce que j'envisage...
aussi, il serait utile, si tu pouvais me laisser savoir quelques ressources en ligne pour commencer.
- Avez-vous une expérience de la programmation? Qui va influer sur les réponses de manière significative.
- oui, j'ai le C, C++ et de base de programmation Java de l'expérience (~5 ans)
- à mon humble avis flash/silverlight (2D) les jeux sont de plus facile que de course de voiture (sans doute en 3D)
- Je suis un ancien programmeur de jeux, mon conseil woud être d'apprendre le C++, et également étudier votre maths.
Vous devez vous connecter pour publier un commentaire.
Dépend du type de jeu. Pour les "gros" jeux", certainement le C et le C++ c'est ce que les gros moteurs et middleware sont écrites (p. ex., Gamebryo, Irréel, id tech, FMOD Système de Son, la RAD Game tools stuff etc.).
Python est utilisé dans certains jeux comme un langage de script (pour la logique du jeu, des missions, parfois IA), mais il y a aussi LUA et probablement beaucoup d'autres, mais python est certainement utilisé ici.
Pour les "casual" de jeux, vous pouvez également envisager Flash/ActionScript (Jeux par Navigateur sont aussi des jeux, et c'est un gros marché) ou C#/XNA (même si cela n'a pas vraiment).
Si vous souhaitez développer des jeux pour l'iPhone, l'Objective-C est votre meilleur pari que les solutions de rechange (Flash et MonoTouch) ont encore à prouver eux-mêmes.
Ce que vous voulez vraiment faire dans le développement de jeux? Voulez-vous travailler sur un moteur Graphique? Ou Le Son? L'IA? Jeu De Logique?
Tout dépend de ce que vos objectifs sont. En tant que débutant, choisissez celui que vous pensez est le plus facile et le début de l'apprentissage. Vous avez besoin d'apprendre à programmer avant de vous inquiéter de ce que la langue à utiliser pour quoi.
Lorsque vous êtes assez mature pour lister les avantages et les inconvénients de chacune d'elles sur votre propre, alors vous êtes assez mature pour poser cette question (et en dépit de la façon dont cela puisse paraître, il n'est pas logique circulaire).
Vouloir "Apprendre le développement d'un jeu" est très, très vague.
Si vous souhaitez développer votre propre, petits jeux, pour s'amuser, tout en apprenant comment la structure de l'application, rendez-vous avec python.
Si vous voulez en savoir plus hard-core graphiques de programmation, ou d'acquérir de l'expérience en vue de travailler dans l'industrie, je dirais aller avec c++.
Je pense que la réponse dépend beaucoup de votre niveau de compétences et d'objectifs. Notez que je ne suis certainement pas un expert dans le domaine.
Cela dépend de ce genre de jeux. Je ne pense pas qu'il y a beaucoup de graphiques 3D jeux programmés purement en Python. C++ est utilisé pour les graphiques 3D car il est très rapide dans les calculs numériques nécessaires. Python ne peut pas rivaliser avec elle. Si vous voulez faire un graphique 3D voiture jeu de course Mario Kart, vous avez besoin d'apprendre le C++, pas de Python.
Cependant, comme San Jacinto dit, la question est un peu discutable à ce stade.
SDL
pygame.org etOgre3
python-ogre.org Aussi,numpy
numpy.scipy.org en fait numérique de la programmation avec python possible.si vous souhaitez être embauchés dans l'industrie, obtenir de bons à C++. Bien réel. Comme, pieux.
si vous voulez Faire les Choses et de les expédier un petit jeu, avec une petite équipe (par exemple, juste vous), l'utilisation de python, C++ est une optimisation prématurée.
Python2 a une meilleure prise en charge bibliothèque de jeu trucs, PyGame sera mis en place votre fenêtre et vous donner opérations 2D, PyOpenGL faire amateur de trucs, Panda3D, etc.
Donné que vous voulez apprendre le développement d'un jeu et n'ont pas beaucoup d'expérience avec elle, je recommande de commencer avec Python 2 et utiliser la dernière version de PyGame prend en charge.
http://www.pygame.org/
Il y a énormément de jeux, écrit en Python avec PyGame, qui sont disponibles sous forme de code source à télécharger et à l'étude. Si jamais vous avez un travail de programmation de jeux, les chances sont que le moteur de jeu qu'ils utilisent, ne sera pas celui que vous avez utilisé avant, de sorte que vous aurez besoin de traduire votre expérience dans leur moteur et de l'API. Par conséquent, Python ne sera pas un handicap en aucune manière de vous. En fait, parce qu'il vous permet de vous libérer d'un grand nombre de détails, vous pouvez vous concentrer sur l'apprentissage, le développement d'un jeu, pas des pointeurs et les structures et la syntaxe et les erreurs de compilation, etc.
Plus tard, vous pouvez vous déplacer dans C si vous avez déjà le jeu les concepts de la programmation bas pat. Ou, vous pouvez trouver que vous préférez fouiller dans les entrailles d'un moteur de jeu et de peaufiner les pilotes etc. Dans ce cas, le bâton avec PyGame et de travailler sur des améliorations et des améliorations.
Je donnerais des conseils différents pour un programmeur expérimenté qui voulait faire une carrière dans la programmation de jeux vidéo.
Quelle langue que vous connaissez le mieux? Si votre but est d'apprendre le développement d'un jeu, ne pas rendre le processus beaucoup plus difficile en essayant d'apprendre le C++.
Si le rendement est essentiel d'utiliser C++.
De nombreux jeux écrire le moteur de base en C++ alors liaisons python pour le moins critique pour les performances de code (logique de jeu, des missions, de l'IA). Un bon exemple de cela est la Civilisation 4. Cela rend aussi le jeu extensible.
Personnellement, je ne recommande C# /XNA pour un nouveau développeur et à l'aide d'un cadre comme un Ogre.
Je voudrais commencer avec le C++ qui est le langage de choix pour la plupart des jeux d'aujourd'hui. Il y a un certain nombre de jeux développés sur DirectX à l'aide de C# dans un environnement géré, en utilisant XNA cadre de travail. Découvrez ce site. XNA Developer Center
C++ est le langage utilisé pour écrire le jeu, au moins pour le graphique complexe intensif des jeux comme World of Warcraft. Des langages comme Python sont souvent utilisés pour les scripts des comportements dans le jeu.
D'autre part, l'un des principaux de la catégorie des jeux "casual" jeux catégorie, qui comprend les plus simples, des jeux comme Sudoku jeux ou de la simple résolution de puzzle jeux. Ces peut-être écrit dans un très langage de haut niveau comme Python.
Plus susceptibles que Python, toutefois, léger jeux sont généralement écrites dans la mémoire Flash, en utilisant le langage de script en Flash (ActionScript). Il s'avère que c'est effectivement une saveur de Javascript. Javascript, à son tour, est un peu comme Python.
Donc, ma suggestion est que vous apprendre le langage Python, et ensuite apprendre le Javascript. Écrire quelques jeux simples dans votre choix de PyGame, Flash, ou même dans un navigateur Javascript. Alors si vous voulez continuer à apprendre le C++, aller et d'apprendre cela, mais garder à jouer avec le game design dans votre temps libre, l'écriture des jeux occasionnels.
Je pense que votre meilleure approche est de commencer avec une langue qui vous est familière. L'apprentissage sur le développement de jeu vous oblige à être à l'aise avec vos outils et à se concentrer sur les défis spécifiques qui vient avec le terrain, plutôt que de la langue.
Commencez avec les principes fondamentaux: comment gérez-vous votre boucle de jeu, comment faites-vous pour charger des ressources externes, comment faire pour sauvegarder et restaurer l'état, la façon dont vous gérer votre intelligence artificielle et dont les trajectoires algorithmes sont plus efficaces pour vos besoins? Comme vous commencez à apprendre, vous verrez architecturale et fonctionnelle tendances qui se dégagent.
Que votre projet se développe, vous allez commencer à s'attaquer à de nouveaux défis tels que la création de réseaux, l'optimisation et l'utilisation de cadres pour faire le jeu d'un développement plus efficace.
Donc, en général, je vous conseille d'aller pour quelque chose de facile que vous êtes à l'aise avec, comme Python (il y a de merveilleuses des bibliothèques et frameworks disponibles). Apprendre les principes fondamentaux de là, et à partir de là, vous pouvez explorer d'autres options comme le C++ (sérieusement utilisé dans l'industrie) et leurs les cadres existants. Je garderais pour non mobiles, non-développement de flash pour l'instant, que le développement dans ces environnements présente des défis supplémentaires et des contraintes qui sont assez spécifiques.
Je suis de l'esprit que vous voulez savoir beaucoup de langues, et comment le même "programme" recherche dans les différentes langues. Ensuite, vous pouvez prendre de meilleures décisions sur ce que les parties d'un programme devrait être dans les langues. Vous pouvez utiliser n'importe quelle langue écrire un jeu. Les concepts eux-mêmes derrière l'organisation des données à exécuter sont plus importants que la langue, et la pratique des différentes langues vous aide à devenir à l'aise avec ces concepts. Ensuite, vous pouvez "pick up" et d'obtenir une sensation pour les nouveaux langages rapidement sans beaucoup de ré-apprentissage.
Alors je pense qu'il ne fait pas de mal d'essayer d'apprendre et de pratiquer plusieurs langues à la fois, même en tant que débutant. C++ est certainement largement utilisé dans l'industrie de jeu de programmation (où elle ont survécu plus que dans beaucoup d'autres émissions de domaines). OpenGL vient habituellement avec que pour de hautes performances de la programmation 3d. Python a des bibliothèques pour écrire des jeux, est considéré comme "facile" du point de vue syntaxique (personnellement je suis d'accord). Vous pouvez sauter C++ pour l'instant et de se concentrer sur C et python, et de revenir au C++ après des études orientées Objet.
Vous voulez apprendre les concepts de base de ce que votre code n', et l'efficacité de compromis. Pour écrire des jeux plus complexes, vous simplement besoin de plus de connaissance - la connaissance de structures de données qui sont les plus efficaces pour les exigences. Comment structurer vos programmes afin qu'ils ne tombent pas à part dans votre tête quand vous voulez corriger un bug ou d'ajouter une fonctionnalité. Avec un peu rudimentaire de connaissances en programmation et en Python, vous pouvez écrire un très bon jeu sans graphiques pour la pratique. Et il n'y a PyGame et d'autres bibliothèques pour les graphiques, le son, etc.
Cela dépend de votre cible.
Par exemple, si jamais vous voulez développer des jeux pour la Xbox 360, vous avez besoin de C# et XNA Game Studio.
XNA Game Studio est un ensemble de projets C# et bibliothèques pour une utilisation avec Visual Studio (toutes les éditions, y compris Express) pour la création de la Xbox 360 et Windows/jeux DirectX.
La plus simple et la plus rapide pour apprendre la programmation de jeux vidéo avec Python/PyGame.
Python est une croix-plate-forme, byte code compilé, facile à apprendre le langage de programmation avec une vraiment une syntaxe propre à en optimiser la lisibilité. Il a une tonne de bibliothèques et de la documentation écrite pour elle.
PyGame est un jeu en 2D cadre de développement de l'écrit en python qui est vraiment simple à apprendre, avec beaucoup de tutoriels et de la documentation écrite pour chaque. Chaque année, un PyGame contexte où les personnes de plus le mot de soumettre leurs PyGame jeux. Python est le langage interprété ( mais vous pouvez aussi le package dans un fichier exécutable autonome) , de sorte que lorsque vous téléchargez un jeu pour jouer, vous pouvez également voir son code source et de le modifier.
si vous êtes à la recherche pour un 2d jeu de course, je conseille AS3(Flash) avec Box2d.
-plus facile à obtenir commencé
-plus grand public
bonne chance à vous, quel que soit la langue que vous choisissez!
Si vous faites un jeu indépendant(c'est à dire en 2d, une équipe de moins de dix personnes, le faible budget), puis pygame est votre meilleur pari.
Il existe de nombreuses bibliothèques dans http://pygame.org qui rendent le développement d'un composant logiciel enfichable. Il y a en jeu de GUI, de réseautage, de pathfinding...
Python 2 est mieux, pour l'instant. Vous n'aurez pas besoin de le P3000 choses encore.
Lua est également un choix très populaire, mais c'est surtout pour les grands, jeux professionnel. Ils choisissent souvent de Lua en raison de son ne pouvez pas échouer philosophie. Vous pouvez passer plus ou moins d'arguments qu'une fonction prend et elle ne va pas s'en plaindre. À peu près tout peut tomber en panne, et il sera toujours exécuté en moyenne.
Aussi, il est très puissant (genre de)threads. Il n'y a pas de conditions de course. Jamais. Et il y a des Lambdas. Et il est extrêmement personnalisable. C'est essentiellement Lisp avec moins de parenthèses.
Il devrait aller sans dire, Lua programmeurs sont très, très prudent de personnes.
De toute façon, peu importe ce que vous entendez, savoir:
Les jeux sont écrits dans langages de script.
Les moteurs sont écrits dans C++.
Si vous "voulez apprendre le développement d'un jeu", vous voulez probablement écrire des jeux.
Aussi, pour python et Lua il y a une manière assez simple d'écrire un script, puis un navire .exe.
Rechercher ailleurs pour "l'Incorporation de %s" % nom_langue, mais il est fondamentalement juste
#include
...
python_run_file("main.py");
Je pense que le moyen le plus rapide et le plus gratifiant jeu langages de développement en ActionScript 3.0 à l'aide du kit SDK de Flex. La possibilité de créer un jeu et le publier sur le web à un large public est une expérience très enrichissante.
ActionScript matériel de Référence peut être trouvé ici et Emanuele Feronato a un super blog pour les débutants que pour les développeurs de jeux.
La plupart des jeux modernes ne sont pas construits à partir de zéro, mais l'utilisation de pré-existants de jeu/moteur graphique.
Jeux Flash sont très populaires. Bien que la plupart des jeux écrits en Flash ont tendance à être simple, la langue est orientée vers le graphisme et vous allez vraiment apprendre au plus haut niveau.
C++ est vraiment largement utilisé, mais il est peu probable que la construction d'un moteur de jeu à partir de zéro est une idée viable.
Regarder http://www.GarageGames.com un bon endroit pour trouver à la fois un prêt du moteur de jeu et une communauté de développeurs d'écrire des jeux.
Vous pourriez envisager de commencer avec des jeux occasionnels. Cela dépend bien sûr de vos désirs, mais de casual gaming est un peu plus accessible pour les développeurs et les utilisateurs. Les outils sont plus faciles à apprendre: Flash/Flex et Silverlight sont à la fois très disponible et beaucoup de plaisir à utiliser.
Le concept du jeu est plus important que la langue que vous avez choisie. Utiliser la langue avec laquelle vous êtes le plus à l'aise. Tous les mais aussi la plus complexe des graphismes 3D jeux fonctionnent très bien, même avec des langages interprétés.
Mon conseil est de réduire le nombre d'inconnues. Je suppose que vous êtes nouveau à la programmation de jeux vidéo et que vous précisez que vous êtes nouveau à python. Ma préférence personnelle est à l'approche d'un nouveau domaine (jeux) avec un langage familier (C++) ou à l'approche d'un domaine connu, avec une nouvelle langue. Approche d'un nouveau domaine dans une nouvelle langue est difficile défi.
Programmation de jeu n'est pas différent en C++ que Python. Vous connaissez déjà le C++, donc la réponse est: Apprendre le langage Python. Pourquoi? Parce que c'est un putain de cool de la langue.
Vous apprendrez aussi beaucoup de jeu de la programmation en Python, même si vous avez besoin de passer à C++ pour faire des poids lourds moteurs 3D.
Donc la réponse est vraiment.... Les DEUX! 🙂
Aller avec le C++, C'est la langue principale dans l'industrie; et vous apprendrez tous les bits et des bobs de développement de jeux. À l'aide de C++ vous donne également un autre avantage, vous pouvez mettre en œuvre un langage de script tel que LUA ou Python pour par exemple Jeu de Logique!
Je dirais que cela dépend de votre expérience de la programmation, si votre C comme de la syntaxe et de penser de cette façon, j'.e des accolades, des points-virgules, taper fort, aller avec le C++, sa vitesse, et sa la langue que vous connaissez.
Toutefois, si vous à l'aise avec les langages de programmation comme un tout, alors python n'est pas une mauvaise solution, et je vous recommande fortement de le panda3d moteur 3d (je considère cela plus d'un moteur 3D, plutôt que d'un moteur de jeu, dans le sens que vous avez encore à construire jeu de logique spécifique), il utilise python et je pense que la nouvelle version 2.6 de python.xx version est votre meilleur pari. Comme la mesure de la performance, sauf si vous utilisez une ancienne machine, les langages tels que python peut exécuter presque aussi rapide, les langages compilés comme le c/c++.
Je pense que le C++ est le meilleur choix, j'ai fait quelques petits jeux à l'aide de moteurs gratuits comme Ogre ou Irrlicht, en particulier Irrlicht car il est très facile à apprendre.
Aussi pour les jeux 2D, vous pouvez utiliser HGE.
Mais si vous voulez aller avec Pyton essayer Blender 3D, de la modélisation d'un outil d'animation avec Blender, vous pouvez faire des jeux sympas et vous avez toutes les choses que vous avez besoin de faire un jeu dans le même logiciel, Blender utilise Python pour la programmation, mais vous pouvez faire des jeux sans connaître la programmation seulement à l'aide de blocs logiques.
Je pense que si vous voulez graphique 3D jeux alors C++ avec DirectX est le meilleur
Plate-forme cible? Pour Flash ou pas Flash (graphiques vectoriels)? À l'image ou pas d'image bitmap?
Basée sur certaines de ces types de questions que vous pouvez arriver à une plus petite gamme de possibilités.
Par exemple, la plate-forme cible XBox 360:
code: C++
l'équipe nécessaire à la publication d'affaire: oui (si vous travaillez dans un jeu de coopération. c'est plus facile 🙂
En va de même pour Playstation plates-formes ou plus XBox, etc. Pratiquement n'importe quel console en fonction des jeux que vous allez faire, besoin d'un dev kit et qui ne se produit que si vous avez un accord avec le fabricant ou l'éditeur.
Donc, nous allons ignorer la console pour l'instant.
Qui laisse plusieurs options encore plus en ligne ou iPhone en fonction. Mais vous avez déjà dit que vous ne voulez pas faire de Flash, iPhone, ou basé sur un navigateur jeux.
Alors, la prochaine est Mac ou PC. Si vous souhaitez obtenir sur console finalement Veuves jeux est un excellent moyen d'aller. Vous pouvez apprendre les libs graphiques, DX, et là, et puis plus tard, utiliser quelque chose de similaire sur XBox 360 par exemple. Ou, si vous voulez aller de la croix-plate-forme regarder Open GL... et si vous décidez de vous abaissez une plate-forme qui a "2 milliards" téléchargements, vous permet de vendre votre jeu dans le monde entier en ce moment, et seulement à 99 $pour avoir accès en tant que développeur, bien Ouverts GLES est juste là comme un sous-ensemble de l'Open GL.
Dans le Windows et Mac et même de cas de l'iPhone, C++ de travail. C sera certainement.
//:)
Je ne suis pas sûr de ce que votre expérience préalable de la programmation est. Si vous souhaitez obtenir jusqu'à la vitesse rapidement, je vous conseille le Python. D'autres ont recommandé de PyGame, qui est le standard de facto pour Python. Il existe d'autres alternatives (comme une version modifiée de la Verge moteur appelé Ika qui est sous lent développement, http://ika.sourceforge.net/news.php) mais PyGame est très solide.
Puisque vous m'avez demandé une ressource pour commencer, je vous recommande d'Inventer avec Python (http://inventwithpython.com/chapters/). Il utilise Python 3 et PyGame, et commence réel de base. Dans les prochains mois ou plus, vous serez en mesure d'acheter le livre si vous le désirez (l'auteur m'a indiqué qu'un éditeur a eu une version antérieure du livre et fait une mauvaise version papier -- donc, si vous voyez que sur Amazon, l'éviter!).
Êtes-vous commencer à maintenant, le programme?
Pourquoi ne voulez-vous apprendre le C#?
Si vous êtes un débutant, je vous suggère de ne pas commencer avec le C/C++.
Je pense que vous devriez apprendre à utiliser UNITY3D, un moteur de jeu qui est très populaire aujourd'hui.
De nombreuses personnes, de l'indie développeurs pour les grandes entreprises sont à l'aide de l'Unité, à faire toutes sortes de jeux (by the way, jeux de course de voiture est l'un des tutoriels.
Ce moteur est facile à apprendre, vous pouvez l'utiliser avec UnityScript (une langue personnalisée avec JavaScript-inspiré de la syntaxe), C# ou Boo (qui a un Python inspirés de la syntaxe). Je recommande fortement de C#, il est de plus en plus puissants et de vous apprendre la langue que vous pouvez utiliser avec XNA plus tard.
C++ car c'est largement utilisée pour un jeu de programmation et vous obtiendrez beaucoup d'échantillons pour le c++ jeux à regarder. Comme autre réponse dit, il n'y a pas beaucoup de python programmes 3d.