Jour 032 : moteur graphique

J’ai décidé de changer un peu de stratégie. Je pense que pour rendre le projet plus concret, on a déjà besoin d’une version alpha du game play et du design. Ça donnera quelque chose de concret pour imaginer le résultat final. Ça sera plus motivant pour nous deux, mais aussi plus engageant pour vous, fidèles lecteurs (je ne suis pas sûr de devoir mettre lecteurs au pluriel lol. Mais allez, soyons fous !)

Je parle donc de générer à la main (rien de procédural ni d’automatisé) :

  • Un niveau (sans doute en forêt)
    • une grille de déplacement
    • un layer pour le sol éclairé
    • un layer pour le sol à l’ombre
    • un layer pour les objets sur le sol (herbe, rochers, arbres, etc.)
    • un layer pour les objets en hauteur (oiseaux, abres premier plan, etc.)
  • Un personnage (que je multiplie par 4 en changeant simplement sa couleur)
    • Une animation de stand by sous 4 angles
    • Une animation de marche sous 4 angles
    • Une animation d’attaque sous 4 angles
    • Une attaque simple
  • Un mini jeu de timing pour la force de l’attaque
  • Un mini jeu de précision pour l’esquive
  • Un timer pour le tour
  • Une mise en valeur de personnage pour indiquer quand c’est notre tour
  • Un monstre (que je place une dizaine de fois dans le niveau)
    • monstre simple qui vole et visible sous un seul angle
    • une image fixe pour quand il se déplace
    • une image fixe pour quand il attaque
    • une image fixe pour quand il prend des dégâts
    • une image fixe pour quand il meurt.
  • Une conversation avant combat entre deux personnages
  • Une conversation après combat qui se déclenche quand on sort de la zone
  • Effet de feu
  • Effet d’ombre et de lumière (chers à mon cœur)

Ça sera déjà beaucoup de boulot !

J’ai potassé un peu la partie graphique pour avoir une idée plus précise de là où je vais. J’avais commencé à réaliser quelque chose de simple en css/js. Mais je me rend compte que c’est trop limité et pas assez performant. J’ai besoin d’être sûr d’avoir un résultat visuel sympa tout en ayant un jeu fluide. Si je veux que le jeu puisse supporter à long terme des effets visuels (particules, ombres, reflets, etc.), je dois partir dès maintenant sur le bon système de rendu.

Pour l’instant, je me suis fixé sur Three.js. Il semble pouvoir faire tout ce dont j’ai besoin et même bien plus. Il sera même envisageable du coup d’intégrer des éléments 3D dans les plans 2D. Ça ouvre beaucoup de possibles. Je vais continuer de réfléchir à tout ça.