Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PortalDashDemo.mp4

Technical Design Document (TDD)

Table of Contents

  1. Introduction
  2. Gameplay
  3. Interface Utilisateur (UI/UX)
  4. Architecture Technique
  5. Plan de Développement
  6. Ressources et Références
  7. Nomenclature
  8. UML
  9. Optionnel

1. Introduction

1.1 Nom du projet

Nom du jeu : Portal Dash
Équipe : GTech3: Gathelier Axel, Enzo Mirabella, Romain Ponsignon, David De Oliveira, Axel Picou
Date de création : 18-02-2025
Version du document : 1.1.0

1.2 Objectif du projet

Résumé du concept du jeu : Un endless runner en 2.5D où le joueur traverse des portails changeant à la fois l'environnement et le gameplay, passant d'un surf dans la neige façon Alto, à un vol inspiré de Geometry Dash dans un monde futuriste spatial, puis à une course sur des voies ferrées façon Little Big Planet dans une mine.

1.3 Plateformes et technologies


2. Gameplay

2.1 Mécaniques de base

  • Type de jeu : Runner infini
  • Déplacement : Automatique vers la droite
  • Contrôles : Swipe haut/bas, tap
  • Obstacles et dangers : Differents obstacles en fonction de la thématique du monde/portail
  • Collectibles : Pièce dispersé dans les mondes
  • Pièce : Servent à acheter des boosts à utiliser en début de game ou les améliorer

2.2 Système de portails

  • Fréquence d’apparition : Les portails apparaîtront après temps donné dans le level.
  • Effets visuels et sonores associés : fondu au noir + son de traversé du portail_
  • Conséquences sur le gameplay : Impact sur la difficulté due au changement de gameplay répété, modification de la mécanique de gameplay
    • Portail du niveau de la neige : Passage à un gameplay de surf. Le joueur glisse sur une pente et doit appuyer sur son écran pour sauter et esquiver les différents obstacles. Plus le joueur appuis longtemps, plus il saute haut (dans la limite du raisonable/ valeur de hauteur max à attribuer plus tard).
    • Portail du niveau de la mine/western: Passage à un gameplay de choix (le joueur a le choix de plusieur voie a certains point de la carte)
    • Portail du niveau futuriste : Passage à un gameplay type vaisseau Geometry Dash

2.3 Power-ups et objets spéciaux

  • Types de power-ups : Un power-up commun pour chaque monde "bouclier", ainsi que 2 power-up par niveau

    • Western:

      • Lasso "Aimant qui attire les pièces";
      • TNT "Détruit obstacle activation automatiquement";
    • Neige:

      • Planneur "S'active en saut";
      • Vin chaud "x2 en pièce";
    • Futuriste:

      • Laser "Détruit les obstacles, activation automatique";
      • Dash "Wrap sur une distance prédéfinie tant mètres";
  • Durée d’effet : En fonction du temps en seconde

  • Méthode d’obtention : Collectable dans les niveaux

2.4 Système de Score et Progression

  • Calcul du score : Le score se calcule par la distance parcourue dans la game. La métrique utilisée est le mètre.

  • Système de missions : Il y a des objectifs de base qui dès qu’ils sont complétés, des nouveaux apparaîtront. Il y a également des missions hebdomadaires qui sont bien plus longues à réaliser, et ces quêtes se réinitialisent toutes les semaines.

  • système de mise à niveau des power-ups pour prolonger leur durée ou renforcer leurs effets.


3. Interface Utilisateur (UI/UX)

3.1 Éléments du HUD

  • Affichage du score : En haut à gauche; Score qui s'incrémente en temps réel
  • Affichage des power-ups actifs : Icônes rondes; Timers visuels sur l'icône (icône affiche le timer sous forme de la perte de couleur de l'asset en fonction du temps et dans le sens de temps)
  • Boutons et interactions in-game : Bouton pause en haut à droite sous forme d'icône; Interactions avec le jeu en appuyant partout autre que sur le bouton pause

3.2 Menus et navigation

  • Écran titre : Bouton regarder une pub pour un bonus; Bouton pour aller dans les paramètres; Bouton invisible au milieu de l'ecran pour lancer la partie (comme Subway Surfer); Affichage des objectifs en cours en bas au milieu de l’écran
  • Paramètres : Volume (Musique, Bruitage); graphismes (Low, Medium, High)
  • Pause : Accès aux paramètres; Affichage des objectifs en cours

4. Architecture Technique

4.1 Organisation du projet Unreal Engine

  • Structure des scènes : Scene Menu Principale, Scene Jeu, Scene Ecran de Chargement
  • Système de génération du niveau : Chunk pré-générer placé de façon aléatoire
  • Gestion des assets : Les chunks hors affichage sont Destroy
  • Système de gestion des portails : Post Process avec shake de la camera + fondu au noir + FX
  • Sytème de sauvegarde : Unreal Engine Blueprint

