Je suis un étudiant enthousiaste en arts martiaux, même si je ne me qualifierais pas d'expert. Je préfère me considérer comme une ceinture blanche éternelle, en quête permanente de connaissances.
Bien que j'aie une compréhension de base de divers arts martiaux, y compris la boxe, la lutte gréco-romaine, l'épée longue allemande et italienne, le backhold écossais, le jiujitsu (traditionnel et brésilien), la savate et le judo, mon expertise est limitée à tous les niveaux. Cependant, un concept qui transcende les différents arts martiaux est celui du kata.
Dans sa forme la plus simple, un kata est une séquence prédéterminée de mouvements pratiqués individuellement. Les katas sont conçus pour affiner les techniques, améliorer l'équilibre et favoriser la discipline mentale. Ils facilitent la mémorisation et la répétition des mouvements fondamentaux.
Il y a un débat en cours sur l'efficacité des katas en tant que méthodes d'enseignement, compte tenu des progrès de la pédagogie depuis le 19e siècle, lorsque la plupart des systèmes d'arts martiaux modernes ont été codifiés.
Cependant, la portée de cet article ne se penche pas sur ce débat. Au lieu de cela, je vise à utiliser le concept du kata pour introduire une série d'exercices qui peuvent être effectués dans Unity ou tout autre moteur de jeu pour améliorer votre compréhension du moteur et affiner vos compétences en développement de jeux .
Semblables aux katas, les exercices que je suggère sont destinés à l'entraînement et au simulacre, et ils ne peuvent jamais remplacer l'expérience de travail, et vous devez les adapter et les façonner en fonction de votre style de travail préféré.
D'un autre côté, il est essentiel de se rappeler que le développement de jeux est un domaine anarchique où les règles sont rares, à l'exception peut-être de quelques directives pratiques comme s'abstenir de publier des projets un vendredi ou avant les vacances.
Sans plus tarder, plongeons dans les katas eux-mêmes :
L'atelier est le premier kata que nous allons explorer. Essentiellement, l'atelier est un projet Unity éternel où vous pouvez expérimenter, tester de nouveaux concepts et explorer les fonctionnalités récemment publiées.
Utilisez-le comme base de mise en scène de preuve de concept. Lorsque vous avez une nouvelle idée de jeu et que vous souhaitez le prototyper rapidement sans vous soucier des noms, des conceptions ou de quoi que ce soit d'autre que le gameplay de base (qui devrait être votre objectif principal), l'atelier offre un environnement idéal.
Utilisez-le comme référentiel pour le code couramment utilisé. Certains morceaux de code seront inévitablement réutilisés, mais vous ne voudrez peut-être pas compter sur une recherche sur le Web à chaque fois. Par exemple, dans mon atelier, j'ai des extraits de code personnalisés pour gérer les boutons, les états du jeu, les menus de pause et divers autres éléments essentiels dont chaque jeu a besoin. Ces extraits permettent d'économiser du temps et des efforts, éliminant le besoin d'écrire du code personnalisé pour chaque nouveau jeu.
Un conseil utile pour cette approche si vous copiez du code à partir de sources en ligne consiste à vous assurer que vous comprenez le code copié, à le réécrire pour qu'il respecte le style et les normes de votre projet et à ajouter un commentaire indiquant son origine. Les auteurs de code peuvent mettre à jour leurs implémentations, ou vous pouvez oublier le contexte d'utilisation d'une solution particulière, mais un commentaire peut fournir les informations nécessaires.
Utilisez-le pour apprendre, expérimenter et tester de nouvelles fonctionnalités. En gardant le projet Workshop à jour avec la dernière version (vous pouvez conserver une branche distincte pour la version LTS), vous pouvez explorer de nouvelles fonctionnalités sans avoir à créer un projet entièrement nouveau ou pire, en essayant de les intégrer à votre projet en cours.
Avez-vous déjà joué à un jeu et vous êtes-vous demandé : "Comment ont-ils accompli cela ?" C'est maintenant votre chance de le découvrir. Lorsque vous manquez d'idées pour le développement de votre propre jeu ou que vous êtes entre deux projets, sélectionnez un jeu auquel vous avez récemment joué, choisissez un mécanisme, un effet ou une fonctionnalité de ce jeu et essayez de le cloner.
Quand je parle de clonage, je ne fais pas référence à une réplique exacte mais plutôt à la capture de l'essence de l'élément choisi.
Par exemple, j'ai récemment été fasciné par le système de mouvement dans Spider-Man : Miles Morales. Cependant, tenter de cloner l'ensemble du système de mouvement d'un jeu d'action 3D aussi complexe serait assez difficile. Au lieu de cela, je me concentrerais sur le clonage de l'aspect qui me captive le plus, comme le web swinging. Pour ce faire, je n'ai pas besoin d'un modèle complet de Spider-Man ou de bâtiments détaillés. Un simple cube répondant aux pressions sur les boutons du joueur et créant une corde à partir de laquelle le personnage du joueur se balance et avance suffirait à reproduire la liberté de mouvement expérimentée dans le jeu original.
Fixez-vous une limite de temps stricte. N'oubliez pas que vous ne créez pas un jeu entier, mais que vous clonez plutôt un seul élément à partir d'un jeu existant. Allouez environ six jours ouvrables, ce qui équivaut à trois week-ends, suffisamment de temps pour les étudiants à temps plein et les développeurs en activité.
C'est l'occasion idéale de tirer parti de l'atelier. Il offre un espace idéal pour stocker vos projets de clonage. Si vous décidez d'approfondir un concept spécifique, vous pouvez facilement le copier dans son propre projet sans parcourir les listes de projets Git abandonnés.
Si votre portfolio semble quelque peu déficient, cet exercice est un excellent moyen de l'améliorer. Prenez l'élément cloné et peaufinez-le en ajoutant un menu, une fonction de pause, une musique de fond et une introduction expliquant vos objectifs. Un tel produit fini impressionnera bien plus les recruteurs qu'un document rempli d'idées de jeux brillantes mais inachevées.
Après chaque exercice de clonage, effectuez une brève analyse post-mortem. Réfléchissez à ce qui a bien fonctionné, identifiez les faiblesses, envisagez les améliorations futures et tirez toutes les leçons utiles qui méritent d'être poursuivies.
De temps en temps, je m'adonne au clown. Je sélectionne une idée qui est techniquement intéressante ou combine plusieurs composantes techniques que je souhaite apprendre ou revisiter, mais qui n'a aucun potentiel commercial ni valeur pratique.
Le but du clown est de supprimer la pression de la perfection. Lorsque vous travaillez sur un projet destiné à être lucratif ou présenté à d'autres, les décisions de conception deviennent plus conscientes. Faire le clown vous permet de vous concentrer uniquement sur l'approfondissement de vos connaissances dans des domaines spécifiques.
Par exemple, il y a quelques années, je me suis lancé dans un projet appelé "Wizardry Exchange". C'était une application qui convertissait la monnaie des dénominations du monde réel (CAD, EUR, GBP ou USD) dans la monnaie utilisée dans l'univers de Harry Potter (noix, faucilles et galions). Ce projet impliquait Unity3D WebGL pour le front-end, Go pour le back-end, un système de mise en cache personnalisé et un déploiement sur AWS à l'aide de Docker.
Est-ce un projet pratique ou utile? Pas du tout! Le front-end ne nécessite pas Unity, Go est exagéré pour quelques points de terminaison simples, et l'application pourrait fonctionner sur une pomme de terre, sans parler d'AWS.
Alors, pourquoi se donner la peine ? Pour en savoir plus sur WebGL avec Unity, utilisez Go pour le développement de serveurs et acquérez de l'expérience dans la création et le déploiement d'applications à l'aide de Docker sur AWS . Le résultat final n'est pas aussi important que le processus d'acquisition des connaissances.
Et cela conclut les trois katas qui peuvent vous aider à approfondir votre compréhension de Unity ou de n'importe quel moteur de jeu.
J'aimerais attirer l'attention sur une expression spécifique que j'ai utilisée plus tôt : "régime d'entraînement" .
Cette approche guide ma pratique d'ingénieur depuis plus de 15 ans. Je considère l'obtention d'un diplôme universitaire comme l'obtention de votre ceinture noire et, à l'instar du judo (d'où le système de ceinture est issu), une ceinture noire signifie une compréhension des bases plutôt que la maîtrise.
On s'attend à ce qu'après avoir obtenu une ceinture noire, on entreprenne des recherches indépendantes pour développer davantage ses compétences dans l'art du judo.
De même, après l'obtention de votre diplôme, il vous incombe d'établir un programme de formation pour améliorer continuellement vos compétences techniques et acquérir des connaissances. Bien que vous acquériez des connaissances par le travail, cela peut manquer d'orientation et de développement personnel.
Ainsi, la création d'un programme de formation pour affiner vos compétences en ingénierie est cruciale. De cette façon, si une opportunité se présente, comme l'ouverture d'un nouveau poste dans votre entreprise, la résiliation de votre emploi actuel ou la rencontre d'un rôle attrayant ailleurs, vous êtes équipé de plus qu'une simple expérience de travail.
N'oubliez pas que, contrairement à l'université, votre travail ne donne pas nécessairement la priorité à l'avancement de vos talents au-delà d'un certain point. Un bon travail fera l'affaire, mais faire la distinction entre les deux peut parfois être difficile. Avoir un régime de formation en place protège votre croissance professionnelle.
J'espère que vous avez trouvé ces katas pour le moins intéressants sinon utiles, et qu'ils pourraient ouvrir une nouvelle voie pour faire progresser vos compétences techniques.
Également publié ici.