Article original : What I learned from creating a video game with just over a year of coding experience

Par Marlo Asis

Les jeux vidéo ont toujours joué un grand rôle dans ma vie. Final Fantasy II m'a appris à lire (Super Nintendo Entertainment System, donc en réalité FF4).

Oui, mon vocabulaire précoce comprenait « chocobo » et « spoony bard ». Je me souviens quand Street Fighter II est sorti. Mes frères et moi passions des heures et des quartiers dans les arcades.

Je passais des journées entières à l'arcade à jouer à Dance Dance Revolution (DDR) avec mon frère, mon cousin et nos autres amis. Nous avions même une « équipe DDR » et nous « battions » contre d'autres équipes locales.

J'ai récemment commencé à jouer à Overwatch, et cela m'a permis de renouer avec des amis d'il y a 5, voire 10 ans. Ma femme et moi renforçons (ou testons) notre relation en jouant à Overcooked.

Dire que j'aime les jeux vidéo est un euphémisme ! ?

Les jeux vidéo enseignent, stimulent l'imagination, défient les gens et les connectent. Les jeux vidéo apportent de la joie dans la vie des gens. D'un autre côté, une grande partie de ma profession actuelle est remplie de souffrance - pas nécessairement ma propre souffrance, mais celle des autres.

Je suis actuellement médecin résident (ce qui signifie que j'ai terminé mes études de médecine, mais que je suis toujours en formation sous la supervision d'autres médecins). Dans ma courte carrière, j'ai entendu trop de parents parler de l'avenir brillant de leur enfant avant que celui-ci ne se retrouve à l'hôpital dans un état critique.

J'ai entendu trop de regrets de patients alités sur leur lit de mort. On me rappelle fréquemment à quel point la vie est courte. Elle est trop courte pour avoir un rêve et ne pas essayer de le poursuivre.

J'ai donc décidé de réaliser mon rêve de devenir développeur de jeux. Dans cet article, je vais partager ce que j'ai appris jusqu'à présent dans mon parcours, ainsi que certains des défis auxquels j'ai été confronté, dans l'espoir d'aider les autres qui partagent ce rêve.

Image Overcooked 2 — un jeu qui révélera la vraie nature de vos relations

Apprendre à coder

Alors, comment ai-je commencé ? Lorsque j'ai commencé ma résidence, j'ai vu une publicité pour un cours Udemy sur la création de jeux vidéo avec Unity. Ayant enfin un revenu, je l'ai acheté. Je suis rapidement devenu trop occupé pour m'y mettre. Je l'ai laissé de côté comme un jeu que je venais d'acheter lors d'une vente Steam.

Deux ans plus tard, ma fiancée (maintenant ma femme) est rentrée d'une journée difficile au travail. Elle a dit qu'elle allait simplement apprendre à coder et quitter son travail. En tant que bon partenaire, j'ai dit : « Oh ! Moi aussi ! » J'ai ouvert ce cours Udemy et j'ai tout téléchargé. Cependant, à cette époque, ma femme et moi étions à quatre heures de route l'un de l'autre. Au moment où j'avais tout installé, il était temps de partir et de conduire jusqu'à chez elle.

J'ai décidé de télécharger et d'écouter quelques podcasts pour le trajet. Cela m'amène à la première leçon que j'ai apprise. Les podcasts sont super utiles. Écouter des podcasts a vraiment accéléré ma progression. C'est sur CodeNewbie que j'ai appris l'existence de freeCodeCamp. Grâce à freeCodeCamp, j'ai appris l'importance de faire partie d'une communauté. Le Simple Programmer Podcast m'a inspiré à continuer et à rester concentré.

En ce qui concerne les podcasts liés au développement de jeux, Designer Notes, The Debug Log et Game Dev Unchained m'ont fait découvrir les expériences d'autres développeurs de jeux. Leurs histoires m'ont encouragé. J'ai appris le jargon. J'ai appris de leurs erreurs. J'ai fait tout cela pendant ces trajets de 4 heures lorsque je rendais visite à ma fiancée. Les podcasts ont transformé ce qui aurait été du temps perdu en temps productif.

L'autre chose qui m'a aidé à apprendre plus rapidement, c'est que je me suis lancé directement. J'ai participé à un hackathon (par accident) avec seulement 13 jours d'expérience en programmation. C'est là que j'ai appris à connaître la communauté et les rencontres locales.

Lors des rencontres locales, j'ai appris les possibilités de ce qui pouvait être créé. Cela m'a poussé à faire quelque chose pour pouvoir le montrer lors de la journée de démonstration locale. Cela m'a donné envie de continuer à créer et à partager.

