Communauté

Notifications
Retirer tout

Smashed Dragon

2 Posts
2 Utilisateurs
1 Likes
396 Vu
(@rolland)
Active Member
Inscription: Il y a 2 ans
Posts: 6
Début du sujet  

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 

 

Ce message a été modifié Il y a 1 an par Rolland

   
Citation
Étiquettes du sujet
(@david)
Membre Admin
Inscription: Il y a 8 ans
Posts: 153
 

Merci pour le partage. Je découvre lovedos. Pas maintenu hélas mais à priori suffisament stable.


   
RépondreCitation
Share:

Dialoguez avec les autres membres de la gamecodeur school.

Accédez maintenant à notre serveur Discord privé : Entraide, Game Jams, Partage de projets, etc.

Vous devez être membre de la Gamecodeur School Premium pour être autorisé à accéder au serveur.