Ingrédients Portal 2 – Unreal Engine 5

En septembre 2023, je me suis lancé le défi de reproduire autant d’ingrédients de Portal 2 que possible en 2 jours, en utilisant Unreal Engine 5.3.

Étant donné ce laps de temps très restreint, mon intention n’était pas de créer une expérience “parfaite”. Ainsi, je me suis concentré sur la fonctionnalité des ingrédients.

Cal. de production

16-17 septembre 2023

moteur de jeu

Unreal Engine 5.3

mon rôle

Technical Designer

Plateforme

PC (Windows)

Intentions

Afin de pouvoir accomplir mon objectif, je devais trouver un moyen de créer et d’itérer sur des nouveaux ingrédients de manière rapide et efficace. J’ai donc fait une liste d’ingrédients que j’ai triée en deux catégories : objets “Interactifs” et “Alimentables”.

Objets “Interactifs” vs “Alimentables”

Les objets “Interactifs” transmettent du courant lorsque le joueur les utilise, tandis que les objets “Alimentables” reçoivent ce courant. Voici quelques exemples d’ingrédients triés par type :

“Interactifs”“Alimentables”
BoutonPorte
Récepteur de laserPont de lumière
Faisceau de lumière
Distributeur de gel

Conception d’un système permettant des itérations rapides

Une fois que les fonctionnalités de base de ces deux types d’ingrédients étaient établies, j’ai pu me concentrer sur la conception de la pipeline de création d’ingédients.

Voici un organigramme qui résume le tout :

Habiletés du personnage

J’ai ensuite commencé à travailler sur les habiletés du personnage, nécessaires afin de faire fonctionner les derniers ingrédients que je voulais créer : les boutons, ainsi que les distributeurs de gel bleu et orange. Le personnage devait être capable de ramasser et lâcher des cubes et de reconnaître le type de surface sur laquelle il marchait.

Ramasser et lâcher des cubes

Lorsque le joueur appuie sur la touche E, le personnage émet un Box Trace qui cherche des cubes devant la caméra. Si un cube est trouvé, il est déplacé vers un emplacement cible situé en avant du joueur. Ensuite, la rotation de la capsule du joueur est assignée au cube, afin que les cubes laser tombent toujours dans la bonne direction.

Enfin, le cube est attaché au joueur à l’aide d’une Physics Constraint. Si le joueur appuie à nouveau sur la touche E, cette contrainte est brisée, laissant ainsi le cube tomber.

Gels et boutons

Afin de pouvoir créer les gels orange et bleu, j’ai décidé d’ajouter deux types de Physical Surfaces dans les réglages du projet. Le personnage cherche ces surfaces à l’aide d’un Line Trace qui surveille le sol situé devant lui. Selon le type de surface trouvée, la vélocité ou hauteur de saut du personnage spécifiée dans son Character Movement component est modifiée.

Il ne restait alors qu’à créer les distributeurs. Ce sont des objets “Alimentables“, qui changent le type de Physical Surface du sol situé directement en dessous d’eux lorsqu’ils reçoivent du courant.

Les boutons, eux, sont des objets “Interactifs” très simples, qui transmettent du courant à une cible lorsqu’ils détectent qu’un cube à été déposé au-dessus d’eux.

Walkthrough complet