Smashed Dragon
Je partage avec vous mon projet en cours depuis décembre 2022.
Je fais une version de flappy bird avec des dragons. Le but est de jouer à deux sur un bartop. J'ai choisit de partir sur de lua/love2D en utilisant la version lovedos qui tourne sous dosbox de recalbox. Je ne savais pas avec quel langage partir, j'avais hésité de partir sur un jeu SNES mais j'ai pas réussit à trouver le compilateur.
https://github.com/rxi/lovedos
Actuellement le j'ai la base du flappy bird avec un écran splitté horizontalement pour les deux joueurs.
Chaque dragon récupère des pièces, à terme ces pièces permettront d'acheter des powerup. Sachant que chaque powerup donne à l'autre joueur un bonus mais moins puissant. Il sera aussi possible de générer des tubes sur l'écran de l'autre joueur si on accepte de ne pas voler pendant un temps (pris de risque). C'est aussi une course de vitesse entre les deux joueurs.
J'ai eu pas mal de difficulté pour les graphismes car sous DOS je n'ai accès qu'au VGA (320x200x8 avec donc 256 couleurs max codés sur 8 bits).
J'ai finit par comprendre qu'il fallait que je convertisse mes images en indéxé (limité à 256 couleurs) au lieu de du RGB.
J'ai également créer un tilesheet avec les différentes images pour être sûr que je ne dépasse pas les fameuses 256 couleurs.
Afin de pouvoir être jouables sur PC ou sous le bartop (dosbox par recalbox), j'ai deux set de tilesheet pour les différentes résolutions.
J'ai également des limitations avec lovedos qui ne gère pas :
- love.math => il faut utiliser math de lua
- love.graphics.setColor => puisque les couleurs sont indexés, les paramètres RGB (entre 0 et 255 et non 0 et 1) ne peuvent pas avoir toutes les couleurs et impossibles de passer l'index de la couleur. j'ai donc codé une classe qui gère cela.
Voici mon backlog :
- Modifier mon assetManager pour qu'il gère les deux type de tilesheet (HD, SD). Chaque tilesheet aura son fichier texte associé pour les coordonnées de chaque sprite
- Ajout du timer pour comparer le temps de chaque joueur pour finit le niveau (chaque joueur aura plusieurs vie mais devra repartir un peu avant la où il a perdu)
- Achat des powerup
- Permettre de créer des tubes chez l'autre jouer si nous n'appuyons pas dur le bouton pour voler
- coder le powerup vie supplémentaire (contrebalancé par la suppression du prochain tube de l'autre joueur) : 20 pièces
- coder le powerup accélération (contrebalancé par l'agrandissement de l'espace entre tube du haut et du bas de l'autre joueur) : 100 pièces
- coder le powerup ralentissement (contrebalancé par la diminution de l'espace entre tube du haut et du bas de l'autre joueur) : 200 pièces
- coder le powerup dragon doré qui est invincible (contrebalancé par la suppression de tous les tubes de l'autre joueur) : 500 pièces
- coder le powerup dragon doré qui est invincible plus longtemps (contrebalancé par la suppression de tous les tubes de l'autre joueur) : 800 pièces
- coder l'animation du départ et d'arrivée du dragon
- équilibrer le jeu
Merci pour le partage. Je découvre lovedos. Pas maintenu hélas mais à priori suffisament stable.
-
Un éditeur "complet" de niveau pour le Dungeon Crawler old school en LUA
Il y a 9 heures
-
Remise à niveau : Création d'un jeu Pong ( joueur vs petite I.A.)
Il y a 5 mois
-
Mon premier jeu 💪
Il y a 11 mois
-
Mesh Arena (love2d + web build)
Il y a 12 mois
-
LostInSpace (Love jam 2023)
Il y a 1 an
- 6 Forums
- 235 Sujets
- 824 Posts
- 0 En ligne
- 45.4 {numéro}K Membres