J'ai récemment entendu un instructeur mentionner que le développement de jeux était le meilleur moyen d'apprendre la programmation. Outre le fait que tout devait être créé dans du code, il a dit que vous obtenez vraiment une expérience complète et implémentez la POO dans vos programmes. En d'autres termes, tout ce que vous créez dans un jeu est un objet littéral à la fois technique et conceptuel. Est-il sûr de faire cette hypothèse? Ou y a-t-il toujours des exceptions lors de l'apprentissage de la programmation?
notez qu'il était orienté vers le développement .net / xna / c #.
learning
object-oriented
Edward
la source
la source
Réponses:
Le développement de jeux est à mon avis l'un des développements les plus difficiles. Examinons tous les concepts qu'une personne qui crée un jeu de tir à la première personne doit connaître:
Vous voyez, un jeu peut couvrir un grand nombre de domaines simultanément. Cela en fait un excellent outil d'apprentissage si vous êtes prêt à passer du temps et à le faire bien.
Quant à la POO, c'est un modèle qui fonctionne bien. Vous pouvez utiliser un jeu comme outil d'apprentissage pour pratiquer de bonnes techniques de conception.
Pour répondre à votre question, cependant, ce n'est pas le seul moyen d'apprendre la programmation. Une fois que vous devenez développeur intermédiaire, la création d'un jeu vous permettra de toucher à de nombreux concepts et niveaux de programmation. En plus, c'est amusant!
la source
Ne pas être tautologique, mais la programmation est la meilleure façon d'apprendre la programmation. Si vous êtes intéressé par les jeux informatiques, la programmation de jeux peut être un excellent moyen d'apprendre la programmation.
Je n'aime pas les jeux, mais j'adore les mathématiques, tellement de mes projets d'apprentissage étaient de nature très mathématique.
En fin de compte, vous devez trouver des moyens de résoudre les problèmes de code et les jeux fonctionnent pour de nombreuses personnes.
la source
C'est une façon d'apprendre la programmation, entre autres. Lorsque vous écrivez du code, vous apprenez des choses. Maintenant, est-ce la meilleure façon? Pas si sûr.
Au moins, les deux raisons données par votre professeur ne sont pas valables .
"tout devait être créé en code" : lorsque vous écrivez une application métier, vous écrivez en fait le code. Il ne sera pas écrit par magie. Oui, il existe des aides qui vous permettent d'utiliser du code généré automatiquement. Non, il n'est pas obligatoire de les utiliser. Soit dit en passant, les parties générées automatiquement sont généralement les plus ennuyeuses de la programmation (ce n'est pas en ajoutant des contrôles au contrôle Windows Forms que vous apprendrez quelque chose d'excitant et d'utile).
"vous obtenez vraiment une expérience complète et implémentez la POO dans vos programmes" : quelqu'un doit m'expliquer pourquoi cela n'est valable que pour les jeux, mais invalide pour autre chose. Si vous comprenez la POO et souhaitez l'utiliser, vous pouvez également l'utiliser dans des applications commerciales. Si vous ne l'avez pas ou ne voulez pas l'utiliser (et préférez utiliser la programmation fonctionnelle par exemple), le développement de jeux ne vous forcera pas à changer.
Mais:
Développer des jeux peut être amusant . La plupart des jeunes aiment les jeux, alors ils aimeraient développer un jeu plutôt que d'écrire une application commerciale, ce qui sera extrêmement ennuyeux pour la plupart d'entre eux. En voyant cela, les enseignants peuvent commencer à croire que le jeu est en fait la meilleure façon d'apprendre la programmation, puis ils essaieront de trouver une explication logique à cela.
Cela dit, ces enseignants finissent par rendre le développement de jeux ennuyeux pour les jeunes comme le développement d'applications commerciales. S'ils croient que le jeu doit être fait pour apprendre la POO, etc., ils demanderont à leurs élèves de faire des types de projets qui ne sont pas agréables du tout. Ce fut l'une des plus grosses erreurs de mes professeurs quand j'étais au collège. Ils nous ont donné très souvent des projets de jeux à écrire en Ada en mode console. Pas de graphisme. Pas drôle. Aucune expérience utilisateur. De toute ma vie et de ma carrière, je n'ai jamais vu de projets aussi ennuyeux que ça.
la source
BadGuy
,Weapon
,PowerUp
et d' autres éléments dans un jeu peut facilement être un objet. Vous pouvez programmer les interactions entre les objets et les voir à l'écran. Je pense que la partie visuelle est ce qui la rend si attrayante. Les applications commerciales qui ont des hiérarchies de type deServerTaskScheduler
,AbstractDataProcessor
,UserQueryAgent
, etc ... ne sont pas aussi excitant , même si elles peuvent enseigner les mêmes concepts OOP que dans les jeux.Customer
ouProduct
ouTransaction
peuvent être des objets. Mais je comprends qu'il est beaucoup plus agréable de s'occuper desBadGuy
s plutôt que des ennuyeuxTransaction
.Transaction
implique.La programmation de jeux est la meilleure façon d'apprendre la programmation de jeux. Si vous voulez apprendre le développement Web, faites-le, si vous voulez apprendre la programmation des systèmes, faites-le et ainsi de suite.
La programmation de jeux est difficile, et elle vous apprendra probablement beaucoup de choses (Michael en a noté beaucoup dans sa réponse, et beaucoup d'entre eux sont très difficiles et utilisables en dehors des jeux également). La création d'un RPG ou d'un magnat (ou d'un jeu similaire) vous en apprendra beaucoup sur la conception OOP car ils se prêtent très bien à ce paradigme. Vous pourrez également en apprendre beaucoup sur les considérations de performances, certaines mathématiques hardcore pour les jeux, etc., selon la complexité de vos graphiques et de votre physique.
C'est une bonne façon, et la meilleure façon d'apprendre certaines choses, mais ce n'est pas une façon supérieure d'apprendre la programmation. Peu importe le nombre de jeux que vous avez programmés, il est probable que vous n'aurez aucune idée de la façon de créer un système d'exploitation. Je pense que la plupart des développeurs pourraient encore gagner quelque chose en développant un jeu, même s'ils ne le font pas comme discipline principale de programmation, tant qu'ils ont le temps.
la source
Question: Quelle est la meilleure méthode pour apprendre la programmation
Réponse: La méthode que vous utilisez réellement
C'est-à-dire que lorsque vous apprenez ou faites quelque chose, peu importe la méthode que vous choisissez tant que c'est une méthode que vous suivez réellement.
Si le jeu est quelque chose qui vous semble vraiment amusant, allez-y. Si vous trouvez que la résolution de problèmes mathématiques est plus satisfaisante, commencez par cela. Il existe de nombreux types de programmation et chacun requiert des compétences différentes, donc un bon pari est de commencer par celle que vous trouvez la plus intéressante, c'est probablement celle avec laquelle vous travaillerez.
... Mais oui, le jeu est un bon moyen d'apprendre une assez large gamme de programmation car il intègre les mathématiques, la concurrence, les algorithmes, oop, les graphiques, etc.
la source
Si vous aimez les jeux, écrire des jeux serait un bon moyen d'entrer dans le développement, mais je ne dirais pas que c'était le meilleur moyen. Je pense que la meilleure façon est un cours de diplôme CS suivi d'un travail avec une maison de logiciels qui investira dans la formation et le mentorat du personnel junior.
En dehors de cette réponse certes plutôt pompeuse, oui, le développement de jeux vous apprendrait beaucoup de bonnes compétences, je pense, et si vous aimez les jeux informatiques, cela vous gardera intéressé par le processus de développement. Cela doit être plus intéressant que beaucoup d'autres applications simples que vous voyez dans les livres.
la source
Je dirais que la meilleure façon d'apprendre à coder est de le rendre amusant pour vous. Ce ne doit pas être un vrai jeu, mais une sorte de jeu pour vous. Pour moi, c'est un jeu pour résoudre certains problèmes mathématiques en développant des algorithmes de manière à pouvoir résoudre un problème complexe de la manière la plus rapide possible. En me défiant, je deviens un meilleur codeur à chaque tentative de résoudre un problème. Plus le problème est difficile, mieux c'est.
En ce qui concerne l'apprentissage du code (meilleures pratiques), je dirais que vous devrez relever de plus grands défis. Les défis exigent beaucoup plus qu'une entrée / sortie unique
la source
Je n'ai jamais entendu dire que jouer à Halflife ou Call of Duty vous apprend des compétences en programmation.
Les programmer pourrait, mais programmer quelque chose comme ça n'est pas quelque chose qu'un débutant devrait même essayer un peu. Et surtout les débutants ont souvent l'impression qu'ils peuvent créer le prochain blockbuster avec leurs connaissances de programmation inexistantes. Dites-leur d'essayer de faire un clone PacMan ou Tetris en premier et ils crient que ce n'est pas ce qu'ils veulent faire et que vous devriez «me donner zuh koduz».
la source
Non, pas vraiment. Il n'y a pas un meilleur type de projet pour apprendre la programmation sur. Le meilleur type de projet est celui qui correspond à vos intérêts.
Par exemple, j'ai essayé d'apprendre la programmation de différentes manières, notamment en programmant des jeux. Cela n'a jamais semblé coller.
Puis quand j'ai eu besoin d'apprendre comment programmer ce que je faisais dans ma recherche? En ce moment, je suis assez à l'aise pour dire que je connais 2 langues et que je travaille sur une troisième. Pourquoi? Parce que c'était pertinent pour mes intérêts. J'avais une raison de m'en tenir à cela, une raison d'apprendre et plus de problèmes à essayer que juste "Exercice 8" dans le livre.
Incidemment, cela ne signifie pas que la programmation de modèles épidémiques est la meilleure façon d'apprendre la programmation. Mais c'était la meilleure façon pour moi. Trouvez le vôtre. Il peut s'agir de jeux, mais il se peut fort bien que non.
la source
D'après ma propre expérience, en écrivant un jeu (en supposant que vous le faites sur votre propre / petite équipe de développeurs), vous êtes obligé non seulement de penser à la partie algorithmique / analytique de la programmation, mais aussi à l'expérience utilisateur et à la conception.
En plus de cela, si c'est un jeu raisonnablement complexe, vous y travaillerez pendant quelques mois, et vous vous rendrez compte de l'importance de documenter tout ce que vous faites - ce qui fera de vous un meilleur membre d'une équipe.
la source
Je pense que c'est un excellent article donnant un aperçu du développement du jeu.
Il parle de certains domaines de base sur lesquels se concentrer
la source
Je serais d'accord sauf ...
Il est tout aussi probable que la première expérience de programmation que beaucoup aient jamais eue était la construction et la programmation d'un robot Lego (Mindstorms).
Alors que le terme général "jeu" peut définir une catégorie si vaste qu'elle englobe presque toute la programmation, lorsqu'il est utilisé dans le contexte de l'affiche originale, il semble toujours signifier "écrire des jeux de style Doom".
Comme cela a été dit précédemment - la meilleure façon d'apprendre la programmation est d'avoir quelque chose que vous voulez vraiment qui nécessite un programme. C'est - apprendre la programmation en écrivant le programme que vous voulez.
L'un de mes premiers programmes Windows était un programme de contrôleur MIDI, parce que je voulais vraiment un programme de contrôleur MIDI, et Windows semblait la solution idéale (curseurs, boutons, prise en charge SDK pour MIDI, etc.). J'ai appris une tonne sur la programmation Windows (c'était de retour dans les jours Win 3.1) de ce programme.
Je n'ai jamais été amateur de programmation de jeux pour les raisons mentionnées ici également - je ne dessine pas très bien, donc tout jeu que je crée aura des graphismes moins bons que ceux d'un artiste. Je veux apprendre à programmer, pas à gérer une "équipe de jeu" (exercice louable mais totalement différent).
En fin de compte, je suis tout à fait en désaccord avec la déclaration de l'enseignant. La meilleure façon d'apprendre la programmation est d'écrire le programme que vous voulez vraiment.
-R
la source