C’est au cours de l’année 2019 que j’ai adhéré à l’école GameCodeur pour des cours en ligne de programmation de jeux en 2D. Un peu par curiosité, un peu par amour du rétro gaming et un peu par défi.
Le langage utilisé est Lua, sous Löve2D. Facile à appréhender par sa syntaxe, il est idéal pour les novices en programmation. David, le créateur de l’école, considère que réaliser des jeux « à partir d’une page vide » est très formateur quant aux principes fondamentaux de la programmation : je confirme, et c’est un pur bonheur !
Je montre ici mes réalisations les plus fonctionnelles, car j’ai fait beaucoup de prototypes plus ou moins aboutis. Les graphismes sont de votre serviteur (sous Photoshop et Illustrator) les sons proviennent pour la plupart de freesound.org

Jerican, jerican!

Jerican, jerican!


Jerican, jerican !


Mon premier jeux, ma première Jam. Publié sur itch.io pour la jam « Jet Pack », réalisé en huit jours. Un challenge intense et passionnant pour un débutant en programmation, et aussi une grande satisfaction : le jeu « tourne » sans bug, avec un écran de présentation, trois niveaux, un écran de « game over ».
Les effets de gravitation, de poussée et de latence du jet pack ont été le plus difficile à obtenir (je me suis aidé de blocs de code dédiés à ce genre d’effets, trouvés dans les cours de GameCodeur)
Vu le délai, j’ai réduit les graphismes au plus basique tout en essayant de garder une cohésion graphique.

BugFeast

BugFeast


BugFeast


Ma deuxième jam, toujours sur itch.io. Le thème : « bugs »…
Dans la phase de conception, j’ai opté pour une top-view (vue de dessus) avec un effet de grossissement de l’araignée lorsqu’elle saute, assez facile à gérer avec une propriété de type « scale ».

Shoot at Will!

Shoot at Will!


Shoot at Will!


La plus aboutie de mes réalisations car dans le cadre d’un cours sur les combats de chars en « top-view » (et non pas pour une jam, d’où plus de temps de développement).
Mon objectif était d’apprendre à gérer les « collisions » : les obstacles, les tirs…un objectif plus difficile à gérer que je l’avais imaginé !
Dans la foulée, j’ai dû aussi improviser un système de détection du héro par les ennemis : j’ai simplement divisé l’écran en quatre zones de tailles identiques, et j’ai ajouté des conditions liées à la présence du héros dans chaque zone. Ainsi les chars ennemis tirent dans la zone où se trouvent le héros, avec un tir dont l’imprécision est compensée par le nombre d’ennemis !...
Le jeux comporte 4 rounds de trois niveaux chacun, chaque round ponctué par le « boss » de fin de niveau : un gros tank avec une tourelle qui cible le héros (et des effets de flammèches qui augmentent au fur et à mesure que le boss se détériore).