zombie-shaman
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 l'école 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
Status | Prototype |
Platforms | HTML5 |
Author | caprog |
Genre | Shooter, Adventure |
Tags | 2D, Arcade, Casual, Clicker, minigames, Minimalist, Non violent, one-button, Singleplayer |
Leave a comment
Log in with itch.io to leave a comment.