
BioBar
Un jeu d'escape room en 3D en vue FPS, inspiré de la Direction Artistique de Bioshock.
On y incarne une jeune femme piégée dans un jardin sous-marin, d'où elle tentera de s'échapper. Mais elle n'est pas seule...
Projet de 3ème année d'études, réalisé avec Loeiz Legrand, Carla Herry, et Marie Duarte.
Genre
Escape Room
Support
PC / Unreal Engine 4
Date
Mars 2021 - Juin 2021
4 mois
Rôles
Game Designer,
Level Designer,
Script Blueprint,
Modélisation
Game Tester
Contexte
BioBar est le premier projet de jeu vidéo notable réalisé dans le cadre de mes études, en 3ème année.
Avec une équipe composée de 4 personnes, nous devions en 3 mois fournir un jeu vidéo d'escape room fait sous Unreal Engine 4, et dont la Direction Artistique devait s'inspirer de celle de Bioshock, d'où son aspect "Art déco".
Pour ma part, j'ai participé au Game Design du jeu, fait la modélisation du bâtiment, et ai réalisé l'entièreté du script permettant de faire fonctionner le jeu.
Walkthrough
Voici ci-dessous un walkthrough du jeu complet en vidéo.
Level Design
L'escape room se déroule dans un immense jardin sous-marin, avec un bar au niveau de son entrée, ainsi qu'un étage au bar et deux plateformes en hauteur qui surplombent le jardin.
​


Légende :
Start : le joueur commence dans l'antichambre du bar, où se trouve également la porte de sortie.
1 : Comptoir. Le joueur doit saisir le verre à cocktail différent pour ouvrir l'accès aux jardins.
2 : Bobine de cuivre. Quand le joueur la récupère, le monstre fait un bruit et son casque émet de la lumière.
3 : Générateur sud. Il faut y déposer la bobine pour le réactiver et remettre en marche l'ascenseur sud.
4 : Note de l'agent d'entretien. Le joueur y trouvera le code pour actionner le générateur nord.
5 : Générateur nord. Une fois le code entré correctement, il activera l'ascenseur nord.
6 : Arme du crime. Elément narratif qui permettra d'accéder à l'étage du bar.
7 : Porte de l'étage. Possède un verrou où peut s'insérer l'arme du crime, ce qui la déverrouillera.
8x : Enigme finale. Point de vue duquel on peut observer le code final à l'intérieur du globe, sous forme de symboles. La clé de cette énigme réside dans les mémos éparpillés dans la zone de jeu, donnant au joueur les chiffres composants le code final.
Exit : Porte de sortie, nécessitant un code à 4 chiffres pour être ouverte et gagner le jeu.
Plans par Marie Duarte
Scripting
Cette section est dédiée à la présentation d'exemples de scripts utilisés dans le jeu. A l'époque, je venais de débuter le visual scripting sur Unreal Engine, par conséquent, ces scripts ne sont pas aussi optimisés que ceux que je fais aujourd'hui, mais ce sont mes débuts !

Gameplay : Porte
Les portes de notre jeu étaient simples : si le joueur interagissait avec, selon leur position, elles s'ouvraient ou se fermaient. Cependant, je suis allé plus loin, en prévoyant le fait que le joueur puisse interagir plusieurs fois avec la porte avant qu'elle n'ait fini son animation. Ainsi, via une timeline, j'ai pu faire en sorte que l'animation soit inversée autant de fois que nécessaire pour que cela paraisse fluide et logique pour le joueur.

Gameplay : Bobine
La bobine est un élément simple d'interaction avec le joueur. Quand le joueur la prend, elle produit un son puis disparait, ayant intégré l'"inventaire" du personnage. Un message sur l'interface indique également que l'interaction est un succès.

Gameplay : Mémos
Les mémos, pour paraitre logiques, devaient disparaitre de leur emplacement pour être mis à la vue du joueur, puis retourner à leur emplacement de base une fois que le joueur a fini de les lire. Pour cela, j'ai utilisé un widget qui affichait en grand le mémo sur l'écran du joueur, tandis que l'objet disparaissait, et inversement, donnant l'illusion que le mémo était pris par le personnage pour le lire.

Gameplay : Serrure
La serrure est un élément de gameplay dont le feedback est une petite animation impliquant l'arme du crime. Pour cela, j'ai fait apparaitre un composant de mon script et utilisé un Move Component To pour l'animer, donnant l'impression au joueur qu'il a utilisé l'arme qui se trouve dans son inventaire.

Gameplay : Ascenseur
Les ascenseurs du jeu avaient deux positions fixes : leur position de base en bas et une position en haut, ce qui était suffisamment simple. J'ai également prévu que le joueur pouvait redescendre par un autre moyen que les ascenseurs et ai aussi créé un terminal capable de les rappeler d'en bas.

Gameplay : Digicode
Il s'agit de loin du script le plus compliqué que j'ai fais à l'époque, puisqu'il implique d'utiliser un widget placé directement dans la zone de jeu. Néanmoins, j'ai réussi à obtenir un résultat fonctionnel et ai pu progresser dans ma maitrise du script. Chaque digicode possède une série de chiffre correcte et changeable dans l'éditeur, et se réinitialise en cas d'erreur, accompagné d'un son de feedback pour le joueur.

Matériau : Eau des bassins
Le matériau d'eau des bassins prend plusieurs paramètres en compte afin d'apparaitre plus réaliste. Cela inclut la profondeur de l'eau et l'angle de caméra par rapport à elle. Les vaguelettes quand à elle sont produites avec 3 normales en déplacement contant.

Matériau : Caustique d'eau
Ce matériau a été créé pour imiter les reflets de la lumière dans les bassins d'eau, et rendre notre environnement sous-marin plus crédible. Comme il s'agit d'un Decal qui doit s'appliquer partout, il était nécessaire de le faire fonctionner en World Position, pour qu'il ne se déforme pas bizarrement dans un axe.

Son : Musique
Le musique utilisée dans notre jeu se coupe si le joueur s'éloigne trop et reprend à l'endroit où elle s'est coupée si le joueur se trouve à nouveau suffisamment proche. Par l'utilisation d'une timeline, il est possible d'enregistrer quand la musique s'est arrêtée et la faire repartir du même moment.

Son : Sons d'impacts de verre
Ceci est un exemple de son rendu aléatoire, lors d'un impact de verre avec un autre objet. Le script choisi au hasard un des 4 sons prévus à cet effet et lui applique un multiplicateur de hauteur lui aussi aléatoire, produisant ainsi à chaque impact un son différent et plus réaliste.
