# Flipp3r
## Liste de tâches
Ces tâches seront réparties dans les cahiers des charges respectifs des différents étudiants qui travailleront sur le projet, en essayant de minimiser le recouvrement et les dépendances entre les étudiants.
### Tâches prioritaires
* problèmes de projection (nb de projecteurs, taille du pixel, raccords, lentilles, ...)
* adaptation des modèles 3d
* Import, configuration et gestion des assets (fichiers, modèles 3D, etc.)
* effets visuels / spéciaux (fumée entre autres) - ingame ou irl ?
* Illumination temps-réelle
* Illumination globale (lightmaps, etc.)
* aspect sonore
* Interfaçage boutons et capteurs / Input Manager dans Unity
* Tests fréquents : tout fonctionne, améliorations du gameplay (à tester à 3 !)
* Affichage du panneau vertical (scores, états, bonuses, ...)
* Intégration continue des différentes parties
* Simulation physique des éléments (billes, bumpers,etc.)
* Conception du gameplay
* Décider (et valider) la plateforme finale (PC ? Quelle configuration ? Quel Render Pipeline pour Unity ?)
* Design et Architecture du projet dans Unity (Prefab, assets, scenes, etc.)
* Implémentation des shaders requis (ShaderGraph ou ShaderLab)
### Tâches secondaires
* UI pour le dessin et tweak des settings
* gameplay solide et amusant tout en restant accessible
* gestion des scores de chaque joueur
* mécaniques d'interaction entre les joueurs, par ex. Le joueur "2" pourrait, en frappant de sa bille un objet particulier (volontairement ou non), couper la lumière chez un autre joueur...
Comme les billes vont naviguer entre les zones de jeu et passer d'un joueur à l'autre, il sera important d'éviter les failles de gameplay qui pourraient rendre l'expérience inégale.
* transformations du terrain, modes de jeu alternatifs
## Partage des tâches
* Approches :
* par zones ? (plutôt non)
* par prefa ? (plutôt non)
* par compenent (physique, particules, geometrie, lumière, ...) semble plus efficace
## Intérêt au 26.01 :
1er choix : Costa Bruno, Faivre Corentin, Meier Simon
2ème : Lopes da Silva Diogo, Boegli Lenny, Boillat Ilyas
3ème : Picone Adam, Muller Léon
## Divers
Il y aurait suffisamment d'idées pour donner du travail à 3 étudiants, mais DGR craint des effets négatifs d'un projet de groupe (1 se "cache" dèrrière les autres, gestion du groupe, ...). Le point pourrait être tranché en voyant si on arrive à splitter la liste des tâches en 3 cahiers des charges peu couplés.
# Commentaires de Christopher :
Cela m'a déjà l'air d'être très complet, comme je ne veux pas déstructurer la liste, je propose quelques idées supplémentaires ici, à vous de voir si il est possible de les intégrer en tant que tâches séparables par étudiants.
-Création des objets de test pour créer un gameplay/collisions fonctionnel :
(développement et test du jeu avec des objets non détailés afin de trouver des trajectoires/collisions possibles pour la bille... il me semble que cette tâche sera capitale, juste après la création du moteur psysique pour réelement tester correctement le gameplay avant d'y intégrer des modèles 3d et autres effets). **COMMENT PAR BLC :** oui, je pense aussi que c'est important de pouvoir avancer rapidement sur le développement sans attendre les assets finaux.
-Export des Objets de test :
(Ex : Une fois qu'une rampe est fonctionelle et bien intégrée dans le gameplay, il fautra que l'étudiant exporte la boîte de collision et me l'envoie, après quoi, je me servirai de cette structure pour modéliser l'objet final, qui sans collisions, sera superposé à la boîte de collision originale et fonctionelle sur Unity, un peu comme un enrobage ésthétique d'un objet fonctionel). **COMMENT PAR BLC :** je pense que c'est mieux de le faire dans l'autre sens : on reçoit des versions simples modélisés en 3D. Ensuite, il suffit de les améliorer au fur et à mesure et les intégrer dans Unity en continue.
-Responsable du Gameplay/Testing :
J'ignore si cela peut entrer dans le cadre de l'école, mais étant donné que le jeu devra être tester à trois joueur, il est possible d'affecter à l'un des étudiants un rôle de lead dans le domaine du testing, il sera chargé de prendre en compte tous les problèmes majeurs de gameplay (bugs ou temps-morts dans le jeu) et d'affecter les corrections à executer à l'élève s'occupant du domaine concerné.
-Animations :
Ici je penses qu'il peut être bon de séparer les domaines de l'animation en plusieurs sections :
1- Animation des collisions psysiques
(ex : flippers, et recul d'un bumper touché par la bille ou un tremblement après un choc avec la bille..)
2- Animation des mouvements du décor
(ex : engrenages qui tourneraient dans le fond (éléments non-interactifs))
3- Animation des lumières en relation avec les évenements de jeu
(ex, une série d'indicateurs lumineux s'allument ou clignottent en chaîne lors d'un bonus)
4- Création de cinématiques ou animations du terrain de jeu en cas de défaite des joueurs, ou, animation de début de partie, voir une eventuelle animation de mise en veille de la machine...
5- Animations complémentaires ; jets de vapeurs, fumées.
Pour une potentielle séparation en 3 sections avec, pour chaque étudiant 8 tâches.
(A vous de voir si cela semble cohérent)
Etudiant A :
-Gestion de la projection
-Responsable correction des bugs de gameplay
-Intégrations des samples/Musique
-Animations indicateurs lumineux
-Gestion des Scores Globaux
-Animations passives (décor)
-Gestion des interactions entre les joueurs
-Gestion des scores personnels
Etudiant B :
-Gestion de la plateforme/matériel
-Interface boutons
-Responsable rendu graphique
-Moteur psysique
-Intégration des boîtes de collisions
-Gestion des lumières globales
-Animations physiques (collisions)
-Interactions bonus et malus inter-joueurs
Etudiant C :
-Gestion de la scene de jeu (caméras, périmètre)
-Responsable de la cohérence du Gameplay Global
-Gestion des shaders
-Création des boîtes de collision
-Partage des boîtes de collisions
-Intégrations des modèles 3d complets
-Animations visuelles (Fx)
-Animation de début/fin + Veille
(Je vous joins également mon numéro de téléphone par mail (Je suis disponible pour appels ainsi que sur What's app ou Telegram)
Commentaire de Mandril
Voilà une série de concepts et d’idées sur flipper A3. Afin d’éclaircir certains points et de répondre aux premières questions, il serait intéressant d’organiser une première rencontre avec les étudiants. Ceci ne les engagerait en rien mais ils auraient une vision globale plus complète du projet et des différents effets geeks qui dépassent le simple simulateur de flipper.
-Malus; changement de gravité, inversion et augmentation. effet bullet-time.
effet masque de fumée
distorsion (inclinaison) et simulation de tilt
effet balle en feu, arc électrique (réf: arkane),
mode tron wipeout et outline des éléments
passage dimensionnel des boules (effet porte stargate)
déformation sol et envoi de vagues (onde gravitationnelle; effet wipeout https://youtu.be/5UVNCRae3OA?t=3619)
vocabulaire et piste:
-Claquer : gagner une ou plusieurs parties gratuites en atteignant le score indiqué, en atteignant un High score, en gagnant à la loterie (ou « match ») de fin de partie. Le jeu émet alors un « CLACK »
-Fourchette : permet à un joueur de sauver une bille filant vers la sortie centrale en actionnant rapidement l'un puis l'autre flipper.
-Coulante : action d'une bille s'échappant à faible vitesse par les couloirs latéraux, après avoir touché les plots d'entrée de ces couloirs.
-Avion, Cave : action d'une bille partant du haut du plateau avec une trajectoire quasi verticale et s'échappant vers la sortie centrale sans que le joueur n'ait pu la toucher. Très frustrant pour le joueur, surtout débutant, et cause fréquente du « syndrome de la vitre étoilée ».
-Garage : perte de la bille par passage direct dans un des couloirs latéraux. Contrairement à la « coulante », le garage est beaucoup plus rapide (la bille ne touche pratiquement aucun élément avant de s'engager dans le couloir).
-Gabrielette : péjoratif. Lors d'une « gabrielette » le joueur perd simultanément les billes d'un multibille (de deux à quatre billes simultanément).
-Syndrome de la vitre étoilée : certains flippers sont connus pour leur facilité déconcertante à perdre la bille (citons le Dr Dude de Bally, célèbre pour ses « avions » en raison de l'espacement des flippers, qui est de deux fois le diamètre de la bille). Par frustration, certains joueurs donnent un violent coup sur la vitre pouvant la briser sans la disloquer.
-Amorti : simple pression sur le bouton commandant la levée d'un des deux flippers du bas, dans le but de stopper une bille arrivant lentement par le couloir situé sur le même côté que le flipper actionné, afin qu'elle reste immobile dans le creux et de donner au joueur suffisamment de temps pour viser un endroit particulier du plateau et relancer cette bille.
-Une variante de cet amorti dit classique, l'« amorti-stop », consiste à commander le flipper à l'approche d'une bille arrivant par le centre et assez vite, de manière que la force générée par cette action vers le haut compense exactement la force vers le bas de la bille, la stoppant net sur le bout du flipper. Si la bille arrive trop rapidement, l'amorti peut se terminer par un garage et un "syndrome de la vitre étoilée