Je suis sur le point de me lancer dans le développement de jeux. Suite aux réponses à ma dernière question, je vais utiliser C # et XNA.
Cependant, je ne connais personnellement aucun autre développeur de jeux et je ne travaille pas dans l'industrie, donc, en tant que tel, je suis autodidacte. La seule exception à cette règle est évidemment de poser des questions et de lire des informations imprimées ou en ligne, mais je classerais cela comme autodidacte.
Sur ce, je veux être préparé aux problèmes que je pourrais rencontrer en n'ayant pas quelqu'un pour "me garder sous leur aile".
Par analogie, lorsque je me suis appris à jouer de la guitare, j’ai joué l’accord majeur de manière à rendre plus difficile le passage à un accord que j’ai appris plus tard.
Si vous pouviez partager vos leçons apprises et vos conseils sur ce qui pourrait mal tourner dans mon apprentissage du développement de jeux, je vous en serais reconnaissant.
Je sais bien que faire des erreurs est la partie la plus importante de l'apprentissage, mais s'il y a des erreurs pour lesquelles je peux être préparé, je serais plus heureux avec cela.
Réponses:
Le développement de jeux est comme l'ingénierie structurelle
Il existe des exigences minimales pour la fonctionnalité. Les exigences minimales ne constituent pas un défi exceptionnel et de nombreuses personnes peuvent apprendre à les remplir. C'est la partie fonction . C'est la petite partie. C’est là que les décisions concernant le langage à utiliser, la plate-forme sur laquelle développer et les bibliothèques à utiliser entrent en ligne de compte.
La prochaine partie est la grande partie. La partie forme . La forme est ce qui distingue vraiment les bons jeux des grands jeux. C'est la partie qui est l' art du développement de jeux. Je ne parle pas seulement des actifs sensoriels (graphismes, sons, etc.?). Je parle de créer une expérience. C'est la partie difficile.
La partie fonction provient de tutoriels, de bibliothèques et d'un peu de temps. Tout le monde peut le faire.
La partie forme vient de vous. C'est la passion qui vous a poussé à vouloir créer des jeux en premier lieu. C'est comme raconter une histoire, une histoire inventée (ou une histoire vraie que vous embellissez, beaucoup). Plus on raconte l'histoire, mieux c'est. En développement logiciel, nous appelons cela itérer. Votre histoire est votre code. La première fois que vous le dites, ça ne sera pas très bon. Les choses vont être déplacées, vous vous rendrez compte que ce morceau devrait aller là-bas et celui-là ici. Vous constaterez que les choses iront probablement mieux si vous organisez les choses de cette façon ou développez ce point. Donc, comme une bonne histoire, vous la raconterez, vous évaluerez sa qualité, puis vous la modifierez. Cela demande du dévouement et du temps. Ne vous inquiétez pas si la première chose que vous produisez n'est pas d'or. J'ai travaillé longtemps et durement sur de nombreuses parties de mon jeu, mais je les ai déchirées plus tard parce que je pensais à beaucoupmeilleure façon de le faire. Ne vous inquiétez pas à ce sujet, cela fait partie du processus d'apprentissage. Vous apprenez toujours de vos erreurs et c'est souvent ce qui vous amène à la meilleure façon de faire les choses.
Voici ce que vous devriez retenir de ceci:
Internet regorge de plumes d'informations dans les billets de blogues, les tutoriels et les communautés comme celle-ci. Collectivement, je dirais que c'est une très bonne aile pour être sous. Fondamentalement, les dangers ne sont pas graves. Vous pouvez faire les choses «mal» ou durement pendant un certain temps, mais vous finirez par apprendre. Vous semblez avoir beaucoup d’expérience en programmation, je pense donc que vous aborderez rapidement la partie fonction. Les erreurs de développement de jeu et de développement "normal" se chevauchent beaucoup. Votre expérience vous aidera à éviter bon nombre des problèmes courants auxquels sont confrontés les nouveaux développeurs de jeux. Je pense que vous vous en tirerez très bien. Bonne chance.
la source
Oui, ne pas avoir quelqu'un qui est déjà venu vous dire quoi faire, comment régler le problème, etc., peut être la pire chose à faire. Mais pas de peurs! Vous pouvez toujours lire BEAUCOUP de blogs de gens qui sont passés par là, ils partagent leurs expériences dans l'industrie, comment ils sont entrés dans le succès, comment un jeu précédent a échoué et pourquoi, etc.
Les bons exemples sont:
Et beaucoup plus!
Mes dernières paroles sont: n'ayez pas peur. Je suis autodidacte aussi, 4 ans que je suis initié au développeur de jeu, de nombreuses barrières se dressent, mais rien que vous ne puissiez résoudre, googler et lire des textes. Bonne chance pour ton voyage :)
la source
release
jeu n'est pas seulement lié à son développement après tout. C'est quand même une bonne lecture. J'ai posté les liens plus comme référence, pour ne pas suivre le blog. Si vous revenez dans les archives, il y a quelques exemples de prototypes et tout ce qui les a aidés avec le monde de goo et d'autres prototypes "moins petits": DCette attitude Cette attitude: "n'y touchez pas, jusqu'à ce que vous sachiez le faire parfaitement". Cela vous retiendra vraiment.
Vous voyez cette attitude chez les développeurs débutants de toutes sortes - pas seulement les jeux. Les sites Web aussi. Hé, un site Web est une base de données avec une interface HTML avec du javascript. Vous apprenez les technologies de toutes les manières possibles, vous créez votre premier site. Ça ne va pas être fantastique, mais après avoir fait les choses d'une manière sous-optimale, ce n'est pas une grosse affaire effrayante !! Si vous le faites "le long chemin" la première fois, vous pouvez toujours le faire mieux la deuxième fois. Mon point est, il n'y a pas de danger. Sauf cette attitude, peut-être. C'est cette attitude qui vous empêchera de faire quoi que ce soit, parce que vous allez toujours reculer devant la tâche et dire "Je ne sais pas encore comment faire."
L'attitude qu'il existe une "bonne façon" de faire les choses. Il n'y a pas. Les choses sont exactement comme elles semblent. Vous devez placer des pixels à l'écran et émettre des sons lorsque des événements se produisent.
la source
Selon que vous souhaitiez ou non faire de votre profession votre métier plus tard (je vais supposer que vous y réfléchissez et que ce n'est pas juste un loisir), voici ce que j'ai trouvé extrêmement efficace:
Cela a déjà été dit, mais je le répète: commencez par de petits bouts, familiarisez-vous avec un moteur, un framework, un outil ou un programme. Une fois que vous avez les bases -> allez plus gros.
Cela peut sembler un peu extrême, mais ce que je veux dire, c'est en apprendre le plus possible sur CHAQUE aspect du développement du jeu - que vous soyez ou non un codeur, un artiste ou un designer. Connaître le pipeline est essentiel pour construire les choses de la manière la plus efficace. Si vous utilisez une arme -> concevez-la, conceptez-la, modélisez-la, implémentez-la, codez-la! Vous n'avez évidemment pas besoin d'être un artiste de concept de niveau A, un concepteur et un nerd du Pipeline - mais vous devez connaître tous les outils du processus et comprendre chaque étape de la création. Consultez également les sites Web des jeux pour connaître les actualités et les mises à jour de l'entreprise - gamasutra.com, kotaku, etc. ont tous d'excellents articles sur des sujets commerciaux et techniques. Ne vous limitez pas à un seul domaine de développement - absorbez TOUTES les connaissances que vous pouvez obtenir :)
Vous allez craquer à ce que vous faites. Au début. C'est toujours comme ça (croyez-moi, je sais.: D), mais ça ne s'améliorera que si vous continuez et ne cessez JAMAIS de chercher des moyens d'améliorer votre travail. Internet est une excellente source de tutoriels, de références et d’aide. Vous ne serez jamais vraiment bloqués, alors embarquez dans les idées les plus folles, échouez, apprenez de vos erreurs et devenez plus dur à cuire avec ce processus.
Même si Internet est une excellente source, obtenir des commentaires en personne est une chose à laquelle vous devrez faire face au travail beaucoup. Il est donc important d’améliorer vos compétences non techniques. Si vous n'avez pas encore de mentor, ou en général ne savez pas que trop de personnes travaillent dans l'industrie, vous devriez chercher dans votre région des rencontres de développeurs indépendants, assister à des conventions et rechercher d'autres événements où vous pouvez commencer à construire. un réseau personnel de connaissances et de contacts. Il est également utile de construire quelque chose avec d'autres personnes - l'autodidacte est formidable, mais le développement de jeux est un jeu d'équipe, alors consultez les forums pour les projets hobby - par exemple, le forum Epic pour les projets UDK, les forums Unity ou même les forums CryEngine. -Tous trois de ces moteurs sont largement répandus, il y a un tas de gens talentueux travaillant sur des projets parallèles là-bas, et ils '
Je pense que c'est à peu près tous les conseils que je peux donner. J'espère que cela vous a aidé d'une certaine manière :)
la source
Je n'ai aucune expérience de C # et XNA, mais je pense que cela ne me fera pas me tromper dans la déclaration suivante:
Apprendre à programmer sans professeur est parfaitement bien. Si votre code fonctionne *, la manière dont il a été codé n'a pas vraiment d'importance. Eh bien, c'est le cas pour la programmation collaborative, mais alors vous ne coderez plus seul, n'est-ce pas? Cela pourrait également rendre votre code moins lisible à l'avenir, rendant difficile l'utilisation d'anciens composants ou le débogage de nouvelles erreurs, mais à la longue, toutes vos erreurs deviendront vos points forts. Le plus difficile dans l’apprentissage de la conception OOP et MVC, c’est de comprendre pourquoi je devrais faire «ceci» de cette manière ». Si vous avez déjà de l'expérience dans la création de mauvais programmes, vous connaîtrez les points forts des modèles et les utiliserez à votre avantage. Si vous avez toujours fait de bons programmes en suivant les modèles que quelqu'un vous a enseignés, vous continuerez à créer de bons programmes (au sens de code valide), mais au lieu de tirer parti des motifs, vous serez limité par eux, car vous ne les comprendrez pas assez pour apporter des modifications utiles. En fin de compte, il est de la plus haute importance que vous pratiquiez, pas comment, donc dans les deux cas, tôt ou tard, vous obtiendrez une expérience assez similaire.
* une chose est importante cependant! En cas de sécurité Vous devriez vraiment demander à une personne expérimentée si votre code est bien écrit, car les failles de sécurité ne font pas apparaître d'alertes d'erreur.
la source
C'est en quelque sorte une excellente question! :-)
J'ai commencé mon activité gamedev il n'y a pas si longtemps, et ce sera la deuxième fois pour que je puisse partager mes pensées. Vous avez en fait raison de dire que c'est une bonne chose d'avoir un mentor. Ce mentor sera Internet. Ainsi, plus d’informations sont partagées sur Internet, plus il sera facile d’apprendre pour vous. C'est pourquoi XNA / C # est un excellent choix pour commencer. Il y a beaucoup de joueurs indépendants amateurs et professionnels qui partagent des articles et sur le Web. Autres choses à mentionner:
la source
Ceci s'applique à toutes les disciplines liées à l'industrie créative:
Le plus grand danger est d'essayer de construire quelque chose de «trop gros» ou «d'épopée».
Par exemple, si vous commencez à faire de la musique, vous ne voudrez pas essayer de faire une symphonie de 50 pièces de 2 heures.
Dans la conception des niveaux, cela se manifeste par le fait d’essayer de créer la «plus grande carte de tous les temps» ou d’utiliser le système de jeu pour créer la chose la plus complexe et la plus complexe que le moteur de jeu puisse gérer. En programmation, cela peut vouloir dire "créer un jeu entier par vous-même" en commençant par le code source zéro. Vous avez vraiment besoin de beaucoup d'expérience et de discipline pour commencer avec la source zéro, et même dans ces conditions, c'est incroyablement difficile, et il est difficile de prendre des décisions de conception tout au long de la conception. Même un jeu simpliste nécessite de nos jours une programmation relativement importante dans un système d’exploitation et un langage modernes. De même, si vous commencez avec le code de quelqu'un d'autre, vous pouvez savoir ce qui fonctionne et ce qui ne fonctionne pas aussi bien. Travailler avec autant de moteurs que possible est également un avantage considérable.
Donc, au départ, je recommanderais quelque chose comme les plans suivants:
La meilleure chose à faire est de prendre un moteur fini existant (modulaire ou open source), de commencer à le pirater et de le faire plusieurs fois jusqu'à ce que vous en trouviez un qui vous plaise.
la source