4.2 Performances et optimisation

  • Techniques utilisées : Profilage (Permet de checker les performance)
  • Ciblage FPS : adaptatif

5. Plan de Développement

5.1 Roadmap

  • Phase 1 : Prototype de chaque gameplay des portails (1semaine)
  • Phase 2 : Ajustement des prototypes et ajouts des gameplay secondaires (1semaine)
  • Phase 3 : Ajout de l’UI et des feedbacks (2jour)
  • Phase 4 : Optimisation et tests (2jour)
  • Phase 5 : Release (25-04-2025)

5.2 Répartition des tâches

  • Développeurs : Gathelier Axel, David De Oliveira, Axel Picou, Enzo Mirabella, Romain Ponsignon
  • Graphistes/UI : Axel Picou, Enzo Mirabella
  • Sound Design : Romain Ponsignon, Gathelier Axel
  • Testeurs : Gathelier Axel, Gaming Campus

6. Ressources et Références


7. Nomenclature

7.1 Généralités

  • Utiliser PascalCase pour tous les noms.
  • Préfixer chaque asset en fonction de son type pour faciliter l’organisation.
  • Éviter les abréviations trop courtes ou non standardisées.
  • Utiliser des noms explicites et descriptifs.

7.2 Préfixes des assets

Type d’Asset Préfixe Exemple
Blueprint (objet) BP_ BP_PlayerCharacter
Blueprint (interface) BPI_ BPI_Interactable
Blueprint (fonction utilitaire) BPF_ BPF_MathLibrary
Matériau M_ M_PlayerSkin
Matériau Instance MI_ MI_PlayerSkinRed
Texture T_ T_UI_HealthBar
Static Mesh SM_ SM_RockBig
Skeletal Mesh SK_ SK_PlayerCharacter
Animation Blueprint ABP_ ABP_Player
Séquence d’animation ANIM_ ANIM_Run
Son S_ S_Explosion
Effet Sonore SFX_ SFX_PortalOpen
Musique MX_ MX_BackgroundTheme
Particule P_ P_Explosion
Widget W_ W_MainMenu
Niveau (Map) LVL_ LVL_MainMenu

7.3 Blueprints spécifiques

  • Les Blueprints d’acteurs doivent suivre la structure : BP_[Nom]
  • Les Blueprints composants : BPC_[Nom]
  • Les Blueprints de contrôleur : BP_Controller_[Nom]
  • Les Blueprints de GameMode : BP_GM_[Nom]
  • Les Blueprints de HUD : BP_HUD_[Nom]

7.4 Variables

  • Booleans : Préfixe b (ex: bIsJumping, bHasPowerUp)
  • Integers : i (ex: iScore, iHealth)
  • Floats : f (ex: fSpeed, fJumpHeight)
  • Vectors : v (ex: vPlayerPosition)
  • Textures : Tex_ (ex: Tex_IconPlayer)
  • Audio : Aud_ (ex: Aud_PortalSound)
  • Références d’acteurs : Ref_ (ex: Ref_PlayerCharacter)

7.5 Fonctions et événements

  • Les fonctions commencent par un verbe pour indiquer l’action : CalculateScore, SpawnEnemy, PlaySoundEffect
  • Les événements commencent par On : OnPlayerDeath, OnPortalEnter
  • Les macros sont préfixées par MACRO_ : MACRO_CalculateDistance
  • Les interfaces sont préfixées par I_ : I_Interactable

7.6 Dossiers du projet Unreal

La structure des dossiers doit être claire pour organiser les assets.

7.7 Commit

Description de l'action réalisée (Add:, Fix: ...) + description de ce qui a été ajouté ou modifié (EX: Add: class Player). Ajouter en description du commit quels fichiers on été Modifier/Supprimer/Déplacer/Ajouter.


8 UML

8.1 Diagramme général

uml behaviour drawio

8.1 Diagramme récupération de coin

Diagramme coin drawio


9. Features Optionnelles

Cette section regroupe les améliorations et ajouts envisageables si le projet est terminé en avance ou repris ultérieurement.

9.1 Boutique

Ajout d’une boutique permettant d’acheter des skins et des power-ups à l’aide de la monnaie du jeu ou de la monnaie payante.

9.2 Tutoriel

Mise en place d’un tutoriel interactif pour expliquer les mécaniques du jeu aux nouveaux joueurs.

9.3 Fonctionnalités Multijoueur

  • Leaderboard : Classement des joueurs en fonction de leurs scores.
  • Événements communautaires : Challenges et événements limités dans le temps.
  • Éditeur de niveaux : Outil permettant aux joueurs de créer et partager leurs propres niveaux.

About

Grand projet de fin d'année

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors