Narration immersif

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Comme la démonstration au-delà des ténèbres, une de nos premières décisions a été d'avoir autant de gameplay et d'histoire dites didactiquement à l'intérieur du monde lui-même.Cela peut être un processus difficile lorsque vous souhaitez équilibrer les progrès de communication du joueur à travers l'interface utilisateur tout en les faisant se sentir comme s'ils étaient vraiment dans le monde que vous avez construit.Pour répondre à ces objectifs pour notre expérience, nous avons divisé la façon dont nous communiquons des informations aux joueurs en quatre techniques :

  1. Signaux visuels - Objets, images ou arrangement de ressources qui renforcent passivement l'histoire ou donnent des conseils au joueur lorsqu'il a du sens pour le monde.
  2. Lore - Lorsqu'un joueur clique/touche sur des objets spécifiques dans la maison, des informations importantes sur l'histoire s'affichent sur l'ensemble de l'écran .Cette narration n'est visible que pour le joueur qui a cliqué/tapé l'objet.Le ton est toujours informatif en termes de ton et de phrasage.
  3. Bulles de pensée - Lorsqu'un joueur clique/touche sur des objets spécifiques dans la maison, une réaction de dialogue de texte s'affiche « près de l'objet » .Cette narration n'est visible que pour le joueur qui a cliqué/tapé l'objet.Le ton est toujours la première personne et observatoire.
  4. Annonces - Lorsqu'un joueur clique/touche sur un élément corrompu dans la maison, un dialogue en troisième personne s'affiche sur l'écran de chaque joueur en même temps .Cette narration transite parfois tous les joueurs vers l'état corrompu de la salle dans laquelle ils se trouvent.

Dans cette section, nous allons démontrer comment nous avons utilisé ces techniques et ces caractéristiques spécifiques pour immerger les joueurs dans notre récit tout en encourageant toujours l'exploration, en communiquant les progrès et en maintenant le gameplay à la fois intime pour le joueur individuel et équitable dans une expérience multijoueur.

Une annonce sur la superposition à l'écran des pensées internes du personnage.
Une bulle de pensée ou un dialogue spécifique à l'objet qui s'affiche lorsque vous sélectionnez certains objets.

Cues visuelles

Un signal visuel est un outil important pour renforcer la narration et dire aux joueurs ce qu'ils doivent savoir sur leur objectif sans utiliser de mots .En utilisant un arrangement de ressources, telles que les tableaux de craie, les statues et les papiers peints, nous avons pu fournir passivement une profondeur d'informations sur les principaux personnages de Duvall Drive, ainsi que des conseils sur la façon de terminer des puzzles sans avoir à inclure des éléments d'interface intrusifs.Nous avons commencé ce processus en déterminant d'abord ce que nous voulions communiquer au joueur, puis comment il serait pertinent de le communiquer dans le monde de notre expérience.Par exemple, nous voulions que les joueurs comprennent à quel point le grand-père était obsédé par sa mission de défier la mort, alors nous avons laissé sa chambre dans un désordre avec beaucoup de ses recherches et plusieurs murs avec ses pensées brouillées.

Des bribes dans toute la chambre du grand-père communiquent le caractère compulsif du grand-père.
Une abondance de sculptures et de photos de référence montre comment la fille est artiste.

Notre première règle était que si nous voulions utiliser un signal visuel pour enseigner quelque chose aux joueurs, il doit avoir une raison d'exister même si les joueurs ne sont pas présents.Si nous mettons un panneau géant avec des instructions claires sur ce qu'il faut faire pour un puzzle, cela semblerait déplacé à l'intérieur de la maison.Cependant, si nous avons établi un grand-père qui est consommé par le dessin sur tout, y compris les murs de sa chambre, il est beaucoup plus crédible d'avoir un tableau à craie avec son plan tracé pour le joueur à s'abonner.

Notre deuxième règle était que nous n'avons pas toujours besoin de dire aux joueurs ce qu'ils doivent faire ou comment résoudre des puzzles parce qu'ils sont éclairants pour leur environnement.Par exemple, parfois, une ligne électrique tombée dans une piscine d'eau suffit comme signal visuel pour communiquer que les joueurs sont en danger d'être électrifiés s'ils continuent à se déplacer dans cette direction.

Histoire

En plus d'utiliser des signaux visuels pour guider passivement les joueurs, nous avons également choisi d'afficher des informations importantes sur l'histoire de la famille sur l'ensemble de l'écran comme précurseur pour démarrer le puzzle de la salle chaque fois qu'un joueur a cliqué ou tapé sur des objets spécifiques dans la maison.Pour guider les joueurs vers les objets qu'ils devaient sélectionner pour que la lore s'affiche, nous avons utilisé l'effet visuel de surbrillance nouveau pour mettre en évidence des objets spécifiques par rapport à leur environnement.Cet effet vous permet de contourner et/ou superposer des objets avec une couleur spécifique qui correspond à la forme de l'objet lui-même, et de choisir si d'autres objets peuvent masquer la mise en évidence s'ils sont plus proches de la caméra.

Nous avons initialement utilisé Highlight pour chaque objet avec lequel un joueur pouvait interagir, mais le bruit visuel était écrasant et les joueurs ne sauraient pas clairement avec quoi interagir pour lire la lore.Nous avons décidé de l'utiliser uniquement pour mettre en évidence les éléments corrompus ou dangereux, et ce retour visuel a permis aux joueurs de conduire facilement l'histoire en avant.

Fait amusant : nous avions initialement des connaissances sur tout ce que vous pouviez cliquer ! Cela n'était pas utile car les joueurs n'étaient pas sûrs de l'information importante et de ce qui était juste pour le goût.Finalement, nous avons éliminé une grande partie du savoir et utilisé des signes visuels pour laisser le reste de la narration à l'imagination du joueur.

