Document Scripting
Document Scripting
Document regroupant les ingrédients du jeu et leur fonctionalité
Document regroupant les Tools LD ou ART à utiliser dans les niveaux du jeu
CORE avec ANIMA
OVERVIEW :
Les jeux Equinoxe et Anima ont une base de code commune. De cette base partira les deux projets à l'issue de la deuxième semaine de production.
Les deux jeux sont produits sur l'engin de jeux UnrealEngine 5.3. Le langage de scripting choisi est le BluePrint, un système nodal spécifique à Unreal.
Les systèmes de jeu sont conçus pour la navigation et les puzzles. Il n'y a ni ennemis ni combats.
Note : Le système de changement de personnages comprend quelques divergences, et certains personnages ont des comportements qui leur sont propres.
PLANIFICATION ET DECOUPLAGE :
La programmation des deux jeux est guidée par une logique de découplage.
L'objectif est de donner aux concepteurs de niveaux une boite à outils modulaire, et ainsi permettre une souplesse dans l'assemblage des ingrédients.
Selon cette logique, un "BluePrint" (Objet interactif contenant son propre code) doit être limité à une fonction unique.
Pour permettre ce découplage, le scripteur à plusieurs options à sa disposition :
-Des parentés d'objets
-Des interfaces
-Des composants ("BluePrint Component")
Pour Equinoxe et Anima, il a été choisi par les équipes de scripting d'explorer l'utilisation des composants. Ces derniers sont particulièrement efficace dans Unreal Engine.
NOMENCLATURE :
-Variables : camelCase
-Classes / Fonctions / Méthodes / Assesseurs / Constructeurs : PascalCase
-Constantes : MAJUSCULES
-Booléens : Commencent par is, has ou autre verbe indicateur de la fonction.
-Variables privées : Ne commencent pas par un underscore.
-ScriptableObjets : Commencent par SO_
-Interfaces : commence par BPI_ fini par able
-BluePrint : commence par BP_
-BluePrint component : commence par BPC_
Voir la Convention de code au Campus ADN, rédigée par Annick Dumais pour plus de détails.
OBJETS COMMUNS :
-Les 3C's de base :
-Deux personnages à la troisième personne et leurs contrôles à la manette.
-Un système de caméras avec des possibilités d'évènements scriptés.
-Un système de changement de personnages ("switch")
-Un menu principal.
-Un système de sauvegarde.
-Un système de points de passages.
-Un système de changement de niveaux avec écran de chargement.
-Un système de vies et de ressources.
-Des Échecs critiques ("Fail State") et réapparitions ("Respawn").
-Un système d'activation à la collision ("Trigger")
-Un multiplicateur d'évènements pour un meilleur découplage.
-Plateformes.
-Un synchronisateur de plateformes.
-Un système de rails ("Splines") pour les déplacements d'objets.
-Des composants pour les objets.
-Objets attrapables (Oeil dans Equinoxe et pile dans Anima) et activateurs d'événements.
RAPPEL DES CONTRAINTES :
-Jeu en français, comprenant tout les textes écrits et le nom des assets (à l'exception des variables)
-Jeu réaliste
-Échelle humaine
-Crédibilité et logique du design
-Deux cinématiques
-Pas d'évènements scriptés narratifs.
-Objectifs clairs à l'écran (UI)
-Pas de vrai miroirs
-Éclairage dynamique
-Pas de modification majeure des ingrédients
86