Shmup/TODO.txt

106 lines
4.8 KiB
Plaintext

# The SHMUP Todo list :
## Engine
- [DONE] better keyboard management engine for keypressed() and keyreleased() events
- Mettre une système d'ajustement de FPS mini avec switch des niveaux d'overclock à la volée de manière dynamique
- [DONE] Mettre en place un système de collision en "pixel perfect" pour mode jeu "Asteroids Alert !!!"
- refactoriser les classes des entités "mobiles"
o class Entity (position, box, ID, trajectory)
~~> class Enemy : public Entity (+shoot, +life)
~~> class Boss : public Enemy (+multiple shoots, +multiple life)
~~> class Bonus : public Entity (currentframe)
## Partie décors :
- [WIP] - animer le décors avec le parallaxe (glissement de la droite vers la gauche pour donner l'avancement du vaisseau).
- animer des éléments du décors (clignotements, sprites animés, ...)
- interaction avec le décors (collisions possibles avec certaines tiles) qui imposent donc de suivre un "chemin" dans le niveau
- [DONE] multiple layers de tiles pour avoir des niveaux plus beaux
- implémenter des vitesses de défilement variables pour les décors de fond.
## Partie mouvement :
- améliorer le système de trajectoires sur base de Splines pour rendre la vitesse des ennemis plus constante.
- rendre les satellites sur une trajectoire (possibilité d'avoir des patterns plus complexes)
- possibilité de transformer les trajectoires (grossissement/rétrécissement, translation et rotation)
## Partie interaction / gameplay :
- implémenter les tirs ennemis (avec une IA minimale)
- [DONE] implémenter les hits des tirs ennemis sur le joueur
- implémenter les collisions avec les ennemies
- implémenter les collisions de bullets avec les satellites pour que ceux-ci perdent de la vie aussi
- implémenter le tir des satellites
- [DONE] implémenter un système de bonus (points, upgrade tir/satellites/... )
- implémenter un système d'amélioration de compétence de tirs (bullet -> mega bullet -> laser -> mega laser -> bomb -> etc.)
- implémenter un système d'animation du vaisseau (réacteurs par exemple)
- implémenter un système de boost des munitions si on garde le doigt appuyé sur la touche de laser
## Scenario
- implémenter un système de séquences avec des vagues de monstres qui arrivent les unes après les autres
- possibilité d'avoir dans les séquences:
o fond étoilé ou non
o niveau tiled ou non
o eventuellement choix d'un mode alternatif, du genre éviter les rochers
o sequence de monstres avec trajectoires
o boss de fin
o eventuelles récompenses/upgrades de vaisseau
## Bosses
- [DONE] Créer des bosses avec différentes zones, mobiles les unes par rapport aux autres
- [DONE] Créer des hitboxes pour chacune des zones du boss avec différentes sensibilités (par exemple le coeur/générateur = zone critique, mais mieux défendues)
- [DONE] Créer des protections pour certaines zones qui peuvent "sauter" (boucliers qui s'usent)
## Autres :
- [DONE] plein de trucs dont boss "multi-morceaux et multi-hitboxes"
- création de différents levels
- créations de différents ennemis
- créations de différents boss
o boss 1 : "rotating shield" avec multiples cannons
o boss 2 : "threwing saws"
o boss 3 : "Gun Crab"
o boss 4 : "Demoniac Snake"
o boss 5 : "Space Octopus"
o ...
o boss of the boss "Zgrog Master"
- création de séquences avec les boss (différentes phases)
- créations de différentes armes
- [DONE - CAN BE IMPROVED] créations de différents bonus
- création de shields pour se protéger
## Modes spéciaux
- mode menu avec différentes planètes à selectionner pour les différents niveaux
- mode hyperspace travel pour les transitions :
- sous mode : à la "Tie fighter" ?
- sous mode : éviter les astéroïdes
- sous mode classique shmup horizontal
- sous mode classique shmup vertical
- sous mode Danmaku / Bullet Hell (par exemple contre les boss)
## Interface :
- Page d'accueil
- Choix du niveau/séquence (un écran avec choix de planètes par exemple ou de galaxies)
- Ecran de titre
- transitions style "hyper space" serait vraiment cool
## Histoire (à peaufiner)
En tant de Space Marshall, votre rôle est de faire respecter
la loi intergalactique et de punir les contrevenants afin d'assurer
la paix et le bon vivre ensemble des différentes civilisations aliens
vivant dans votre zone de l'espace à surveiller.
Votre périmètre englobe le Grand Amas de RUZA-25f/s dans ons entièreté
et armé de votre vaisseau, vous devez aider les civilisations
locales en pourchassant et anéantissant les hordes de Zgrog.
Cette race alien robotique s'est donné pour but de coloniser les planètes
et les stations orbitales géantes afin d'y faire disparaître toute
vie organique.
C'est donc un combat sans relâche que de traquer et de détruire cet
envahisseur dénué d'âme.