Je l'ai demandé plus tôt dans ce fil à stackoverflow.com. L'un des premiers commentaires m'a redirigé ici vers gamedev.stackexchange.com, donc je republie ici.
En cherchant des questions connexes, j'ai trouvé un certain nombre de questions très spécifiques, mais je crains que les détails ne se soient révélés vains pour moi. Après 4 heures sur Google, je ne suis pas plus près que je l'avais commencé. en ordre.
Premièrement, mon objectif: je n’avais jamais fait de partie auparavant, même si je me suis trompé à plusieurs reprises. J'ai finalement décidé de m'asseoir et de commencer à apprendre à coder des jeux, à utiliser des moteurs de jeu, etc. Tout cela pour qu'un jour (j'espère bientôt) je sois capable de créer des jeux fonctionnels (bien que simples). Je peux commencer à ajouter de la complexité plus tard. Pour le moment, je serais heureux de disposer d’une caméra contrôlée par le clavier évoluant dans un monde en 3D sans interaction au-delà.
Mon parcours: J'ai travaillé dans PLUSIEURS langages de programmation allant de PHP au C ++ en passant par Java et ASM. Je ne crains aucun des défis liés à l'apprentissage de la nouvelle syntaxe ou des limitations inhérentes à une nouvelle langue. Cependant, toutes mes expériences de programmation antérieures étaient strictement non graphiques et ne comportaient généralement que peu ou pas d'interaction simple lors de l'exécution. J'ai créé des algorithmes complets et brillants pour résoudre des problèmes logiques et mathématiques, ainsi que des problèmes graphiques. Cependant, dans tous les cas, l'entrée a été définie dans un fichier, passée sous une forme HTML ou entrée dans la console. L'interaction en temps réel avec l'utilisateur est quelque chose avec lequel je n'ai aucune expérience.
Ma question: Où devrais-je commencer à essayer de faire des jeux? Mieux encore, par où dois-je commencer pour essayer de créer un environnement 3D navigable au clavier? En cherchant en ligne, j'ai trouvé plusieurs ressources liées aux moteurs de jeu, aux moteurs graphiques et aux moteurs physiques. Voici un bref résumé de mes expériences avec quelques moteurs que j'ai essayés:
Unreal SDK: les vidéos de didacticiels supposent que vous possédez déjà une connaissance approfondie de la modélisation 3D, des moteurs graphiques, des animations, etc. êtes déjà familier avec. Après avoir téléchargé et lancé le SDK pour voir si les outils étaient aussi intuitifs qu'ils le prétendaient, j'ai été accueilli avec environ 60 boutons et un vide vide pour ma modélisation 3D. En cliquant sur "ajouter un volume" (pour tenter d'ajouter un cube de base), un menu de 30 options m'a été présenté. Pris de panique, j'ai fermé l'éditeur.
Crystal Space: le site Web semblait plutôt informatif, expliquant que Crystal Space était réservé aux graphiques et que le logiciel associé, CEL, fournissait une logique d’entité pour la création de jeux. Un jeu de démonstration a été créé à l’aide de "CELStart", leur outil simple destiné aux personnes non familiarisées avec la programmation de jeux. J'ai lancé le jeu pour voir ce que je pourrais espérer créer. Il a gelé plusieurs fois, les menus étaient bogués, il y avait des milliers de problèmes graphiques, les ennemis ne réagissaient pas aux dégâts, et quand j'ai fermé le jeu, tout a été verrouillé. Abandonné sur ce moteur.
IrrLicht: le tutoriel suppose que j'ai Visual Studio 6.0 (j'ai Visual Studio 2010). À la suite de leurs instructions, je ne pouvais pas importer correctement la bibliothèque dans Visual Studio et je ne pouvais appeler aucune des fonctions qu’ils utilisaient. Copier manuellement les fichiers d'en-tête, les fichiers de classe et les DLL dans le dossier de mon projet - la compilation du projet a échoué.
Clairement, je ne suis pas un bon début et je tourne en rond. Quelqu'un peut me diriger dans la bonne direction? Devrais-je commencer par télécharger un programme tel que Blender et apprendre la modélisation 3D, ou devrais-je apprendre à utiliser un moteur graphique? Devrais-je chercher un moteur de jeu tout compris, ou est-il préférable d'essayer de coder ma propre logique de jeu? Si quelqu'un a réellement créé ses propres jeux, je préférerais savoir comment ils ont commencé.
Suivre des cours à mon école n'est pas une option. Rien n'est offert.
Réponses:
J'ai posé une telle question lorsque j'ai rejoint GD. Voici quelques liens qui pourraient vous intéresser et qui, je l’espère, vous guideront vers votre objectif.
En bref, je préférerais
XNA Game Studio
maîtriser le développement de jeux. Ensuite, passez à ce que vous souhaitez atteindre en tant que connaissance / technologie.XNA
m'a appris à travailler avec des sprites et m'a permis d'appliquer certaines de mes connaissances dès le début de ma courbe d'apprentissage, de sorte que j'ai été en mesure de saisir assez rapidement pour comprendre comment je dois concevoir mon jeu pour utiliser des cours tout en travaillant avec injection de dépendance et ainsi de suite. Alors, je ne vous fais plus attendre.Pourquoi XNA allez-vous demander? Tout simplement à cause de votre arrière-plan Java. XNA utilise C #, qui est similaire à Java de multiples façons, et constitue également un cadre simple à utiliser qui résume la boucle de jeu et d'autres éléments afin que vous puissiez vous concentrer sur ce qui est important.
J'espère vraiment que cela vous aidera à commencer. =)
la source
Game1
classe est utilisée en tant que contrôleur de jeu, qui est à mon avis la classe qui doit contrôler et dire aux autres classes quoi faire, etc. J'explique un peu cet aspect le lien # 4 et # 5.Vous pouvez essayer Unity 3D , car
(Avertissement: je n'ai aucun lien avec les créateurs d'Unity, je l'ai simplement utilisé moi-même et l'ai trouvé un excellent outil pour apprendre les bases.)
Mais oui, vous vous êtes donné beaucoup de travail. Je suis maintenant dans mon 6ème semestre à étudier le design de jeu et je n'ai toujours pas l'impression de gratter plus que la surface. Il n’ya donc rien d’étonnant à ce que l’industrie emploie des spécialistes pour pratiquement tous les aspects du processus de création d’un jeu.
Edit: Il y a eu un commentaire sur le fait qu'Unity n'est pas considéré comme un "moteur" de jeu approprié, ce qui pourrait être mal interprété si je le disais - ce qui engendre les commentaires ci-dessous. Je n’avais pas l’intention de suggérer que Unity ne pourrait pas être utilisé pour concevoir correctement le jeu, au contraire. Je l'utilise moi-même et je l'aime bien. ;)
la source
Eh bien, si vous avez des problèmes avec irrlicht, vous devriez également essayer Ogre3D; ce n'est pas plus facile, mais cela fonctionnera peut-être mieux si vous y consacrez un peu de temps. La chose importante que vous devez comprendre est ce qu’est un anticalcaire, comment obtenir le temps écoulé depuis la dernière image affichée, et c’est à peu près la seule chose que vous devez comprendre si vous voulez créer cette application dont vous parlez.
J'ai également eu quelques difficultés avec irrlicht, les tutoriels ne sont pas très à jour, mais vous devriez avoir essayé les échantillons!
J'ai aussi beaucoup tourné en rond au début, jouant avec panda3d et d'autres choses comme pygame, etc. Essayez de vous concentrer sur une idée de jeu et de mettre en œuvre une chose à la fois.
Et essayez de vous rappeler certaines mathématiques matricielles, cela aura une certaine utilité en 3D!
la source
J'ai récemment commencé la même poursuite que toi. Je suis tombé sur un moteur java pur appelé jMonkeyEngine qui m'a conduit à travers un ensemble fantastique de tutoriels. Je ne sais pas si cela explique vraiment énormément la conception du jeu, mais cela vous permet de vous lancer sur le plan graphique.
Il suggère / des liens vers des outils que vous pouvez utiliser pour la modélisation et propose des exemples bien décrits copiables et collables pour vous guider dans la création d'un cadre à l'écran afin de configurer le moteur physique.
Vaut vraiment la peine d'être lu. J'avais une bonne idée de ce que je faisais après seulement quelques heures.
la source
Vous devriez vraiment essayer Flixel http://flixel.org/ J'ai fait mon premier jeu "démo" en utilisant flixel. Belle communauté, bons tutoriels.
Ce n'est pas de la 3D, mais il possède de nombreuses fonctionnalités qui facilitent vos premiers pas dans l'environnement de programmation de jeux.
Tel que: Affiche des milliers d'objets en mouvement les
collisions entre les objets de base des
objets Regrouper pour la simplicité
générer facilement et émettent des particules
Créer des niveaux de jeu à l' aide tilemaps
affichage de texte, enregistrez les jeux, le défilement de la
souris et entrée clavier
Math & utilitaires couleur
Et c'est gratuit pour un usage commercial, ce qui est génial.
la source
Si vous n’avez pas travaillé avec des graphiques du tout avant d’apprendre tout simplement open gl ou x direct, c’est un début. J'ai programmé mon premier jeu de cette façon. Les moteurs de notre société sont internes et la plupart des systèmes prennent en charge l’ouverture sous une forme ou une autre. J'ai appris pendant mon travail en parcourant le code écrit avant de commencer à travailler. Vous voudrez peut-être jeter un coup d'œil à certains projets open source pour voir comment une structure de jeu est configurée et commencer à les modifier jusqu'à ce que vous soyez à l'aise avec le démarrage de votre propre projet. Je suggère également "Codage du jeu complet" comme une excellente référence à toutes les petites choses de programmation que vous ne réalisez pas, comme la structure de fichier et la gestion des ressources appropriées.
la source
Essayez le moteur source . Il est facile de développer des jeux sur ce dernier. Vous pouvez obtenir une plate-forme de distribution (Steam) et vendre votre jeu gratuitement si vous signez un contrat avec Valve Corportaion.
la source
Je recommanderais de commencer par les jeux flash, car vous avez vraiment tout ce dont vous avez besoin dans un seul paquet pour créer des jeux simples. Il y a des tonnes de blogs avec des procédures pas à pas, Emanuele Feronato par exemple. Il a même un livre avec 10 jeux complets ou plus.
J'utilise FlashDevelop, ce qui est suffisant pour le développement.
"Créer un jeu flash Asteroids" de Chris Moeller est un excellent exemple, avec une approche complète étape par étape utilisant le développement flash.
Ironcoding propose un excellent tutoriel pour les jeux basés sur les tuiles .
Armé de tout cela, ma recommandation est de trouver un endroit où il y a un défi de jeu vidéo, avec une communauté de personnes qui construisent des jeux. Construisez un jeu vidéo par mois en vous concentrant sur quelque chose de petit que vous pouvez finir, peaufiner et présenter avant de passer à votre prochain projet. Je participe à un défi de jeu vidéo mensuel ici .
Gardez-le petit pour pouvoir le finir et le relâcher.
la source