Gamecodeur et moi

Je suis Caprog, développeur fullstack depuis un bon paquet d'années. Je codais déjà des petits jeux vidéo à ma façon et comme hobby. Pourtant, j'ai voulu monter en compétences et apprendre des concepts professionnels de programmation de jeux vidéo.  Je voulais aussi trouvé une école en ligne me permettant d'avancer à mon rythme mais surtout qui aie  une bonne communautés de DEVs autour. C'est pour cette raison que j'ai choisi rejoint lcole de David "Gamecodeur" début février 2022

Prototype de jeu Zombie Shaman

Zombie Shaman est un proto du jeu vidéo présenté dans la Game Jam N° 35 de Gamecodeur. Dans ce jeu on contrôle à un puissant shaman zombie qui tente de sauver sa  planète d'une invasion extraterrestre. 

L'idée du jeu est simple, on a notre personnage principal qui se déplace au clique et qui tire de projectile automatiquement. Le personnage doit battre tous les ennemies de la sale pour ouvrir la porte, placé tout en haut de l'écran (comportant un cadenas fermé), et pouvoir la traverser pour aller au niveau suivant.

Je voulais créer un jeu avec un gameplay inspiré d'Archero (un shooter mobile) et je voulais rendre le jeu jouable depuis n'importe quel dispositif (ordinateur, smartphone ou tablette)  avec une simple connexion à internet et un navigator web.  

J'ai codé entièrement le jeu de A à Z en Javascript et Html Canvas  (pas de Framework ni de libraires externes). Je me suis servi du code de mes anciens petits jeux Javascript et des quelques codes récupérés sur internet pour : le calcule de distance entre deux objets, la détection de la souris et le touch (pour  les dispositifs avec un écran tactile), entre autres. J'ai aussi pioché le concept de delta time et de gameloop en Javascript expliqués dans l'atelier Javascript de Gamecodeur.

Au niveau ergonomique,  j'ai entièrement pensé et  codé le jeu pour s'adapter à la taille d'écran de l'appareil utilisé. J'ai pris en compte la hauteur et la largeur de la fenêtre pour créer les éléments visuels de mon jeu : les objets, la taille de police utilisée et l'emplacement des éléments dans l'écran. 

Les graphismes ont était créés par mon frère. Le graphisme vectoriel était mon choix car j'aime bien ce style visuel.  La musique et les sons je les ai récupérés du pack  Gamecodeur.

J'ai passé environ deux ou trois jours à coder la mécanique du jeu. Là où j'ai pris le plus de temps était sur les calculs mathématiques liés au déplacement des bals  mais surtout l'aspect ergonomique du jeu (ordinateur, tablette, smartphone).

Postmortem

Javascript m'a aidé à accomplir mon but de coder un jeu ergonomique pour tout type de dispositif (ordinateur, tablette et smartphone). Il est aussi un langage vraiment pas verbeux et direct qui m'a toujours permis d'aller direct au but au moment de coder (pas de lourdes structures du code comme dans d'autres langages : Java, C#, etc). 

Penser et coder un jeu ergonomique n'était pas si compliqué mais plutôt chronophage. En effet, j'ai passé un bon moment à coder et tester tout les cas possibles où il faut adapter chaque éléments du jeu à la taille de l'écran.  Pourtant, il reste encore du travail à faire pour adapter le jeu aux plus grand nombre de dispositifs. 

Finalement, je suis super contant de mon travail car j'ai tout de même réussi à programmer le proto du jeu (voulu) ergonomique, simple et fonctionnel dont je peux m'en servir au future pour un possible jeu complet.

Je remercie Gamecodeur pour exister. Je vois la puissance de l'école ainsi que l'engagement et la pédagogie de David pour créer des excellents programmeur de jeux vidéo.

Contrôles et actions

Attaque: automatique (uniquement si le personnage n'est pas en mouvement).

Déplacement du personnage: click ou touch (dans des écrans tactile).

Bouclier:  touche "Espace" sur l'ordinateur. Le bouclier s'active si le personnage n'est pas en mouvement, une fois activé on peut déplacer le personnage avec.

Convertir l'ennemi  en zombie: une fois que l'ennemi n'a plus de vie et l'un des nos projectiles le touche, il est systématiquement transformé en zombie (allié).

Passer de niveau: après avoir vaincu tous les ennemis de la salle, la porte placée en haut au milieu (avec le cadenas fermé) s'ouvre (cadenas ouvert). Il faut la traverser pour passer de niveau.

Changelog

  • V.0.0.2 - première partie sur la correction d'apparition des ennemies + réajustement de temps d'apparition des ennemies
  • V.0.0.1 -  Première version du prototype 

Leave a comment

Log in with itch.io to leave a comment.