Après que le joueur ait cliqué sur l'objet avec la lore, nous avions besoin d'une façon d'afficher les informations en haut de l'écran.Nous avons décidé de créer une surcouche en utilisant un ScreenGui comme conteneur d'interface utilisateur sur écran avec un enfant Frame pour contrôler la redimensionnement et le redimensionnement de ses enfants TextLabels et ImageLabels .Nous définissons les positions et la taille des propriétés TextLabels et ImageLabels afin qu'elles s'ajustent visuellement ensemble et s'échelonnent pour différents joueurs d'appareils utilisant l'expérience.

TextLabels et ImageLabels affectent les éléments visuels de leur texte et de leurs images respectifs, y compris leur couleur, leur transparence, leur taille et leur arrangement.Pour TextLabels spécifiquement, vous pouvez ajuster leurs propriétés TextLabel.TextScaled et TextLabel.RichText pour contrôler le placement et le style visuel du texte.TextLabel.TextScaled vous permet de redimensionner le texte pour remplir l'espace de l'élément parent UI entier, et TextLabel.RichText vous permet d'utiliser des balises de mise en forme simples pour formater des sections de texte en gras, en italique, en couleur ou même avec différentes polices.

Nous savions que les joueurs accéderaient à cette expérience à partir d'une variété d'appareils, y compris l'ordinateur, la console et les appareils mobiles, et qu'ils devraient pouvoir cliquer ou toucher l'écran pour interagir avec l'expérience.Nous ne voulions pas d'un tas de boutons sur l'écran pour nous distraire de la narration, alors nous avons fait d'un bouton arrière invisible de la taille de l'ensemble de l'écran afin que les joueurs puissent soit cliquer ou tapper n'importe où sur l'interface pour fermer le contenu et revenir au partie.

Bulles de pensée

Nous avions besoin d'un moyen pour le personnage du joueur de communiquer des idées au joueur, comme fournir un goût narratif supplémentaire ou renforcer ce qu'il fallait faire.Notre solution était d'afficher des bulles de pensée, ou des réactions de texte du personnage du joueur , près des objets non-lore chaque fois que le joueur les a sélectionnés.Cette narration s'affiche uniquement au joueur qui a cliqué ou tapé l'objet, et le ton est toujours en première personne et observatoire.

Un système relativement simple mais puissant pour que le monde réagisse aux interactions du joueur !

Pour créer des bulles de pensée, nous avons parenté un BillboardGui avec un enfant TextLabel aux objets non-lore.Cela nous a permis d'afficher un dialogue dans l'espace 3D près de l'objet sans que le texte prenne toute la surface de l'écran.Semblable à notre processus de création de savoir, nous avons utilisé la propriété TextLabel.RichText pour style le texte et ajouter des effets visuels comme un autre être extra-terrestre interrompant les pensées du joueur.Ce qui suit est un exemple de HTML RichText utilisé pour créer l'image ci-dessous.

"What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

En utilisant TextLabels au lieu d'images, nous avons gardé le texte lisible par Roblox, et nous avons pu localiser automatiquement ce contenu et le rendre accessible à beaucoup plus de joueurs sans avoir à faire quoi que ce soit ! Pour plus d'informations sur ce processus, voir traductions automatiques .

Annonces

Bien que nous voulions que le personnage du joueur ait des réactions au monde, nous voulions également que le monde lui-même réagisse à sa présence.Pour atteindre cet objectif, nous avons inclus des annonces ou un dialogue en troisième personne qui affiche sur l'écran de chaque joueur à la fois .Semblable à la lore, nous avons créé des annonces en utilisant un ScreenGui comme conteneur d'interface utilisateur sur écran avec un enfant TextLabel .Nous avons également utilisé la propriété TextLabel.RichText pour changer la couleur, la police et la taille du dialogue pour aider à transmettre différentes «entités» parlant aux joueurs dans la maison.

Les annonces avec du texte blanc ordinaire étaient la réaction du personnage du joueur qui était générale pour une zone, pas un objet comme la technique narrative de l'histoire.
Les annonces avec du texte violet étaient la réaction d'une entité corrompue.
Les annonces avec du texte jaune étaient la réaction d'une entité restaurée.

En utilisant la propriété TextLabel.RichText et en fournissant quelques commandes HTML dedans pour piloter les changements, nous avons également été autorisés à faire des changements en cours de phrase ! Par exemple, le suivant marquage de texte enrichi nous a permis d'interrompre la réaction du personnage joueur par les pensées de l'entité corrompue :

What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

Nous avons eu plusieurs de ces types d'annonces, déclenchées par des volumes de parties invisibles dans lesquels les joueurs se sont retrouvés, ou en complétant certains objectifs.Pour éviter des dizaines de individuels ScreenGuis, nous avons utilisé un script séparé dans la démo qui nous a permis de fournir le texte que le script ajouterait ensuite à un seul objet que nous avons nommé StoryNote dans notre dossier PlayerGui.Cet objet était un seul ScreenGui avec un enfant TextLabel .En utilisant le scripting, nous pourrions injecter toutes les phrases que nous voulions directement dans le seul TextLabel, ce qui a rendu beaucoup plus facile de faire des modifications comme nous avons découvert comment et ce que nous voulions communiquer au joueur !

StoryNote était un objet que nous avons appelé pour toutes les instances qui l'ont déclenchée via un script.Ces mêmes scripts ont fourni le texte et la mise en forme que nous voulions pour chaque événement.
Exemple d'un script appelant cet objet et définissant le texte, par événement.
Le TextLabel était en fait vide, et en utilisant des scripts, nous avons injecté le RichText comme nécessaire à la même objet.