En créant et en partageant, j'ai reçu des commentaires et des conseils de la part des personnes autour de moi. C'est ainsi que je me suis amélioré. C'est ainsi que j'ai eu l'idée folle de pouvoir créer et publier un jeu tout seul avec une expérience aussi limitée.

Image J'ai obtenu la deuxième place avec ma première équipe de hackathon : Developers.Vegas

Défis de la création et de la publication d'un jeu pour la première fois

Créer et publier mon premier jeu a posé des défis, notamment pour l'art et l'écriture du code. Je me suis amélioré avec le temps, la pratique et beaucoup de recherches sur Google.

Une technique que j'ai trouvée utile était d'écrire les choses sous forme de diagrammes et de « pseudocode ». Les diagrammes m'ont aidé à visualiser comment tout serait connecté, et le pseudocode m'a aidé à rester sur la bonne voie pour ce que je voulais que mon code accomplisse. À partir de là, il y a eu beaucoup d'essais et d'erreurs, et de répétition du processus.

J'ai trouvé difficile de traiter et de mettre en œuvre les commentaires des gens. Alors que je commençais à envoyer mon jeu pour que les gens l'essaient, ils faisaient des suggestions. Une raison pour laquelle c'était difficile, c'est que je ne savais pas comment faire ce qu'ils demandaient. Une autre raison était que je voulais vraiment terminer et publier mon jeu.

J'ai entendu des histoires de personnes abandonnant leur projet parce qu'elles étaient submergées par trop de fonctionnalités. Je voulais rester dans le cadre de mon projet et de mon produit minimal viable. D'un autre côté, je voulais créer un produit que les gens voulaient vraiment. J'imagine que cela continuera à être un défi pour moi et pour tout développeur/designer de jeux.

Au cours de ce processus, j'ai également réalisé que beaucoup d'obstacles venaient de l'intérieur. En travaillant sur mon propre projet, seul, il est facile de devenir paresseux et de se laisser distraire. Il est facile d'arrêter de travailler sur quelque chose et de dire que c'est « assez bien ». Il est tout aussi facile de passer beaucoup trop de temps à travailler sur quelque chose qui « n'est pas assez bien ». Ce que j'ai trouvé utile, c'est de me fixer des délais et d'écrire des objectifs pour chaque période de temps que j'avais pour travailler sur mon jeu.

Le plus grand défi interne, que j'imagine continuer à affronter, est le « syndrome de l'imposteur ». À plusieurs reprises dans ce processus, je me demandais : « Qui suis-je pour créer et publier un jeu ? » Lorsque j'ai téléchargé mon jeu pour la première fois sur le Google Play Store pour des tests internes, il a été rejeté. J'ai voulu abandonner sur-le-champ, malgré le fait que j'avais fait le travail pour terminer le projet. Je n'ai même pas regardé la raison pour laquelle il avait été rejeté ! Heureusement, je m'en suis sorti et j'ai enquêté sur le problème. Il s'est avéré être une erreur simple et réparable. Imaginez si j'avais simplement abandonné.

Image Mon installation passe fréquemment de la moitié supérieure à la moitié inférieure

Publication du jeu et au-delà

Appuyer sur le bouton pour publier mon jeu auprès du public était effrayant. Et si les gens détestaient mon jeu ? Et si quelque chose était complètement cassé ? Au moins jusqu'à présent, ces craintes étaient infondées. En fait, je suis très satisfait de la réponse à mon jeu jusqu'à présent. Ce n'est en aucun cas un jeu super réussi avec seulement environ 90 téléchargements au total, et un total de 0,00 $ de revenus ? au moment de la rédaction de cet article. ?

Cependant, à ce stade, le succès est de voir les gens apprécier mon jeu. C'est de voir quelqu'un qui allait quitter une fête rester une heure de plus parce que quelqu'un a battu son meilleur score. C'est de voir les gens publier des captures d'écran de leurs meilleurs scores. C'est d'avoir quelqu'un qui bat mon meilleur score (même si je suis mort un peu à l'intérieur). C'est de voir que les gens se lancent des défis. C'est de voir cette joie lorsqu'ils atteignent un nouveau niveau d'accomplissement.

Alors, où vais-je à partir de là ? Je pense que je veux essayer d'incorporer le multijoueur, ou au moins comprendre comment faire un système de classement. Les gens semblent vraiment intéressés par l'obtention d'un meilleur score. Je dois aussi en apprendre davantage sur l'aspect commercial/marketing des choses.

Je pense que je vais commencer maintenant. Je vous invite à essayer mon jeu « Squircle Circle Tap » pour iOS ou Android. Pendant que vous essayez le jeu, je continuerai à développer mes compétences pour me rapprocher de ces jeux qui m'ont tant marqué tout au long de ma vie. Merci d'avoir lu, bon codage.