Logo du site

Jeu Vidéo 3

Techniques d'intégration multimédia

Projet Synthèse - Jeu à tuiles (travail individuel)


illustration du travail synthèse

The Binding of Isaac
par E. McMillen et F. Himsl, 2011

Description

Le but du projet est de réaliser un jeu basé sur des tuiles et ayant des caractéristiques de fonctionnement inspirées à la fois des jeux d'aventure classiques comme The Legend of Zelda et de certains jeux "Roguelike" ou "Roguelite" comme The Binding of Isaac.

Remarques importantes:


Ce travail est strictement individuel.

Vous êtes autorisés à intégrer du code tiré des exemples réalisés en classe et du site du cours de Jeu Vidéo 3 dans votre projet.

Cependant, vous ne devez en aucun cas partager votre code avec un élève ou utiliser du code dont vous n'êtes pas l'auteur ( excepté pour le code des exercices faits en classe avec l'enseignant ou provenant du site officiel du cours de Jeu Vidéo 3 ).

En aucun cas vous n'êtes autorisés pour ce travail à utiliser des scripts ou assets provenant du Asset Store de Unity.



Projet de départ

Il n'y a pas de fichier de départ pour ce projet. Vous devez débuter en utilisant le fichier gabarit utilisé habituellement.

Date de remise (remise.cstj.qc.ca ):


  • Groupe 101→Mardi 16 décembre, avant minuit
  • Groupe 102→Jeudi 18 décembre, avant minuit
  • Groupe 103→Vendredi 19 décembre, avant minuit

Veuillez noter que la journée de la remise en tant que tel, je ne répondrai à aucune question concernant le projet après 18h.


Fichiers à remettre:

Vous devez remettre sur remise.cstj.qc.ca votre dossier de projet Unity portant votre matricule comme nom et compressé en .zip



Pondération

Ce projet synthèse vaut 40% de la note finale du cours.


Exigences techniques
  • Le projet doit être en mode 2D ( et non 3D )
  • Le jeu doit être en vue du haut des airs (top down, avec graphisme "2.5D" si désiré) et non pas de côté (side scroll) comme un jeu de plateforme à la Super Mario Bros.
  • Le jeu n'est donc pas un jeu de plateforme (platformer)!
  • La scène doit être en ratio 16:9, en orientation paysage (Le gabarit usuel est déjà réglé ainsi).
  • Le jeu lui même:
  •             Le jeu est composé de 3 "salles" ou "zones" distinctes que le joueur va explorer:
  •             Salle 1: Pièges!
  •                         Description: C'est la salle de départ du personnage.
  •                         Petit jeu d'adresse simple (des pièges à éviter)
  •                         Exemple: 3 murs mobiles font des
  •                        allers-retours. Le joueur doit se synchroniser avec ces murs quand il tente de traverser la salle
  •                        afin d'éviter de se faire frapper...
  •             Salle 2: Puzzle simple
  •                        Description: 3 ou 4 items à activer et/ou ramasser dans un ordre précis.
  •                        Ces items sont disposés au hasard à chaque fois que le joueur entre dans cette salle.
  •                        Si il réussit, l'accès à la salle 3 est possible.
  •                        Exemple: Allumer dans l'ordre 3 chandeliers. La porte menant à la salle 3
  •                         s'ouvre alors. Si les chandeliers sont allumés dans le mauvais ordre, dès qu'on
  •                        tente d'ouvrir la porte ils s'éteignent...et il faut essayer de nouveau.
  •             Salle 3: Boss Fight!
  •                        Description: Le joueur doit vaincre un "Boss" dans cette salle!
  •                        Si il réussit, afficher un message de victoire! Sinon il recommence dans la salle 1...
  •                        Exemple: Une statue géante pivote sur place en
  •                         tirant des éclairs dans des directions aléatoires. Elle possède 100 points
  •                        de vie, affichés sous forme d'une barre de vie. Le joueur peut l'attaquer
  •                        avec son lance-pierre, qui fait 10 points de dégâts par coup...
  •                        Ça va être long et périlleux!
  • Les environnements de jeu doivent être composés majoritairement avec des tuiles.
  • Format des tuiles: 16X16, 32X32 ou 64X64.
  • Vos 3 salles doivent être de dimensions proches de celles de la scène.
  • Le jeu doit comporter (et afficher) un nombre de vies / essais pour le joueur.
  • Le jeu doit comporter un "personnage" animé ("marche" et "idle" au minimum) et contrôlé par l'usager (WASD).
  • Le jeu doit comporter des obstacles (murs par exemple) et gérer les collisions avec ces obstacles adéquatement.
  • Le jeu doit comporter des effets simples mais appropriés ( ex: explosion, désintégration, porte qui tourne pour s'ouvrir, etc. )
  • Le "Boss" à affronter ne doit pas nécessairement être mobile. Et si il est mobile, il n'a pas besoin de se déplacer spécifiquement vers le joueur (ses mouvements peuvent être aléatoires).
  • Tous les boutons doivent réagir visuellement lorsque survolés ou enfoncés.
  • Raccourci exigé: En tout temps, si on appuie sur la touche d'échappement (Escape) le jeu recommence.
  • Raccourcis exigé: En tout temps, presser la touche 1, 2 ou 3 téléporte le personnage directement dans la salle 1, 2 ou 3 respectivement.
  • Le jeu doit mettre en oeuvre des effets sonores (selon les actions) et une musique d'ambiance (ou un son ambiant).
  • Minimisez le poids du projet (attention particulière aux sons!).
  • Remis en .zip seulement.
  • Pour ce projet, Il n'est pas exigé que tout le graphisme soit réalisé par vous. Si vous basez votre jeux sur les graphiques d'un jeu existant (exemple: Zelda) vous devez OBLIGATOIREMENT mentionner vos sources sur l'écran d'ouverture du jeu, par exemple avec une phrase telle que: "Graphisme basé sur le jeu Zelda (NES) et utilisé ici dans le cadre d'un projet scolaire." Comme toujours, vous pouvez aussi utiliser des éléments libres de droits provenants du site OpenGameArt.org en mentionnant les auteurs lorsque c'est requis.
  • Tout le texte utilisé dans votre projet et visible à l'éxécution doit être en français ( incluant le titre du jeu lui-même )
  • Navigation de base à mettre en place:
    • Écran d'ouverture, avec le titre du jeu, votre nom et les instructions nécessaires ( touches de jeu à utiliser... ) et les mentions de "Crédits" / Droit d'auteur
    • Écran de Jeu
    • Écran (ou message superposé) de fin de partie (Victoire!) avec un bouton permettant de rejouer.
  • Respectez les normes de nomenclature vues en classe.
  • Pour ce travail, vous devez commenter votre code (voir les notes de cours à ce sujet).

Schéma de navigation
Schéma de navigation
Évaluation

Ce projet compte pour 40% de votre note finale. Son évaluation est répartie ainsi:

40% critères généraux:

  • 10% - Graphisme: Intégration et qualité ( sprites / animations / effets visuels )
  • 10% - Sons: Intégration et qualité (effets et musique)
  • 10% - Organisation: Hiérarchie et assets ( noms des objets et sprites, élimination des éléments superflus, etc. )
  • 10% - Jouabilité / Originalité

60% critères de programmation:

  • 5% - Nomenclature ( noms de variables / constantes / classes / etc. )
  • 5% - Organisation et lisibilité du code
  • 10% - Commentaires(quantité adéquate et pertinence)
  • 10% - Communications efficaces entre les objets
  • 10% - Encapsulation ( private / public / getter / setter )
  • 10% - Qualité du code ( code concis / répétitions inutiles évitées / usage des fonctions )
  • 5% - Code "au dur" évité ( valeurs dynamiques et non numériques autant que possible )
  • 5% - Navigation fonctionnelle
Pénalités applicables:
  • Code non-fonctionnel :
    • Ne s'exécute pas du tout (-10%): Je dois corriger un bogue pour pouvoir exécuter le jeu...
    • S'exécute initialement, mais bloque de façon majeure ou "plante" éventuellement. (-5%)
  • Exigences techniques non-respectées
    • Pour chaque critère du devis significatif non respecté (-5%)
  • Jouabilité problématique :
    • Jeux presque impossible à jouer (vraiment trop rapide/lent, mauvais contrôles, etc.) (-5%)
    • Mauvaise ergonomie (absence d'indication des touches à utiliser, boutons non-réactifs, etc.) (-5%)
  • Mauvaise qualité de la langue ( jusqu'à -10% )
  • Problèmes dans la remise :
    • Retard (-10% / jour)