Article original : Hurry, the villagers need your help!

Par Drew

Apprendre à coder prend du temps. Cela demande de l'endurance.

Cela peut être frustrant. Mais cela vous mènera sur des chemins inconnus.

Et c'est le défi qui nous motive.

La promesse est que si nous continuons à attaquer le problème, nous finirons par le surmonter et nous pourrons passer au défi suivant, plus forts et plus intelligents que lorsque nous avons commencé.

La gamification — la pratique de transformer des choses qui ne sont pas des jeux en jeux — est devenue une méthode populaire pour maintenir l'engagement des gens à travers des processus longs et difficiles. Comme apprendre à coder.

Le principe est simple : donner aux gens de petits défis qui les poussent à grandir d'une certaine manière, puis les récompenser souvent pour cela.

Le MMORPG moderne (Massively Multiplayer Online Role Playing Game) est un témoignage de la manière dont une série de défis qui récompensent les gens de manière significative peut les maintenir engagés pendant très longtemps.

Permettez-moi de me lancer dans un mode nerd complet ici et de tracer quelques parallèles entre le monde du MMORPG et les défis du programmeur en herbe.

Image

Monter de niveau est l'un des principes fondamentaux du monde du jeu. Typiquement, les joueurs commencent au niveau 1 et gagnent des points d'expérience (XP) de diverses manières, les rapprochant toujours plus du niveau suivant.

Dans un MMORPG, les joueurs gagnent des XP en tuant des ennemis, en explorant de nouvelles zones et en accomplissant des quêtes. Plus votre niveau est élevé, plus vos statistiques comme l'intelligence, la force et l'agilité augmentent.

Plus vos statistiques sont élevées, plus vous devenez puissant. Et plus vous êtes puissant, plus vous avez de chances de survivre aux rencontres avec des ennemis plus grands et des défis plus difficiles.

En programmation, nous montons également de niveau. Nous gagnons des XP en explorant les terres d'un nouveau langage, en résolvant des problèmes de codage et en accomplissant des quêtes sous la forme de résolution de problèmes réels avec du code.

Tout au long de ce processus, nous augmentons nos statistiques. Nous acquérons plus de connaissances (intelligence), nous apprenons à surmonter des tâches difficiles (force) et développons une grande variété de compétences qui nous donnent la flexibilité pour aborder le même problème de nombreuses manières différentes (agilité).

Image

Les systèmes de combat dans un MMORPG peuvent être comparés aux processus utilisés pour créer des programmes. Les fonctions et les algorithmes deviennent nos sorts et nos armes.

À mesure que les joueurs montent de niveau, ils obtiennent de nouvelles capacités efficaces dans différentes situations. Lorsqu'un ennemi apparaît, vous devrez utiliser les bonnes capacités au bon moment pour le vaincre.

Prenons l'exemple du monstre Compile dans le pays de Java. Si vous essayez de le charger, il pourrait simplement se moquer de vous et vous frapper en retour avec le puissant « Marteau de Null Exception ».

Si charger est tout ce que vous savez faire, vous ne le vaincrez jamais. Il vous enverra toujours vous réfugier dans votre camp de base pour vous remettre de vos blessures.

Pour vaincre cet ennemi particulier, vous pourriez essayer de lancer le « Sort de Null Check » pour rendre ses attaques inutiles.

Il y a aussi les Div Trolls. Ces créatures rusées peuvent être assez frustrantes. Elles possèdent la capacité d'esquiver votre attaque en se déplaçant à un autre endroit de l'écran ou de devenir complètement invisibles.

Si vous avez choisi le talent CSS, vous pourriez les frapper avec la capacité « Illumination » (.illumination { border: solid red 1px;}) pour briser leur invisibilité et vous permettre de bien aligner votre attaque.

Le chemin pour devenir un codeur puissant nécessitera la maîtrise de nombreuses capacités différentes et la compréhension de quand et où les utiliser.

Image

L'exploration peut être à la fois excitante et terrifiante en même temps.

Dans un MMORPG, nous commençons généralement notre voyage dans l'une des nombreuses zones de départ différentes, selon le type de personnage que nous choisissons. Ces zones de départ nous introduisent généralement dans ce nouveau monde et nous familiarisent avec la manière dont le jeu se joue.

Bien que cela puisse être une bonne introduction et une expérience agréable, les joueurs s'ennuient généralement avec les bases et se demandent ce qu'il y a plus loin sur le chemin. De la même manière, les nouveaux programmeurs ont une variété de points de départ parmi lesquels choisir.

Peu importe ce avec quoi vous commencez, vous commencerez généralement dans les zones les plus basiques, en essayant des commandes simples et en construisant à partir de là. Le paysage semblera tout mystérieux au début, mais vous vous familiariserez rapidement avec vos alentours. Vous vous éloignerez de plus en plus de l'endroit où vous avez commencé.

Bien que vous puissiez choisir de rester dans vos terres d'origine et de devenir le joueur le plus puissant de cette zone, il est plus probable que vous partiez dans une nouvelle direction à la recherche de votre prochaine aventure.

Image

Les quêtes sont la marque de fabrique du genre MMORPG. Vous interagirez avec des personnages virtuels qui solliciteront votre aide pour diverses tâches. Parfois, ils vous enverront en une simple course pour rassembler des fournitures nécessaires. D'autres fois, ils vous supplieront de sauver leur village entier du tourment impitoyable d'un dragon à proximité.

Peu importe la demande, vous êtes celui qui est responsable de rendre leur vie pixelisée meilleure et d'améliorer le monde qui vous entoure. Typiquement, une récompense est donnée pour l'accomplissement de la quête. Mais, en fin de compte, la gloire d'être un héros et l'expérience que vous gagnez en cours de route l'emporteront sur tout l'or qui vous attend au bout de l'arc-en-ciel.

De la même manière que les villageois impuissants des MMORPG vous supplient de les sauver des dragons, les entreprises du monde réel vous chercheront comme leur héros de la base de code héritée ou leur sauveur de serveur.

Les quêtes peuvent prendre toutes les formes dans le monde de la programmation. Les gens ont plus de besoins qu'ils ne peuvent en compter, et souvent la solution peut être atteinte grâce à un code bien raisonné et soigneusement construit.

Ils pourraient vous envoyer en une simple mission de collecte de photos de chats pour égayer leur journée, ou vous demander de changer leur vie pour toujours en leur apportant des informations de santé spécifiques au bon moment.

Il y a des quêtes partout à accomplir, du plus mundane au apparemment impossible. C'est à vous d'accepter ces défis et de vaincre ces problèmes du monde réel avec les pouvoirs que vous obtenez grâce à la programmation.

Image

Image

Si vous commencez tout juste votre aventure et que vous êtes submergé par l'immensité de vos nouveaux alentours, prenez une profonde inspiration et rappelez-vous que tout le monde commence ici. Personne ne naît en sachant coder, pas plus qu'ils ne naissent en sachant jouer à un MMORPG.

Nous devons tous passer par les mêmes zones de départ et construire nos compétences progressivement. La clé est de se charger, de se connecter et de commencer à jouer. Il n'y a qu'une seule façon de s'améliorer, et c'est simplement de travailler dessus.

Allez-y et tuez ces monstres et sauvez ces villageois. Il ne faudra pas longtemps avant que cette zone de départ — et vos compétences de bas niveau — ne soient plus que le souvenir pittoresque d'un guerrier puissant.

Publié à l'origine sur thecodinghyrax.wordpress.com le 2 mars 2016.