Quels sont les dangers du développement de jeux autodidactes? [fermé]

58

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.

Ste
la source
Jetez un coup d'œil, le partage des leçons peut transformer la question en une question ouverte et l'invalider, de sorte qu'elle peut être fermée.
Gustavo Maciel
C'est un bon point. Pour tous les visiteurs, je prévois d'accepter une réponse complète.
Ste
Ste, sachez que vous pouvez déplacer une coche vers une autre réponse, si vous pensez qu'une nouvelle est meilleure. Toutes mes excuses à Gustavo, sans chercher à lui coûter de représen- tation :) Mais le but de ces sites, du vote et du checkmarking, est de mettre en évidence la meilleure réponse à une question. En outre, bien qu'il est grand que vous avez fait accepter une réponse, il n'est pas nécessaire d'accepter un qui rapide - une heure après votre question posée, est un peu bientôt. J'attends habituellement au moins un jour, peut-être plus, avant d'accepter une réponse. Voir ce qui se présente.
Cyclope
@Cyclops - oui, je ne m'attendais pas à ce que la question soit si populaire. Je vais revoir la semaine prochaine. Merci à tous pour les bonnes réponses apportées jusqu'à présent.
Ste
Merci pour toutes les bonnes réponses. J'ai déplacé la réponse acceptée à celle avec le plus de votes positifs. J'ai fait cela pour refléter l'opinion de la communauté. J'espère que vous comprendrez @ Gustavo
Ste

Réponses:

54

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:

  • Faites des tests souvent.
  • Ne vous laissez pas prendre à la fonction pour le moment. Ne vous préoccupez pas trop de l'optimisation ou de la meilleure bibliothèque à long terme. Obtenez juste la fonctionnalité minimale, puis répétez l'opération.
  • Une fois la fonction terminée, félicitez-vous, vous n'êtes qu'une petite partie du chemin accompli.
  • Porter un écran solaire
  • C'est une compétence qu'il faut du temps pour développer, vous savez qu'en apprenant un instrument de musique, ce n'est pas différent, vous irez mieux.
  • Rappelez-vous ce pour quoi vous êtes, la joie de créer! Si les choses deviennent ennuyeuses, passez à autre chose (essayez quelques embouteillages pour briser votre temps de développement). Mais n'abandonnez pas simplement parce que c'est difficile.
  • La communauté de développement de jeux sur SE est géniale. Vous trouverez tout ce dont vous avez besoin ici. Vous pouvez poster une question ou sauter dans le chat et discuter de vos idées.

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.

MichaelHouse
la source
6
+1 pour génial, tout ce qui manque à mon post se trouve ici: D
Gustavo Maciel
1
"Porter un écran solaire" Qu'entendez-vous par là? un idiome "Porter un écran solaire"?
Lukasz Madon
4
C'est une blague basée sur un article intitulé "Wear Sunscreen" de Mary Schmich . Fondamentalement, "les scientifiques ont prouvé les avantages à long terme de la crème solaire, alors que le reste de mes conseils n’a pas de fondement plus fiable que ma propre expérience sournoise." Peut-être plus communément connu sous la forme de cette chanson .
MichaelHouse
4
Eh bien, la crème solaire n’est pas très bonne en fait 2 . Restez à l'intérieur et continuez à programmer.
Bobobobo
28

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 :)

Gustavo Maciel
la source
3
Pour ajouter à cela, même les professionnels ont souvent ce problème. Tant que vous pouvez apprendre, et Google, vous pouvez comprendre à peu près n'importe quoi.
ashes999
Bizarre que tu lies 2Dboy. Autant que je sache, ils ont fait peu de choses que les ports de World of Goo sur toutes les plates-formes qui existent depuis deux ans. Cela fait longtemps que je n'ai pas lu quelque chose de gamedev qui y est relaté.
TravisG
@TravisG Le processus de releasejeu 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": D
Gustavo Maciel
18

Cette 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.

bobobobo
la source
3
Tellement vrai. Cela me retient encore beaucoup. Bien que je ne sois pas du tout d’accord, il existe en termes plus de «bonnes manières» et beaucoup plus de «mauvaises manières», mais le perfectionnisme et la paralysie de l’analyse peuvent certes être un problème. Très bonne réponse!
Petr Abdulin
6

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:

  1. Commencer petit

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.

  1. Tout apprendre

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 :)

  1. Echouer souvent, échouer durement.

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.

  1. Parle à des gens!

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 :)

Nils Diefenbach
la source
Tous vos points sont si importants, ils sont n ° 1 dans cette liste! :)
bobobobo
3

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.

Markus von Broady
la source
3

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:

  1. Allez open source! Codeplex, GitHub, Google.Code, Bitbucket. Il y a beaucoup de choses précieuses là-bas.
  2. Aller à la communauté! Vous êtes ici et c'est une bonne chose. Mais il y a aussi une grande communauté Microsoft XNA avec de bonnes bases officielles . Codeproject est également une bonne ressource (cependant, l'activité de gamedev y est plutôt faible).
  3. Vous aurez probablement besoin de lire / regarder beaucoup. Déjà mentionné auparavant. Le développement de jeux ne consiste pas seulement à coder. La conception du jeu est également importante. L'enthousiasme est important.
  4. Comme d'habitude, n'essayez pas de mordre trop à la fois, écrire votre propre copie de tetris ou d'évasion est en fait une bonne idée.
  5. Cela pourrait être difficile au début, le développement de jeux n’est pas seulement difficile, il est également très différent des applications dites "d’entreprise". Il y a beaucoup de nouveaux aspects, graphiques, sons, etc. Plus vous avancez, plus cela devient facile (comme d'habitude).
  6. Écrire un blog. Exprimez votre processus de développement (dans ce processus, vous trouverez des réponses à vos propres questions), stockez des liens avec des commentaires sur des articles de valeur.
  7. Ne pensez pas que votre code est la pire chose que vous ayez jamais vue. Le code de jeu est plus difficile à contrôler, il est toujours en quelque sorte un peu plus sale que son joli code "d'entreprise". Mais je vous assure que là-bas, j'ai vu des créations terribles (en termes de qualité du code source et d'organisation du jeu) qui ont été des jeux indépendants réussis. Alors, ne soyez pas trop dur envers vous-même, esp. au début.
Petr Abdulin
la source
1

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:

  • Level Design: construire une petite pièce, construire la moitié d'un bâtiment, construire un bâtiment complet, etc.
  • Art: fabrique un chapeau pour TF2 ou quelque chose de similaire, ou quelques substituts de texture pour Skyrim ou une autre tâche de taille approximative, avant de commencer à travailler dans des maillages squelettiques ou de morphing et à comprendre comment les animer ou les peindre avec zbrush.
  • Programmation: prenez un moteur de jeu modable ou opensource existant, modifiez-en une partie (comme une arme), puis créez une nouvelle arme. Si vous n'aimez pas le code de jeu, vous pouvez commencer à pirater le moteur graphique.

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.

Zoner
la source